Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]tabela w pętli
brychu
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.04.2015

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


$licznik = 1; // licznik ustawiam na 1
while($r = mysql_fetch_assoc($wynik)) {
echo $r[nazwa]; // wyświetlam rekord z tabeli
$licznik++; // dodaję do zmiennej "licznik" 1

Wszystkie rekordy pokażą się jeden obok drugiego. Jak zrobić, żeby w linii pokazywała się dana liczna rekordów( np. 5) i przeskakiwało niżej?
kombinowałem z funkcją if


  1. $wynik = mysql_query("SELECT * FROM zdjecia WHERE kategoria = '$kategoria'") or die('Błąd zapytania');
  2.  
  3. $licznik = 1;
  4. while($r = mysql_fetch_assoc($wynik)) {
  5. $br = '';
  6. if ($licznik =5){
  7. $br='<br>';
  8. }
  9. echo $r[nazwa];
  10. echo $br;
  11. $licznik++;
  12. }


Rozumiem, że licznik dojeżdża do 5 i zmienia wartość zmiennej br dla każdej "pozycji" w tabeli, stąd rekordy pokazują mi się jeden pod drugim. Nie wiem jak mam to zrobić. Proszę o pomoc i wyjaśnienie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
IAmBoskiM
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 8.05.2016

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


Skoro chcesz tylko 5 rekordów to lepiej zmienić zapytanie SQL na takie:
  1. SELECT * FROM zdjecia WHERE kategoria = '$kategoria' LIMIT 5


Rozszerzenie MySQL jest zdeprecjonowane przez specyfikację PHP 5 i usunięte w PHP 7.

Co do tego ifa to ty nie użyłeś operatora porównania tylko przypisania, a zatem warunek zawsze będzie prawdziwy.

Swoją drogą zamiast kombinować z while mogłeś użyć for w twoim sposobie, wygodniej.

  1. $wynik = mysql_query("SELECT * FROM zdjecia WHERE kategoria = '$kategoria' LIMIT 5") or die('Błąd zapytania');
  2. while ($r = mysql_fetch_assoc($wynik)) {
  3. echo $r['nazwa'];
  4. }
  5. echo '<br>';


Jeżeli jednak chcesz zapytać bazę nie o 5 zdjęć, a więcej:
  1. $wynik = mysql_query("SELECT * FROM zdjecia WHERE kategoria = '$kategoria'") or die('Błąd zapytania');
  2. for ($licznik = 1; $r = mysql_fetch_assoc($wynik); $licznik++) {
  3. echo $r['nazwa'];
  4. if ($licznik == 5) {
  5. echo '<br>';
  6. }
  7. }


Ten post edytował IAmBoskiM 20.07.2016, 18:08:13
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 3.10.2025 - 17:28