Per Zufall in Datenbank schreiben.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Per Zufall in Datenbank schreiben.

    Hallo,

    habe ein kleines Script erstellt, dass 5 Werte aus einer Datenbank ließt, einen Wert per Zufall auswählt und wieder in die Datenbank schreibt. Diesmal in ein anderes Feld(los). muss dazu sagen, bin ein absoluter php Neuling!

    Jetzt sollen die anderen Werte, die nicht per Zufall ausgewählt werden, in die Felder gew1 - gew4 geschrieben werden. Bei dem Feld gew1 habe ich das geschafft.

    Aber wie schreibe ich jetzt die anderen Werte in die Felder, ohne dass sich die werte wiederholen. Hoffe das war verständlich.

    Wär echt cool, wenn mir jemand helfen würde...

    So sieht mein Code momentan aus:

    PHP-Code:

    <?php
    include'includes/pnAPI.php';
    pnInit();
    include(
    'header.php');
    OpenTable();


    //error_reporting(E_ALL);
    //ini_set('display_errors', TRUE);


    $db_server 'localhost';
    $db_name 'xxx';
    $db_user 'xxx';
    $db_pw 'xxx';
    $db = @mysql_connect($db_server$db_user$db_pw)
        or die (
    'Konnte keine Verbindung zur Datenbank herstellen');
    $db_check = @mysql_select_db($db_name);

    $result = @mysql_query("SELECT * FROM tabelle1 WHERE id='98'");
            
        if (!
    $result)   {
            echo(
    "<p>FEHLER IST AUFGETRETEN: " .mysql_error() . "</p>");
                exit();
        }
    while ( 
    $row mysql_fetch_array($result) )

    {

    $u1 $row[pn_uid];
    $u2 $row[pn_uid1];
    $u3 $row[pn_uid2];
    $u4 $row[pn_uid3];
    $u5 $row[pn_uid4];


    $varvar 'u'.rand(1,5);
    echo 
    "$varvar<br>";
    echo $
    $varvar;


    $los = $$varvar;


    mysql_query("UPDATE tabelle1 SET los='$los' WHERE id='98'")
        or die(
    mysql_error());


    if (
    $los<>$row[pn_uid]){

    mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid]' WHERE id='98'")
        or die(
    mysql_error());

    }else {

    mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid1]' WHERE id='98'")
        or die(
    mysql_error());
    }}



    CloseTable();
    include(
    'footer.php');
    if(
    function_exists('session_write_close')){
    session_write_close();
    }
    ?>
    Zuletzt geändert von fab81; 06.06.2006, 20:20.

  • #2
    Man kann auch mit nur einem UPDATE mehrere Werte in eine Zeile schreiben. Schau mal auf http://dev.mysql.com/doc/refman/5.0/en/update.html

    Kommentar


    • #3
      das kann ich glaub ich so nich machen, hab 5 werte die ich prüfen muss, aber nur vier Felder zum reinschreiben.

      der Wert der per Zufall ausgewählt wurde, soll nicht in eins der 4 felder eingetragen werden.

      Kommentar


      • #4
        Original geschrieben von onemorenerd
        Man kann auch mit nur einem UPDATE mehrere Werte in eine Zeile schreiben. Schau mal auf http://dev.mysql.com/doc/refman/5.0/en/update.html
        Danke, hattest natürlich Recht.. ! Habs jetzt so gelöst:

        PHP-Code:
        if ($los==$row[pn_uid]){

        mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid1]', gew2='$row[pn_uid2]', gew3='$row[pn_uid3]', gew4='$row[pn_uid4]' WHERE 

        id='98'"
        )
            or die(
        mysql_error());

        }else {

        if (
        $los==$row[pn_uid1]){

        mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid]', gew2='$row[pn_uid2]', gew3='$row[pn_uid3]', gew4='$row[pn_uid4]' WHERE 

        id='98'"
        )
            or die(
        mysql_error());

        }else {

        if (
        $los==$row[pn_uid2]){

        mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid1]', gew2='$row[pn_uid]', gew3='$row[pn_uid3]', gew4='$row[pn_uid4]' WHERE 

        id='98'"
        )
            or die(
        mysql_error());

        }else {

        if (
        $los==$row[pn_uid3]){

        mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid1]', gew2='$row[pn_uid2]', gew3='$row[pn_uid]', gew4='$row[pn_uid4]' WHERE 

        id='98'"
        )
            or die(
        mysql_error());

        }else {

        if (
        $los==$row[pn_uid4]){

        mysql_query("UPDATE tabelle1 SET gew1='$row[pn_uid1]', gew2='$row[pn_uid2]', gew3='$row[pn_uid3]', gew4='$row[pn_uid]' WHERE 

        id='98'"
        )
            or die(
        mysql_error());

        }else {}}}}} 

        Kommentar


        • #5
          Re: Per Zufall in Datenbank schreiben.

          Na was für ein Glück, dass du keine 1000 Werte hast, was?
          Wie wärs denn mit sowas?
          PHP-Code:
          $db mysql_connect($db_server$db_user$db_pw)
              or die(
          mysql_error());
          $db_check mysql_select_db($db_name) or die(mysql_error());

          $sql 'SELECT * FROM tabelle1 WHERE id=98';
          $result mysql_query($sql) or die(mysql_error());
          $row mysql_fetch_array($result);

          $los rand(04);

          $u1 $row[$los];
          unset(
          $row[$los]);
          $u2 array_shift($row);
          $u3 array_shift($row);
          $u4 array_shift($row);

          $sql "UPDATE tabelle1 SET 
                     gew1 = '
          $u1',
                     gew2 = '
          $u2',
                     gew3 = '
          $u3',
                     gew4 = '
          $u4',
                     WHERE id = 98"
          ;
          $result mysql_query() or die(mysql_error().'<hr>'.$sql); 

          Kommentar

          Lädt...
          X