Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie danych z bazy
Forum PHP.pl > Forum > Przedszkole
toperko
CODE
mysql_connect ("localhost", "root", "") or
die ("Blad podczas polaczenia z MySQL. Jesli mozesz to poinformuj o tym administracje. Sprobuj takze odswiezyc strone.");
mysql_select_db ("base") or
die ("Blad podczas wybierania bazy. Jesli mozesz to poinformuj o tym administracje. Sprobuj takze odswiezyc strone.");

$tresc_zapytania = 'SELECT `ID`, `title`, `txt_present`, `img_smal`, `img` FROM `post` ORDER BY `ID` LIMIT 5';
$zapytanie = mysql_query($tresc_zapytania);


Mam już coś takiego lecz problem pojawił się przy próbie wyświetlenia tych danych bo każde z nich ma zostać wyświetlone w inny sposób np pierwsze ma być drukiem pogrubionym a inne mniejszym wiec nasuwa się pytanie jak wyświetlić dane z tego zapytanie nie używając jakiejkolwiek pętli ?

thomson89
Według mnie - nie da się. Ograniczanie użycia pętli, przy obróbce danych z bazy jest według mnie - śmieszne.
skarabe.pl
A czy sposób wyświetlenia danego elementu zależy od jego "miejsca w szeregu" (kolejności), czy od czegoś innego (wartości w którejś kolumnie)? Jeśli to pierwsze, to można tak (posłużę się przykładem z newsami - najpierw jest jeden hot, potem 3 zwykłe z długim wstępem i obrazkiem, a potem, pozostałe, tylko tytuł + link):
  1. $res = mysql_query('SELECT id, data, tytul, wstep, obrazek FROM news ORDER BY data DESC LIMIT 10');
  2. $hot = mysql_fetch_assoc($res);
  3. if ($hot) {
  4. echo '
  5. <div class="news hot">
  6. <strong>', $hot['tytul'], '</strong>
  7. <span class="date">', $hot['data'], '</span>
  8. <p class="content"><img src="', $hot['obrazek'], '" />', $hot['content'], '</p>
  9. <a href="czytaj_wiecej.php?id=', $hot['id'], '">Czytaj więcej</a>
  10. </div>';
  11. }
  12. $i = 0;
  13. while ($normal = mysql_fetch_assoc($res) && (++$i <= 3)) {
  14. echo '
  15. <div class="news">', $normal['tytul'], '
  16. <span class="date">', $normal['data'], '</span>
  17. <p class="content"><img src="', $normal['obrazek'], '" />', $normal['content'], '</p>
  18. <a href="czytaj_wiecej.php?id=', $normal['id'], '">Czytaj więcej</a>
  19. </div>';
  20. }
  21.  
  22. while ($small = mysql_fetch_assoc($res)) {
  23. echo '
  24. <a class="small_news" href="czytaj_wiecej.php?id=', $small['id'], '">', $small['tytul'], '</a>
  25. <span class="date">', $small['data'], '</span>';
  26. }
muk4
Jeśli wiesz ile jest pobranych rekordów (5 w tym przpadku) musisz wywołać np. mysql_fetch_assoc 5 razy. Po pobraniu rekordu wewnętrzny wskaźnik przesuwa się do kolejnej porcji danych:
  1. $result = mysql_query($zapytanie);
  2. $dane1 = mysql_fetch_assoc($result);
  3. var_dump($dane1); //wyświetli 1 rekord
  4. $dane2 = mysql_fetch_assoc($result);
  5. var_dump($dane2); //wyświetli 2 rekord
toperko
  1. mysql_connect ("localhost", "root", "") or
  2. die ("Blad podczas polaczenia z MySQL. Jesli mozesz to poinformuj o tym administracje. Sprobuj takze odswiezyc strone.");
  3. mysql_select_db ("base") or
  4. die ("Blad podczas wybierania bazy. Jesli mozesz to poinformuj o tym administracje. Sprobuj takze odswiezyc strone.");
  5.  
  6. $res = mysql_query('SELECT `ID`, `title`, `txt_present`, `img_smal`, `img` FROM `post` ORDER BY `ID` LIMIT 5');
  7. $hot = mysql_fetch_assoc($res);
  8. if ($hot) {
  9. echo '1 ', $hot['title'], '1';
  10. }
  11. $i = 0;
  12. while ($normal = mysql_fetch_assoc($res) && (++$i <= 3)) {
  13. echo '2', $normal['title'], '2';
  14. }
  15.  
  16. while ($small = mysql_fetch_assoc($res)) {
  17. echo '3', $small['title'], '3';
  18. }


Średnio rozumiem zasadę działania tego wiec próbowałem wstawić jak najprościej sobie to w plik i zobaczyć co sie stanie lecz za każdym razem mam takie błędy

CODE
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in E:\WebServ\httpd\rotator\index.php on line 23
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in E:\WebServ\httpd\rotator\index.php on line 28
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in E:\WebServ\httpd\rotator\index.php on line 32


może ktoś będzie wiedział co robię źle bo sposób skarabe.pl-a to chyba jedyny sposób.




dobra znalazłem juz bład w zapytaniu i po problemie
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.