Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dodatkowy tekst co drugi wynik w pętli
Forum PHP.pl > Forum > Przedszkole
andrzej_
Witam, i od razu przepraszam jeżeli taki temat już był, ale przyznaje się, że nie wiem pod jakimi keywordami tego szukać, a w taki sposób nie znalazłem nic.

Sprawa wygląda tak, skrypt wyciąga dane z bazy mysql, po czym wyświetla je w tabeli, jednak chciałbym aby:

wynik1: otwiera wiersz <tr>
wynik2: zamyka wiersz </tr>
wynik3: otwiera wiersz <tr>
wynik4: zamyka wiersz </tr>

całość wygląda tak:

  1. <table class="t.xxx">
  2. <?php
  3. include("inside/connect.php");
  4. $query="SELECT * FROM xxx ORDER BY data ASC ";
  5. $result=mysql_query($query);
  6. $num = mysql_num_rows ($result);
  7.  
  8. if ($num > 0 ) {
  9. $i=0;
  10. while ($i < $num) {
  11. $xxx = mysql_result($result,$i,"xxx");
  12. $xxx = mysql_result($result,$i,"xxx");
  13.  
  14. echo "<tr><td><a href=\"$xxx\" target=\"_blank\"><img class=\"img\" src=\"$xxx\" alt=\"$xxx\" width=\"110px\" height=\"110px\" align=\"left\"></a></td>";
  15. echo "<td>";
  16. echo "$xxx<br/>";
  17. echo "$xxx [$xxx]<br/><br/>";
  18. echo "$xxx<br/> $xxx<br/>";
  19. echo "<p class=\"wiecej\"><a href=\"xxx.php?id=$id\">xxx...</a></p>";
  20. echo "</td></tr>";
  21.  
  22. ++$i; } } else { echo "Baza jest pusta."; }?>
  23.  
  24.  
  25. </table>


Mam nadzieje, że dało się zrozumieć o co mi chodzi, po prostu chciałbym wyświetlać 2 wyniki w jednym wierszu tabeli. Proszę o podpowiedź, w jaki sposób można by to zrobić.
thek
Najprościej? Ustawić sobie licznik jakiś inkrementując go w pętli oraz sprawdzać if-em kiedy jest modulo odpowiednie lub co pętlę zmieniać stan na przeciwny między true i flase i też sprawdzać if-em smile.gif
Z tego co widzę, licznik już masz ($i) więc tylko modulo podepnij w if-ie
zordon
if($i % 2 == 0){
echo "</tr><tr>";
}

w odpowiednie miejsce ...
andrzej_
Dziękuje thek i zordon smile.gif. Działa poprawnie, poza małym problemem, że od góry akurat jest pojedyńczy jeden wynik, ale coś już wymyślę, natomiast chciałbym aby ktoś mi tutaj wytłumaczył działanie '%', jeżeli można.
Belze
modulo czyli % zwraca resztę z dzielenia, jeżeli wynosi 0 to znaczy, że zmienna jest podzielna przez daną liczbę
andrzej_
I jescze raz dziękuje, cenna informacja.

Jednak, cał czas staram się ustawić, żeby wyświetlało mi wyniki 'od góry do dołu'.

Obecnie to wygląda mniej więcej tak: [x - wynik]


[x]
[x] [x]
[x] [x]
[x] [x]

i przy parzystych:

[x]
[x] [x]
[x] [x]
[x] [x]
[x]

Jest jakiś sposób na to? Bo rozumiem, że zaczynając od zera, pierwszy wrzuca mi rekord pierwszy, a później leci 2,4... itd.
zordon
daj warunek
if($i % 2 != 0){
echo "</tr><tr>";
}
andrzej_
Zordon, właśnei przy takim warunku, mam ten problemik: http://forum.php.pl/index.php?s=&showt...st&p=754892

====
edit:

ah, przemyślałem to co sam napisałem, i po prostu zmieniłem na:

  1. if($i % 2 != 1){
  2. echo "</tr><tr>";
  3. }


Wszystko w porządku, dziękuję wszystkim za pomoc i edukację smile.gif.
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.