Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jedno zapytanie zamiast kilku - pętle
Forum PHP.pl > Forum > PHP
denis94
Witam.
Posiadam u siebie w bazie tabelę o nazwie ramowka. W niej są tabele id, dzien oraz nazwa.

Aby wyświetlić wszystkie audycje (rekordy) dla każdego dnia osobno (musi być dla każdego dnia osobno ponieważ pomiędzy pętlami umieszczam napis, kod html) używam pętli. Pomijając kod z zapytaniem i wynikiem wygląda to tak:

  1. echo "Poniedziałek";
  2. for ($sip=0; $sip<mysql_num_rows($poniedzialek); $sip++)
  3. {
  4. Tutaj wyświetlają się nazwy audycji z dniem 1 posortowane według pola id.
  5. }
  6.  
  7. echo "Wtorek";
  8. for ($sip=0; $sip<mysql_num_rows($wtorek); $sip++)
  9. {
  10. Tutaj wyświetlają się nazwy audycji z dniem 2 posortowane według pola id.
  11. }
  12.  


i tak dalej aż do niedzieli. Problem polega na tym, że wykonuje się aż 7 zapytań do bazy. Czy da się w jakiś sposób ograniczyć te zapytania i pętle, do jednego ale w taki sposób abym pomiędzy każdym dniem mógł wprowadzić napis dnia tygodnia, kod lub cokolwiek innego? Proszę o pomoc
CuteOne
1. a po co osobno - słyszoł o zapisie danych do zmiennych?

  1. $write = $write2 = '';
  2. while($a => $b) {
  3. $write .= $b;
  4. }
  5. while($a => $b) {
  6. $write2 .= $b;
  7. }
  8. echo $write.' wtorek '.$write2;

to po pierwsze

2. jedna petla i porównanie
  1. $query = mysql_query("SELECT * FROM ramowka"); //wstaw jakies where
  2. while($row = mysql_fetch_array($query)) {
  3.  
  4. switch($row['dzien']) {
  5. case 'poniedzialek':
  6. $poniedzialek .= 'bdjwuihf'.$row['nazwa'];
  7. break;
  8. case 'wtorek':
  9. $wtorek .= 'bdjwuihf'.$row['nazwa'];
  10. break;
  11. //itd...
  12. }
  13. }

wstawianie pomiędzy dni i łączenie zmiennych masz w 1pkt
denis94
Dzięki za odpowiedź.

Zrobiłem tak jak podałeś, pozmieniałem zmienne. Próbowałem narazie na dwa dni, lecz w miejscu gdzie powinna się ramówka wyświetlać, nic nie ma. Nie otrzymuję, żadnego błędu. Trochę nad tym siedziałem i próbowałem na kilka sposobów ale chyba coś źle zrozumiałem. Czy mógł byś mi podać przykład na jednym dniu?

Struktura tabeli ramowka: id, dzien, nazwaaudycji

Przed wyświetlaniem audycji na dany dzien napis: Poniedziałek.
Sortowanie audycji według: id DESC

Dzięki.
CuteOne
wstaw kod bo nie chce mi sie wymyslac gotowca..
denis94
dobra dzięki, pozostawiłem 7 zapytań ale zamiast tego wszystko mam w tylko jednej pętli a nie w siedmiu
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.