Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak wypisać coś, co ileś wyników z SQL?


Rekomendowane odpowiedzi

Opublikowano

Siemka, mam na stronie np, kilka wyników z bazy danych. I chciałbym aby co 5 wynik wypisało mi coś (echo "wypisałem coś xD";). Nie mam pojęcia jak to zrobić, domyślam się że chyba w pętlach których nigdy się nie uczyłem. Poczytam jeszcze o tym ale proszę o pomoc ;d

 

Lajki ;)

Opublikowano

Najprostszy sposób: tworzysz zmienną pomocniczą i dodajesz do jej wartości 1 przy każdej iteracji pętli.

$i = 0;

foreach ($res as $row) {
    ...

    $i++;
    if ($i == 5) {
        echo "wypisałem coś";
        $i = 0;
    }
}
Opublikowano

Siemka, mam na stronie np, kilka wyników z bazy danych. I chciałbym aby co 5 wynik wypisało mi coś (echo "wypisałem coś xD";). Nie mam pojęcia jak to zrobić, domyślam się że chyba w pętlach których nigdy się nie uczyłem. Poczytam jeszcze o tym ale proszę o pomoc ;d

 

Lajki ;)

Najlepiej to zrobić używając matematyki w SQL

np. tutaj co piąty rekord:

..... where rowNumber = 1 or rowNumber % 5 = 0

co czternasty rekord

..... where rowNumber = 1 or rowNumber % 14 = 0
Opublikowano

@cody3223 my chodziło o wypisane czegoś co rekordów (podczas iteracji), a nie o pobranie co n-tego rekordu z bazy danych

Opublikowano

@cody3223 my chodziło o wypisane czegoś co rekordów (podczas iteracji), a nie o pobranie co n-tego rekordu z bazy danych

Ok, trochę źle zrozumiałem :)

 

Siemka, mam na stronie np, kilka wyników z bazy danych. I chciałbym aby co 5 wynik wypisało mi coś (echo "wypisałem coś xD";). Nie mam pojęcia jak to zrobić, domyślam się że chyba w pętlach których nigdy się nie uczyłem. Poczytam jeszcze o tym ale proszę o pomoc ;d

 

Lajki ;)

W takim wypadku lepiej użyć: (moja wersja :))

$querystr = "SELECT COUNT(*) FROM tabela";

$query = $mysqli->query($querystr); // zwróci liczbę rekordów z tabeli

$coIleMamWykonacPentle = 4;

$i = $query / $coIleMamWykonacPentle - 1;
// "-1" w przypadku gdy chcemy zaokrąglić w dół, tzn. w bazie jest 5 rekordów, pętla wykonuje się 1 raz
// usuwamy "-1" jeżeli chcemy zaokrąglić do góry, tzn. w bazie jest 5 rekordów, pętla wykona się 2 razy

$n = 0;
while($n <= $i){
  echo 'napis :D';
  $i++;
}

Opublikowano

@cody3223

Od tego, którego sposoby lepiej użyć zależy tylko od tego czy potrzebuje jednocześnie wyniki czy nie. Jeśli chce zrobić coś na wzór

User1
User2
User3
User4
User5
Następne 5 użytkowników to:

to oczywistym jest, że przykład petera spisze się lepiej. Wszystko zależy co dokładnie potrzebuje autor :P.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...