Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pętla w pętli / terminarz
Forum PHP.pl > Forum > Przedszkole
xeno
Witajcie,
Mam zrobiony taki oto terminarz:

I chciałbym, aby każdy dzień był w osobnej tabeli (coś jak poniżej):


Ktoś nasunie mi jakiś pomysł? Oto kod:
  1. echo "<center><table cellpadding=\"2\" border=0 rules=\"rows\">";
  2. echo "<tr><td><b>Termin spotkania</b></td><td><b>Nazwa firmy</b></td><td><b>Imię klienta</b></td><td><b>Nazwisko klienta<b></td><td><b>Rejon<b></td><td><b>Data
  3. Umówienia</b></td><td><b>Akcje</b></td></tr>";
  4. while($r = mysql_fetch_assoc($ilezakonczonych_zapytanie)){
  5. $id_klienta2 = $r['id_klienta'];
  6. $imie_klienta = mysql_query("SELECT * FROM customers WHERE handlowiec_id = '$idh' AND klient_id='$id_klienta2'");
  7. while($r2 = mysql_fetch_assoc($imie_klienta)){
  8. echo "<tr>";
  9. echo "<td width=17%>"; if($r['zakonczone'] == 1) echo "<s>".$r['data_spotkania'].", ".$r['godzina_spotkania']."</s>"; else echo $r['data_spotkania'].", ".$r['godzina_spotkania']."</td>";
  10. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['nazwa_firmy']."</s>"; else echo $r2['nazwa_firmy']."</td>";
  11. echo "<td width=12%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['imie_klienta']."</s>"; else echo $r2['imie_klienta']."</td>";
  12. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['nazwisko_klienta']."</s>"; else echo $r2['nazwisko_klienta']."</td>";
  13. echo "<td width=12%>"; if($r['zakonczone'] == 1) echo "<s>".$r['rejon']."</s>"; else echo $r['rejon']."</td>";
  14. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r['data_umowienia']."</s>"; else echo $r['data_umowienia']."</td>";
  15. echo "<td width=10%>";
  16. if($r['zakonczone'] == 0) echo "<a href=\"terminarz.php?a=deact&id={$r['id_klienta']}\"><img src=\"style/deaktywuj.jpg\" width=32%></a>";
  17. else echo "<a href=\"terminarz.php?spotkania=aktywne&amp;a=act&amp;id={$r['id_klienta']}\"><img src=\"style/aktywuj.jpg\" width=32%></a>";
  18. echo "<a href=\"terminarz.php?spotkania=aktywne&amp;a=edit&amp;id={$r['id_klienta']}\"><img src=\"style/edit.png\" width=30%></a>
  19. <a href=\"terminarz.php?spotkania=aktywne&amp;a=del&amp;id={$r['id_klienta']}\"><img src=\"style/delete.png\" width=30%></a>";
  20. echo "</td>";
  21. echo "</tr>";
  22. } }
  23. echo "</table> <br><img src=\"style/delete.png\" align=\"middle\"> - Usuń spotkanie <img src=\"style/edit.png\" align=\"middle\"> - Edytuj spotkanie <img src=
  24. \"style/aktywuj.jpg\" align=\"middle\"> - Aktywuj spotkanie</center>";
  25. } }
nospor
Zapisujesz date ostatniego rekordu, sprawdzasz aktualny date aktualnego rekordu z datą ostatniego rekordu. Jak sie roznią, sru nowa tabela.
xeno
Cytat(nospor @ 24.01.2015, 12:58:10 ) *
Zapisujesz date ostatniego rekordu


Ale, że jak?
nospor
Normalnie.

$ostatniaData = $r2['POLE_Z_DATA']; //to ma byc na koncu petli.

A na poczatku petli:

if ($r2['POLE_Z_DATA'] != $ostatniaData) SRU NOWA TABELA I ZAMYKASZ STARA
xeno
Nuthin, jak daje echo to coś tam wyświetla, bez tego nic
  1. echo "<center><table cellpadding=\"2\" border=0 rules=\"rows\">";
  2. echo "<tr><td><b>Termin spotkania</b></td><td><b>Nazwa firmy</b></td><td><b>Imię klienta</b></td><td><b>Nazwisko klienta<b></td><td><b>Rejon<b></td><td><b>Data
  3. Umówienia</b></td><td><b>Akcje</b></td></tr>";
  4. while($r = mysql_fetch_assoc($ilezakonczonych_zapytanie)) {
  5. if ($r['data_spotkania'] != $ostatniaData) {
  6. $id_klienta2 = $r['id_klienta'];
  7. $imie_klienta = mysql_query("SELECT * FROM customers WHERE handlowiec_id = '$idh' AND klient_id='$id_klienta2'");
  8. while($r2 = mysql_fetch_assoc($imie_klienta)){
  9. echo "<tr>";
  10. echo "<td width=17%>"; if($r['zakonczone'] == 1) echo "<s>".$r['data_spotkania'].", ".$r['godzina_spotkania']."</s>"; else echo $r['data_spotkania'].", ".$r
  11.  
  12. ['godzina_spotkania']."</td>";
  13. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['nazwa_firmy']."</s>"; else echo $r2['nazwa_firmy']."</td>";
  14. echo "<td width=12%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['imie_klienta']."</s>"; else echo $r2['imie_klienta']."</td>";
  15. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['nazwisko_klienta']."</s>"; else echo $r2['nazwisko_klienta']."</td>";
  16. echo "<td width=12%>"; if($r['zakonczone'] == 1) echo "<s>".$r['rejon']."</s>"; else echo $r['rejon']."</td>";
  17. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r['data_umowienia']."</s>"; else echo $r['data_umowienia']."</td>";
  18. echo "<td width=10%>";
  19. if($r['zakonczone'] == 0) echo "<a href=\"terminarz.php?a=deact&id={$r['id_klienta']}\"><img src=\"style/deaktywuj.jpg\" width=32%></a>";
  20. else echo "<a href=\"terminarz.php?spotkania=aktywne&amp;a=act&amp;id={$r['id_klienta']}\"><img src=\"style/aktywuj.jpg\" width=32%></a>";
  21. echo "<a href=\"terminarz.php?spotkania=aktywne&amp;a=edit&amp;id={$r['id_klienta']}\"><img src=\"style/edit.png\" width=30%></a>
  22. <a href=\"terminarz.php?spotkania=aktywne&amp;a=del&amp;id={$r['id_klienta']}\"><img src=\"style/delete.png\" width=30%></a>";
  23. echo "</td>";
  24. echo "</tr>"; }
  25. $ostatniaData = $r['data_spotkania'];
  26.  
  27. } }
