Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie obrazków w kolumnach - błąd
erafaelmi
post 22.06.2007, 05:51:44
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 8.03.2007

Ostrzeżenie: (0%)
-----


Cześć. Mam takie pytanie związane z poniższym kodem, który służy do wyświetlania miniaturek obrazków w 4 kolumnach.
Wyświetlane są prawidłowo lecz pojawia się jeden błąd: Notice: Undefined variable: i in ... line 132

Ta linia dotyczy $i++; Dlatego co należało by w tym przypadku zrobić.
Pracuje to na PHP 5

  1. <?php 
  2.  
  3. $query_r = "SELECT * FROM zdjecia";
  4. $r = mysql_query($query_r, $polacz) or die(mysql_error());
  5. $row_r = mysql_fetch_assoc($r);
  6.  
  7.  
  8. echo '<table border=0>';
  9. echo '<tr><td colspan=2></td></tr>';
  10.  
  11. while($row_r = mysql_fetch_assoc($r))
  12. {
  13. $i++;
  14. if($i==1){print"<tr>";}
  15.  
  16. echo '<td>' . $row_r['nazwa_zdjecia'] . '</td>';
  17.  
  18. if($i==4){print"</tr>";$i=0;}
  19.  
  20. }
  21.  
  22. if($i==1){print"<td></td></tr>";}
  23.  
  24. print"</table>";
  25. ?>



ewentualnie znalazłem inny przykład ale korzysta on z pliku txt w którym wpisane są nazwy obrazków, czy można byłoby go przerobić aby korzystał z bazy danych

  1. <table align="center">
  2. <tr><td valign="top">
  3.  
  4.  
  5. <?php
  6.  
  7. $ile = 3; //ilość zdjęć w jednym wierszu tabeli
  8. $fol = "./fotosy"; //folder ze zdjęciami
  9. $i = 1;
  10. $dane = @file($fol."/dane.txt");
  11.  
  12. if(is_array($dane))
  13. foreach($dane as $v) {
  14.  $d = explode("|", chop($v));
  15.  echo 
  16. "<img src="$fol/$d[3]" width="$d[4]" height="$d[5]">".
  17. ($i == $ile ? "</td></tr><tr><td valign="top">" : "</td><td valign="top">")."n";
  18.  $i < $ile ? $i++ : $i = 1;
  19. }
  20.  
  21. ?>
  22.  
  23.  
  24. </td></tr>
  25. </table>
Go to the top of the page
+Quote Post
abc667
post 22.06.2007, 06:09:37
Post #2





Grupa: Zarejestrowani
Postów: 229
Pomógł: 0
Dołączył: 29.05.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. ...
  3. echo '<table border=0>';
  4. echo '<tr><td colspan=2></td></tr>';
  5.  
  6.  
  7. $i;
  8.  
  9. while($row_r = mysql_fetch_assoc($r))
  10. {
  11. $i++;
  12. if($i==1){print"<tr>";}
  13.  
  14. echo '<td>' . $row_r['nazwa_zdjecia'] . '</td>';
  15.  
  16. if($i==4){print"</tr>";$i=0;}
  17.  
  18. }
  19.  
  20. ...
  21. ?>
Go to the top of the page
+Quote Post
erafaelmi
post 22.06.2007, 06:55:42
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 8.03.2007

Ostrzeżenie: (0%)
-----


Również wcześniej próbowałem z wpisaniem $i; i wyświetlał mi nadal błąd. Natomiast spróbowałem, nie wiem czy to prawidłowo ale błąd nie pojawia się jak $i przypiszę wartość pustą $i =''; czyli tak:


  1. <?php
  2. ...
  3.  
  4. echo '<tr><td colspan=2></td></tr>';
  5. $i ='';
  6.  
  7. while($row_r = mysql_fetch_assoc($r))
  8. {
  9. $i++;
  10.  
  11. ...
  12. ?>
Go to the top of the page
+Quote Post
Nightmare
post 22.06.2007, 10:24:52
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 21.05.2007

Ostrzeżenie: (0%)
-----


Tak jest prawidłowo ponieważ błąd mówi o tym, że nie została zdefiniowana zmienna $i więc nie możesz jej postinkrementować w pętli.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 11:49