do whileschleife in do whileschleife vergleicht nicht richtig

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

  • do whileschleife in do whileschleife vergleicht nicht richtig

    Es handelt sich sozusagen um einen Suchmachineneintrag. Firmen können bei diversen Rubriken diverse Produkte auswählen und zuletzt ihre Firmendaten eingeben. Die Produkte können mittels checkboxen ausgewählt werden. Nun zum Code:

    Der Code soll bewirken, dass wenn das jeweilige Produkt bereits ausgewählt ist die checkbox aktiviert sein soll und ggf. wieder abgewählt werden.
    PHP-Code:
    <form action="anm-info.php" method="post">
    <?
      $i==0;
      while($produkt = mysql_fetch_array($produktresult)){
      
    ?>
    <input name="produktnr[<? echo $i;?>]" type="checkbox" value="<? echo $produkt["produktnr"]; ?>" <?
        while($u_prod_nr=mysql_fetch_array($u_prod_result)){
          if($u_prod_nr["produktnr"]==$produkt["produktnr"]){
          
            echo " checked";
          }
        }
    ?> /> <? echo $produkt["produktname"];?><br>
    <?
        $i++;
      }
    ?>
    <input name="input" type="submit" value="ok"/>
    <input type="hidden" name="session_id" value="<? echo $session_id;?>"/>
    <input type="hidden" name="kat_nr" value="<? echo $kat_nr;?>"/>
    </form>
    Es ist immer nur die erste checkbox aktiviert

  • #2
    Informiere dich mal über JOINs.

    Kommentar


    • #3
      was soll ich denn hier mit einer verschachtelten abfrage? würde mich sehr über ein kompaktes beispiel freuen.

      ich muss daten aus der statischen tabelle "produkte" lesen und diese mit den (noch) temporären einträgen aus u_produkte vergleichen. gibt es den soll die checkbox aktiv sein, sonst nicht. bestätigt der eingebende dann alle daten werden sie mit einer ID versehen und bleiben, tut er dies nicht wird alles mit der aktuellen session_id wieder aus der DB gekillt.

      Kommentar


      • #4
        Original geschrieben von c-braham
        was soll ich denn hier mit einer verschachtelten abfrage?
        Die verschachtelte Schleife ersetzen?!

        ich muss daten aus der statischen tabelle "produkte" lesen und diese mit den (noch) temporären einträgen aus u_produkte vergleichen.
        Und das geht in einem Rutsch mit JOIN!

        Kommentar


        • #5
          Das hier verhält sich doch genau wie ein JOIN, oder?

          PHP-Code:
          <form action="anm-info.php" method="post">
          <?
          $i=0;
            while($produkt = mysql_fetch_array($produktresult)){
              $thisprodukt=$produkt["produktnr"]; 
          ?>
          <input name="produktnr<? echo "[$i]";?>" type="checkbox" value="<? echo $produkt["produktnr"]; ?>" <?
             if(mysql_query("select * from u_produkte where uid='$session_id', produktnr = '$thisprodukt' ")){
                  echo " checked";
             }
          ?> /> <? echo $produkt["produktname"];?><br>
          <?
              $i++;
            }
          ?>

          Kommentar


          • #6
            Ka, ich gucks mir gar nicht so genau an, aber es ist nun mal kein Join, und darum gehts ja...

            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