nospor
Rekordy masz wyswietlac zawsze, bez warunkowo.

Warunek ma sluzyc tylko temu, by zamknac atkualną TABLE i otworzyc kolejną TABLE. TABLE, masz budować w petli a nie poza nią.
xeno
Działa w 90%, tylko wyświetla mi po jednym rekordzie z danej daty
nospor
No to widac cos napsules... niestety nie podales kodu, a wrozką nie jestem.
xeno
Fck, zapomniałem dokleić
  1. while($r = mysql_fetch_assoc($ilezakonczonych_zapytanie)) {
  2. if ($r['data_spotkania'] != $ostatniaData) {
  3. echo "<center><table cellpadding=\"2\" border=0 rules=\"rows\">";
  4. echo "<h2>".$r['data_spotkania']."</h2>";
  5. echo "<tr><td><b>Termin spotkania</b></td><td><b>Nazwa firmy</b></td><td><b>Imię klienta</b></td><td><b>Nazwisko klienta<b></td><td><b>Rejon<b></td><td><b>Data
  6. Umówienia</b></td><td><b>Akcje</b></td></tr>";
  7. $id_klienta2 = $r['id_klienta'];
  8. $imie_klienta = mysql_query("SELECT * FROM customers WHERE handlowiec_id = '$idh' AND klient_id='$id_klienta2'");
  9. while($r2 = mysql_fetch_assoc($imie_klienta)){
  10. echo "<tr>";
  11. echo "<td width=17%>"; if($r['zakonczone'] == 1) echo "<s>".$r['data_spotkania'].", ".$r['godzina_spotkania']."</s>"; else echo $r['data_spotkania'].", ".$r
  12.  
  13. ['godzina_spotkania']."</td>";
  14. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['nazwa_firmy']."</s>"; else echo $r2['nazwa_firmy']."</td>";
  15. echo "<td width=12%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['imie_klienta']."</s>"; else echo $r2['imie_klienta']."</td>";
  16. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r2['nazwisko_klienta']."</s>"; else echo $r2['nazwisko_klienta']."</td>";
  17. echo "<td width=12%>"; if($r['zakonczone'] == 1) echo "<s>".$r['rejon']."</s>"; else echo $r['rejon']."</td>";
  18. echo "<td width=14%>"; if($r['zakonczone'] == 1) echo "<s>".$r['data_umowienia']."</s>"; else echo $r['data_umowienia']."</td>";
  19. echo "<td width=10%>";
  20. if($r['zakonczone'] == 0) echo "<a href=\"terminarz.php?a=deact&id={$r['id_klienta']}\"><img src=\"style/deaktywuj.jpg\" width=32%></a>";
  21. else echo "<a href=\"terminarz.php?spotkania=aktywne&amp;a=act&amp;id={$r['id_klienta']}\"><img src=\"style/aktywuj.jpg\" width=32%></a>";
  22. echo "<a href=\"terminarz.php?spotkania=aktywne&amp;a=edit&amp;id={$r['id_klienta']}\"><img src=\"style/edit.png\" width=30%></a>
  23. <a href=\"terminarz.php?spotkania=aktywne&amp;a=del&amp;id={$r['id_klienta']}\"><img src=\"style/delete.png\" width=30%></a>";
  24. echo "</td>";
  25. echo "</tr>";
  26. $ostatniaData = $r['data_spotkania'];
  27. } } }
  28. echo "</table> <br><img src=\"style/delete.png\" align=\"middle\"> - Usuń spotkanie <img src=\"style/edit.png\" align=\"middle\"> - Edytuj spotkanie <img src=
  29. \"style/aktywuj.jpg\" align=\"middle\"> - Aktywuj spotkanie</center>";
  30. } }
nospor
Juz mowilem ci raz: rekordy masz wyswietlac BEZWARUNKOWO. Warunek tylko i wylącznie ma dotyczyc ZAMYKANIA I OTWIERANIA TABLE. Niczego więcej.
xeno
Dzięki, my bad.
Już wszystko śmiga
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.