Marco: Variable erhöhen

Nabend,

ich komme einfach nicht weiter.
Folgendes Problem:
Ich möchte gerne eine Fordlaufende Nummer in eine While Schleife einbinden.

Hier mein Code:

<?php
$ergebnis=mysql_query("SELECT name1, name2 FROM tabelle1, tabelle2 WHERE tabelle1.pid = tabelle2t.pid ORDER BY name1 DESC");
?>

<table width="100%">

<?php  
while($ausgabe=mysql_fetch_object($ergebnis)){  
  
        echo '<tr>'."\n";  
        echo '<td>'.$ausgabe->name1.'</td>'."\n";  
        echo '<td>'.$ausgabe->name2.'</td>'."\n";  
        echo '</tr>'."\n";  
		  
   }  
?>  
  
</table>

Ergebniss:

user1     user2
user1     user2
user1     user2
user1     user2
usw.

Jetzt möchte ich da gerne noch eine Spalte einfügen, wo sich die Fortlaufenden Nummern befinden.

Ergebniss:

1     user1     user2
2     user1     user2
3     user1     user2
4     user1     user2
usw.

Eine Fortlaufende Nummern mache ich ja zb. so:

$nummer = 1;  
$nummer++;  
echo $nummer;

Aber wie binde ich die Fortlaufende Nummer jetzt in die While Schleife ein?

Vielen Dank für eure Hilfe

Marco

  1. Hallo Marco,

    die einfachste Variante wäre:

    $nummer = 1;  
      
    while($ausgabe=mysql_fetch_object($ergebnis)){  
      
            echo '<tr>'."\n";  
            echo '<td>'.($nummer++).'</td>'."\n";  
            echo '<td>'.$ausgabe->name1.'</td>'."\n";  
            echo '<td>'.$ausgabe->name2.'</td>'."\n";  
            echo '</tr>'."\n";  
      
    }
    

    Gebräuchlicher ist es aber in solchen Fällen auf for zurückzugreifen, wobei im Beispiel $nummer als $i benannt ist:

    for($i=1;$ausgabe=mysql_fetch_object($ergebnis);$i++){  
       echo str_replace(  
          array(0,1,2),  
          array($i,$ausgabe->name1,$ausgabe->name2),  
          "<tr>\n<td>0</td>\n<td>1</td>\n<td>2</td>\n</tr>\n"  
       );  
    }
    

    Gruß aus Berlin!
    eddi

    1. Hi,

      nice, gleich 2 Beispiele. Vielen Dank beide Varianten funktionieren einwandfrei.

      Hab da noch eine Frage:
      echo '<td>'.($nummer++).'</td>'."\n";

      Wieso muss $nummer++ in Klammern gesetzt werden?

      Vielen Dank für deine Hilfe und erklärung.

      Marco

      1. Re:

        echo '<td>'.($nummer++).'</td>'."\n";
        Wieso muss $nummer++ in Klammern gesetzt werden?

        Es muss nicht in Klammern gesetzt werden.

        Gruß aus Berlin!
        eddi