Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Elementy tr/td w pętli
martinii007
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 15.12.2011

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


Otóż mam następujący problem:

Chciałbym aby menu nad któym pracuję miało wygląd tabeli: i na przemian wiersze mają się zmieniać, raz czarny, raz biały.

  1.  
  2. <tr class="odd">
  3. <td>
  4. <span>Lobster Rolls with house made old bay potato chips</span>
  5. <p class="lang1">Lobster Rolls with house made old bay potato chips</p>
  6. <p class="lang2">Lobster Rolls with house made old bay potato chips</p>
  7. </td>
  8. <td class="price">$12.79</td>
  9. </tr>
  10. <tr>
  11. <td>
  12. <span>Lobster Rolls with house made old bay potato chips</span>
  13. <p class="lang1">Lobster Rolls with house made old bay potato chips</p>
  14. <p class="lang2">Lobster Rolls with house made old bay potato chips</p>
  15. </td>
  16. <td class="price">$12.79</td>
  17. </tr>
  18. <tr class="odd">
  19. <td>
  20. <span>Lobster Rolls with house made old bay potato chips</span>
  21. <p class="lang1">Lobster Rolls with house made old bay potato chips</p>
  22. <p class="lang2">Lobster Rolls with house made old bay potato chips</p>
  23. </td>
  24. <td class="price">$12.79</td>
  25. </tr>
  26. <tr>
  27. <td>
  28. <span>Lobster Rolls with house made old bay potato chips</span>
  29. <p class="lang1">Lobster Rolls with house made old bay potato chips</p>
  30. <p class="lang2">Lobster Rolls with house made old bay potato chips</p>
  31. </td>
  32. <td class="price">$12.79</td>
  33. </tr>
  34.  






  1. $menu = DatabaseManager::selectBySQL("SELECT * FROM Menu where id>=0 and id<=10"); //10 dań
  2. foreach($menu as $pozycje_menu) {
  3.  
  4. for($id=$pozycje_menu['id']; $id < 9; ++$id)
  5. {
  6.  
  7. $odd= "class=\"odd\"";
  8. $empty="";
  9.  
  10. echo '<tr '.($id & 1 ? $odd : $empty).'>';
  11.  
  12. <td>
  13. <span>'.$pozycje_menu['danie_1'].'</span>
  14. <p class="lang1">'.$pozycje_menu['opis_dania_1'].'</p>
  15. <p class="lang2">'.$pozycje_menu['opis_dania_2'].'</p>
  16. </td>
  17. <td class="price">'.$pozycje_menu['cena'].'</td>
  18. </tr>
  19. ';}}



Wszystko wyświetla się OK tylko, że są powielone rekordy. Potrzebuję jedynie "zlikwidować" te powtarzające się elementy, bo reszta wyświetla się prawidłowo.

Ten post edytował martinii007 2.04.2014, 10:05:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

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


Wyrzuć tą pętle for w foreach, oprzyj tylko na jednej for. Odd i even oprzyj na zmiennej w tej pętli, a nie id pozycji menu.

  1. for($i=0;$i<count($menu);$i++){
  2. $odd=$i%2; //tu odd lub nie
  3. $menu[$i]['danie_1']; //w tej zmiennej będziesz mieć danie_1, analogicznie dla pozostałych
  4. }


Ten post edytował trueblue 2.04.2014, 10:46:48
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 15:44