while - Schleife --> Zählen und dann neue Zeile

jc-freak

Mitglied
Ich habe folgenden Kram gecodet ...
soweit so wenig ;) ... ja ne bin wieder Anfänger, weil ich mich sehr distanziert hatte vom Programmieren ...

Aber nun das Hauptsächliche

PHP:
		  		<?
					$result = mysql_query("SELECT Vorname,Name FROM $tabelle ORDER BY Name,Vorname");
  					echo '<table width="80" height="90" border="0">';
					echo '<tr>';
					while ($spieler = mysql_fetch_row($result))
                	         {
							 echo '<td>';
      								echo $spieler[0];
									echo '&nbsp;';
									echo $spieler[1];
									echo '<br>';
							 echo '</td>';
 					}
					echo '</tr>';
        			echo '</table>';
				?>

So und ich möchte nun das er nach 5 maligem Abfragen (also nach 5 mal while) eine neue Zeile beginnt ...
kriegs irgendwie net hin ... :( :mad: :(
 
Code:
$iPos = 1;
while ($a == $b) {
    // [..]
    if ($iPos % 5 == 0) {
        printf("</tr><tr>\r\n");
    }
    $iPos++;
}
 
PHP:
		  		<?
					$result = mysql_query("SELECT Vorname,Name FROM $tabelle ORDER BY Name,Vorname");
  					echo '<table width="80" height="90" border="0">';
					
                                        $i=0;
					while ($spieler = mysql_fetch_row($result))
                	                {
                                         if($i==0) { echo '<tr>'; }
							 echo '<td>';
      								echo $spieler[0];
									echo '&nbsp;';
									echo $spieler[1];
									echo '<br>';
							 echo '</td>';
                                                          $i++;
                                          if($i==4) {echo '</tr>'; $i=0;}
 					}
					
        			echo '</table>';
				?>
 
Fabian & tefla, das halte ich für leicht umständlich...

Versuchs mal so:
PHP:
<?
$result = mysql_query("SELECT Vorname,Name FROM $tabelle ORDER BY Name,Vorname");
echo '<table width="80" height="90" border="0">';
echo '<tr>';
for($i=0;$spieler=mysql_fetch_row($result);$i++)
{
  echo '<td>';
  echo $spieler[0];
  echo '&nbsp;';
  echo $spieler[1];
  echo '<br>';
  echo '</td>';
  if ($i % 5 == 0)
  {
    echo '</tr><tr>';
  }
}
echo '</tr>';
echo '</table>';
?>

Also so würde ich das machen...
 
Zuletzt bearbeitet:
ok fast, es geht soweit nur durch den code setzt er nun einen einzelnen Namen an die Spitze ...
das heißt ganz oben ist nur einer und nicht 5

Name
Name Name Name Name Name
Name Name Name Name Name
Name Name Name Name Name
 
Oh, verdammt, habe ner Variable $i keinen Startwert zugewiesen :(

PHP:
for($i=0;$spieler=mysql_fetch_row($result);$i++)
{

...So müsste es heissen.
 
hmm ne das hatte ich auch schon geändert ...
ich habe trotzdem immer noch einen namen oben und dann kommen die anderen in einer neuen zeile ... :(
 
ajaja *ROFL*
wie ich so n kleinen kram hasse ;)
immer diese kleinen fehler / bugs sind schuld

wie schon gesagt, so gehts:

PHP:
for($i=1;$spieler=mysql_fetch_row($result);$i++)


thx
 
Zuletzt bearbeitet:
Zurück