Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]for i while
Forum PHP.pl > Forum > Przedszkole
omxd
Witam,
natrafiłem na kolejny problem.Nie moge sobie wyobrazic jak polaczyc for z while lub przeksztalcic while aby uzyskac zamierzony efekt.Chcialbym wykorzystać for do numeracji kazdego rekordku ktory wyrzuci while.Problem polega na tym ze numeracja pojawia sie w poziomie tzn w kazdym rekordzie.Ponizej kod z ktorym kombinowalem ktos poradzi jak go poprawic?.Z gory dzieki
  1. while($row = mysql_fetch_assoc($sql)){
  2. echo" <tr style='background-color: #f9f3fb;'>";
  3. for($i=1;$i<=$howmuch;++$i)
  4. {
  5. echo "<td width='40'><center>$i</center><br></td>";
  6.  
  7. }
  8.  
  9. echo "<td width='55'><center>$nrid</center></td>
  10. <td width='150'><a href='uploads/user.php?id=31961'><strong>$login</strong></a></td>
  11.  
  12. <td width='100'><center>$dataloginy</center></td>
  13. <td width='100'><center><img src='images/tiny-up.gif' width='8' height='9' /> 42,999</center></td>
  14. <td width='100'><center><img src='images/tiny-down.gif' width='8' height='9' /> 9,887</center></td>
  15. <td width='100'><center>430</center></td>
  16. <td width='100'><center>0</center></td>
  17. <td width='100'><center>1,487,274</center></td> </table>
  18. ";
Wicepsik
przed pętlą while dajesz $i=1; a w pętli zwiększasz o 1 i wyświetlasz
omxd
  1. echo "<table width='70%' border='1' cellspacing='0' cellpadding='2' align='center'>
  2. <tr style='background-color: #f9f3fb;'>";
  3. $i=1;
  4. for($i=1;$i<=$howmuch;++$i)
  5.  
  6. {
  7.  
  8. echo "<td width='40'><center>$i</center><br></td>";
  9. $i=$i+1;
  10.  
  11. }
  12. <td width='70'><center>$nrid</center></td>
  13. <td width='150'><a href='uploads/user.php?id=31961'><strong>$login</strong></a></td>
  14.  
  15. <td width='100'><center>$dataloginy</center></td>
  16. <td width='100'><center>$ile</center></td>
  17. <td width='100'><center><img src='images/tiny-down.gif' width='8' height='9' /> 9,887</center></td>
  18. <td width='100'><center>430</center></td>
  19. <td width='100'><center>0</center></td>
  20. <td width='100'><center>1,487,274</center></td> </table>
  21. ";
  22.  
  23.  
  24.  
  25. }

w ten sposob?wartosci pojawiaja sie tam gdzie powinny ale ciagle 1..
cabana
dodaj sobie licznik do pętli while lub napisz to wszystko w pętli for

while:
  1. $licz = 1;
  2. while ($row = mysql_fetch_assoc($sql)
  3. {
  4. echo $licz; ##wyświetlanie licznika
  5. (twoja część kodu)
  6.  
  7. $licz++;
  8. }


lub wszystko na for:
  1. for ($i=0; $i<mysql_num_rows($sql); $i++)
  2. {
  3. $row = mysql_fetch_assoc($sql);
  4. $licz = $i + 1;
  5.  
  6. echo "<td width='40'><center>$licz</center><br></td>";
  7.  
  8.  
  9.  
  10. echo "<td width='55'><center>$nrid</center></td>
  11. <td width='150'><a href='uploads/user.php?id=31961'><strong>$login</strong></a></td>
  12.  
  13. <td width='100'><center>$dataloginy</center></td>
  14. <td width='100'><center><img src='images/tiny-up.gif' width='8' height='9' /> 42,999</center></td>
  15. <td width='100'><center><img src='images/tiny-down.gif' width='8' height='9' /> 9,887</center></td>
  16. <td width='100'><center>430</center></td>
  17. <td width='100'><center>0</center></td>
  18. <td width='100'><center>1,487,274</center></td> </table>
  19. ";
  20. }
omxd
dzieki wielkie


chcialbym zapytac jeszcze o jedno ,chcialbym aby co rekord zmienialo sie tlo np:
1 zielony
2 czerwony
3 zielony
4 czerwony
ktos moglby poradzic jak to zrobic?smile.gif
Wicepsik
google -> modulo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.