mehrere verschiedene updates auf einmal

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

  • mehrere verschiedene updates auf einmal

    hi...
    ich bräuchte mal ne kleine hilfe...
    ich möchte bei einem wert folgendes machen...
    bei user A den wert X auf 0 setzen und gleichzeitig bei dem ausgewählten user B den wert x auf 1 setzen...
    das ganze natürlich in ner datenbank...
    (user B kommt über die variable $montag und user A wird gefunden durch den bisherigen wert "besteller", der auf 1 steht.)

    hier mal mein code...
    PHP-Code:
    $aendern "UPDATE username SET besteller=1 WHERE name='$montag', besteller=0 WHERE besteller=1";
    $sql_hinzufuegen mysql_query($aendern); 
    irgendwie klappt das nicht so wie es soll....
    könnte mir da jemand nen denkanstoß, ne hilfe oder nen tipp geben?!

    thXxx im voraus... greetz
    Scorp

  • #2
    ich seh gerade, möglich ist es, wenn man beides einzeln nacheinander schreibt...
    aber das ist ziemlich umständlich :/
    gibts da nichts kompakteres? zumal ich das für die jeden wochentag mache... und das dann so aussieht...
    PHP-Code:
    $aendern_1a "UPDATE username SET besteller=0 WHERE besteller=1";
    $sql_hinzufuegen mysql_query($aendern_1a);
    $aendern_1b "UPDATE username SET besteller='1' WHERE name='$montag'";
    $sql_hinzufuegen mysql_query($aendern_1b);

    $aendern_2a "UPDATE username SET besteller=0 WHERE besteller=2";
    $sql_hinzufuegen mysql_query($aendern_2a);
    $aendern_2b "UPDATE username SET besteller='2' WHERE name='$dienstag'";
    $sql_hinzufuegen mysql_query($aendern_2b);

    $aendern_3a "UPDATE username SET besteller=0 WHERE besteller=3";
    $sql_hinzufuegen mysql_query($aendern_3a);
    $aendern_3b "UPDATE username SET besteller='3' WHERE name='$mittwoch'";
    $sql_hinzufuegen mysql_query($aendern_3b);

    $aendern_4a "UPDATE username SET besteller=0 WHERE besteller=4";
    $sql_hinzufuegen mysql_query($aendern_4a);
    $aendern_4b "UPDATE username SET besteller='4' WHERE name='$donnerstag'";
    $sql_hinzufuegen mysql_query($aendern_4b);

    $aendern_5a "UPDATE username SET besteller=0 WHERE besteller=5";
    $sql_hinzufuegen mysql_query($aendern_5a);
    $aendern_5b "UPDATE username SET besteller='5' WHERE name='$freitag'";
    $sql_hinzufuegen mysql_query($aendern_5b); 
    *ouch*
    Zuletzt geändert von DJScorpion; 01.10.2007, 13:59.

    Kommentar


    • #3
      Re: mehrere verschiedene updates auf einmal

      Original geschrieben von DJScorpion

      PHP-Code:
      $aendern "UPDATE username SET besteller=1 WHERE name='$montag', besteller=0 WHERE besteller=1";
      $sql_hinzufuegen mysql_query($aendern); 
      update wird von links nach rechts "abgearbeitet". (mal davon ab, dass ich gerade gar nicht weiß, ob das hier mit zweimal where funzt).

      also was würde deine query hier machen?

      im ersten schritt bestseller auf eins setzen, wo name gleich $montag ist.
      dann setzt du alle bestseller auf 0, wo bestseller auf eins ist. somit dann doch auch den, den du eben erst auf eins gesetzt hast, oder??

      also wenn das überhaupt so klappen soll, dann erst den auf null setzen, der eins ist, und dann den auf eins setzen der $montag heißt...

      (wo sind die sql-cracks hier?)
      **********
      arkos
      **********

      Kommentar


      • #4
        also logisch ist es, was du sagst,... allerdings funktionierts nicht,...warscheinlich wie du gesagt hast, wegen dem 2maligen WHERE...aber is nur ne vermutung... ich kenn mich da nicht so aus!

        ps: ja wo sind se... die (My)SQL-hyper-freaks?

        Kommentar


        • #5
          versuch mal

          WHERE $bla1 AND $bla2

          Kommentar


          • #6
            aber sinds nich zwei unterschiedliche WHERE's ?

            Kommentar


            • #7
              Vielleicht sowas?
              Hab kein Plan ob's funktioniert...
              PHP-Code:
              UPDATE username SET besteller 0 WHERE besteller IN (12345);
              UPDATE username SET besteller =
              CASE 
              name
               WHEN 
              "$montagTHEN 1
               WHEN 
              "$dienstagTHEN 2
               WHEN 
              "$mittwochTHEN 3
               WHEN 
              "$donnerstagTHEN 4
               WHEN 
              "$freitagTHEN 5
              END WHERE name IN 
              ("$montag""$dienstag""$mittwoch""$donnerstag""$freitag"); 

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar

              Lädt...
              X