NoName: Durchnummerieren

Hi,

Ich habe eine MySQL Abfrage gestartet, wo ich mit einer WHILE Schleife die "Ergebnisse" in einer Tabelle auslesen lasse. Die Schleife ist so, dass sie mir jede Spalte durchnummeriert.

Wie kann man Zeilen durchnummerieren lassen:

Mein Code:

$l = '0';  
$i = '0';  
while($row = mysql_fetch_object($result))  
{  
$i += '1';  
$l += '1';  
echo "  
<table>  
<tr>  
<td width='60'>$i</td>  
<td width='60'><input type='text' value=\"$row->AD\"/></td>  
<td width=\"25\"><input type=\"checkbox\" name=\"$row->AD$l\" /></td>  
<td width=\"25\"><input type=\"checkbox\" name=\"$row->AD$l\" /></td>  
<td width=\"25\"><input type=\"checkbox\" name=\"$row->AD$l\" /></td>  
<td width=\"25\"><input type=\"checkbox\" name=\"$row->AD$l\" /></td>  
</tr>  
</table>  
";  
}  

Das Ergebnis, sieht ja dann so aus: Beispiel: AD = XYZ
Erste Zeile:
name=XYZ1
name=XYZ1
name=XYZ1
name=XYZ1

Zweite Zeile:
name=XYZ2
name=XYZ2
name=XYZ2
name=XYZ2

Aber ich möchte es so haben:
Erste Zeile:
name=XYZ1
name=XYZ2
name=XYZ3
name=XYZ4

Zweite Zeile:
name=XYZ1
name=XYZ2
name=XYZ3
name=XYZ4

Viele Grüße und Danke
NoName

  1. Hallo NoName,

    ich würde das zB mit dem ++-Operator(?) lösen (schematisch):

      
    $i = 0; // Ist eine Zahl und kein String  
    $l = 0; // Ist eine Zahl und kein String  
    while(<Bedingung>) {  
       echo $i.". Zeile<br>\n";  
       echo $l++."<br>\n";  
       echo $l++."<br>\n";  
       $i++;  
    }  
    
    

    Mit freundlichem Gruß
    Micha

    1. Hallo Micha,

      ich würde das zB mit dem ++-Operator(?) lösen (schematisch):

      $i = 0; // Ist eine Zahl und kein String
      $l = 0; // Ist eine Zahl und kein String
      while(<Bedingung>) {
         echo $i.". Zeile<br>\n";
         echo $l++."<br>\n";
         echo $l++."<br>\n";
         $i++;
      }

        
      Das ergebnis ist ja dann:  
        
      1  
      1  
      1  
        
      2  
      2  
      2  
        
      3  
      3  
      3  
        
      ich meinte aber sowas:  
        
      1  
      2  
      3  
        
      1  
      2  
      3  
        
      1  
      2  
      3  
        
      Viele Grüße  
        
        
      
      
      1. Hallo NoName,

        dann starte gleich bei eins und setze l wieder auf eins am Ende.

          
        <?php  
          
        $i = 1; // Ist eine Zahl und kein String  
        $l = 1; // Ist eine Zahl und kein String  
        while($i<10) {  
           echo $i.". Zeile<br>\n";  
           echo $l++."<br>\n";  
           echo $l++."<br>\n";  
           echo $l++."<br><br>\n";  
           $i++;  
           $l=1;  
        }
        

        Mit freundlichem Gruß
        Micha

        1. Hallo,

          habe gerade den Code ausprobiert, funktioniert leider nicht.

          ausgabe ist dann immer:
          Erste Zeile:
          1. XYZ1 XYZ1 XYZ1

          Zweite Zeile:
          2. XYZ2 XYZ2 XYZ2

          Dritte Zeile:
          3. XYZ3 XYZ3 XYZ3

          Ich meinte sowas, hatte mich vorhin mit den Zeilen und Spalten vertan:

          Erste Zeile:
          1. XYZ1 XYZ2 XYZ3

          Zweite Zeile:
          2. XYZ1 XYZ2 XYZ3

          Dritte Zeile:
          3. XYZ1 XYZ2 XYZ3

          Den Zähler wieder zurückzusetzen ist eigentlich eine Gute Idee, aber erst dann, wenn er ja die Zeilen bzw. die Spalten richtig nummeriert..

          Viele Grüße

          1. Hallo NoName,

            ich erhalte bei meinem Code keine XYZs. Die Ausgabe sieht so aus:

            1. Zeile
            1
            2
            3

            2. Zeile
            1
            2
            3

            3. Zeile
            1
            2
            3

            4. Zeile
            1
            2
            3

            5. Zeile
            1
            2
            3

            6. Zeile
            1
            2
            3

            7. Zeile
            1
            2
            3

            8. Zeile
            1
            2
            3

            9. Zeile
            1
            2
            3

            Das scheint auch das zu sein, was Du wolltest.

            Mit freundlichem Gruß
            Micha

  2. Hi,
    so wie das aussieht, hast Du doch eine feste Tabellenstruktur, also immer 4 Zeilen!?! oder täuscht dein Beispiel???

    Wenn nicht, dann setze doch einfach "manuell" die Nummerierung.

    Gruß
    Tunnel85

    1. Hallo,

      nein es sind insgesamt über 200 Zeilen. Es ist immer so, dass 15 Spalten pro Zeile sind.

      Und ich möchte halt die letzten 12 Spalten automatisch durchnummeriert haben.

      Ich kriege es einfach nicht hin, die WHILE Schleife so zu konstruieren, dass jede Zeile eine fortlaufende Nummer hat, das funktioniert auch. Zusätzlich sollen die letzten 12 Spalten in der Zeile auch "automatisch" durchgehend nummeriert werden.

      Gruß
      Cemil

      Hi,
      so wie das aussieht, hast Du doch eine feste Tabellenstruktur, also immer 4 Zeilen!?! oder täuscht dein Beispiel???

      Wenn nicht, dann setze doch einfach "manuell" die Nummerierung.

      Gruß
      Tunnel85

      1. Ich kriege es einfach nicht hin, die WHILE Schleife so zu konstruieren, dass jede Zeile eine fortlaufende Nummer hat, das funktioniert auch. Zusätzlich sollen die letzten 12 Spalten in der Zeile auch "automatisch" durchgehend nummeriert werden.

        du hast 2 zähler und nur eine schleife - wie soll das funktionieren dass die beiden werte unterschiedlich laufen?

        und nochmal die frage: warum zur hölle nummerierst du das nicht einfach per hand - das datenbankobjekt hat ohnehin nur eine dimension mit einer bekannten anzahl an feldern - was willst du bitte erreichen?