Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit einer FOR Schleife

Einklappen

Neue Werbung 2019

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

  • Probleme mit einer FOR Schleife

    Hallo,

    ich habe ein Problem mit meiner Forschleife.
    Meiun Script soll bestimmt Daten aus der Db auslesen und solange auslesen, bis keine Daten mehr in der DB stehen.
    Aber mein Script macht nichts dergleichen.
    Es wird höchsten ein Beitrag angezeigt, aber der steht nicht mal in meiner DB.
    Meine Frage ist also, wo ich in der Forschleife meinen Fehler gemacht habe?

    PHP-Code:
    <?php

    $sql 
    ="SELECT id, name FROM katigorien";

    $result mysql_query($sql) or die(mysql_error().'
    Query: '
    .$sql);

    while (
    $kat mysql_fetch_array($result)) {

        
    $id $kat["id"];

        
    $name $kat["name"];

        }
    echo
    '<form action="new_save.php" method="post">
    <center>
        <table class="katigorien">
            <tr>
                <td colspan="2"><center>[b]Katigorien[/b]</center></td>
            </tr>
            <tr>
                <td width="85%">Name: </td>
            </tr>
        </table>
        <table class="katigorien">'
    ;
    for (
    $i 0$i count($id); $i++)
    {
    echo 
    '
        <tr>'
    ;if($i <= 9)
        {
        echo
    '    <td>'.$i.' <input type="text" size="93" value="'.$name[$i].'" name="katigorien_'.$id[$i].'" class="katigorien"></td>';
        }
    else
        {
        echo
    '    <td>'.$i.' <input type="text" size="93" value="'.$name[$i].'" name="katigorien_'.$id[$i].'" class="katigorien"></td>';
        }}echo
    '
        </tr>
    </table>
    '
    ;
    ?>

  • #2
    Schreibe diese While-Schleife
    NICHT so:
    Code:
    while ($kat = mysql_fetch_array($result)) {
    
       $id = $kat["id"];
    
       $name = $kat["name"];
    
       }
    sondern so ($id und $name in ein Array schaufeln!):
    Code:
    while ($kat = mysql_fetch_array($result)) {
    
       $id[] = $kat["id"];
    
       $name[] = $kat["name"];
    
       }
    ~dilemma~

    Kommentar


    • #3
      klar danke sory, ist noch ein bisschen früh

      Kommentar


      • #4
        jetzt bekomme ich folgende felhermeldung:

        Notice: Undefined offset: 5 in /home/malte/Webseiten/Jugend/forum/function/katigorien/delet.php on line 24

        Notice: Undefined offset: 5 in /home/malte/Webseiten/Jugend/forum/function/katigorien/delet.php on line 24

        Und zeile 24:

        PHP-Code:
        <?php
            
        echo'    <td>'.$i.' <input type="text" size="93" value="'.$name[$i].'" name="katigorien_'.$id[$i].'" class="katigorien"></td>';
        ?>
        Was habe ich jetzt wieder Falsch gemacht?

        Kommentar


        • #5
          wieso gehst du überhaupt den umweg über das array?
          du kannst doch direkt innerhalb der while-schleife den kram ausgeben...

          also so (ungetestet):
          PHP-Code:
          <?php

          echo'<form action="new_save.php" method="post">
          <center>
             <table class="katigorien">
                <tr>
                   <td colspan="2"><center>[b]Katigorien[/b]</center></td>
                </tr>
                <tr>
                   <td width="85%">Name: </td>
                </tr>
             </table>
             <table class="katigorien">'
          ;

          $sql ="SELECT id, name FROM katigorien";

          $result mysql_query($sql) or die(mysql_error().'
          Query: '
          .$sql);

          while (
          $kat mysql_fetch_array($result)) {

             
          $id $kat["id"];

             
          $name $kat["name"];

              echo 
          '
                 <tr>'
          ;if($i <= 9)
                 {
                 echo
          '   <td>'.$i.'   <input type="text" size="93" value="'.$name[$i].'" name="katigorien_'.$id[$i].'" class="katigorien"></td>';
                 }
              else
                 {
                 echo
          '   <td>'.$i.' <input type="text" size="93" value="'.$name[$i].'" name="katigorien_'.$id[$i].'" class="katigorien"></td>';
                 }

             }
             
             
          echo
          '
             </tr>
          </table>
          '
          ;
          ?>

          Kommentar

          Lädt...
          X