Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: petli while
Forum PHP.pl > Forum > Przedszkole
Gość_damian
Jak zapisac wynik z petli while w trzech lub wiecej kolumnach pionowych,
mniwiecej zeby to wygladalo tak :

Kod
nazwa1      |      nazwa 2     |        nazwa3       |        nazwa4
nazwa 5     |      nazwa6      |        nazwa7       |        nazwa8
nazwa9      |    nazwa 11     |      nazwa12       |        nazwa13




w ponizszym przykladzie wynik jest wyswoetlony w jednej kolumnie

  1. <?php
  2.  $zapytanie = &#092;"SELECT * FROM baza_slow\";
  3.  $zapytanie = $wynik.&#092;" order by slowo\";
  4.  $result = @mysql_query ($zapytanie );
  5.  
  6. while ($zapytanie = mysql_fetch_array($result)) {
  7. echo &#092;"$zapytanie[slowo],<br />\";
  8. }
  9. ?>



pozdrawiam
damian worriedsmiley.gif

---
Prosze uzywac BBCODE!
hwao
hwao
  1. <?php
  2. while ($zapytanie = mysql_fetch_array($result)) {
  3. echo &#092;"$zapytanie[slowo],<br />\";
  4. }
  5. ?>


Proponuje to zamienic np na

  1. <?php
  2. $wyniki = array();
  3. while ($zapytanie = mysql_fetch_array($result)) {
  4.  $wyniki[] = $zapytanie['slowo'];
  5. }
  6. ?>


A nastepnie np przy pomocy for wyswietlic jak tam sie to chce smile.gif
Guest
Cytat(hwao @ 2005-06-12 10:19:05)
  1. <?php
  2. $wyniki = array();
  3. while ($zapytanie = mysql_fetch_array($result)) {
  4.    $wyniki[] = $zapytanie['slowo'];
  5. }
  6. ?>


A nastepnie np przy pomocy for wyswietlic jak tam sie to chce smile.gif

Mam do petli for taki przklad ale jak to polaczyc z reszta ?

$ilosc_kolumn=3;

echo '<table><tr>';
for($i=1;$i<14;$i++)
echo '<td>nazwa</td>'.($i%$ilosc_kolumn ==0?'</tr><tr>':'');
echo '</tr></table>';

worriedsmiley.gif
AxZx
  1. $zapytanie = \"SELECT * FROM baza_slow\";
  2.  $zapytanie = $wynik.\" order by slowo\";
  3.  $result = @mysql_query ($zapytanie );
  4.  
  5. ?>
  6. <table>
  7. <?
  8. while ($zapytanie = mysql_fetch_array($result)) {
  9. ?>
  10. <tr><Td>
  11. <?=$zapytanie['slowa']?>
  12. </td><td>
  13. <?=$zapytanie['index']?>
  14. </td><td>
  15. <?=$zapytanie['id']?>
  16. </td></tr>
  17. <?
  18. }
  19. ?></table><?


tak to bedzie, wsta odpowiednie nazwy kolumn
Guest
Cytat(AxZx @ 2005-06-12 11:19:03)
  1. <table>
  2. <?
  3. while ($zapytanie = mysql_fetch_array($result)) {
  4. ?>
  5. <tr><Td>
  6. <?=$zapytanie['slowa']?>
  7. </td><td>
  8. <?=$zapytanie['index']?>
  9. </td><td>
  10. <?=$zapytanie['id']?>
  11. </td></tr>
  12. <?
  13.         }
  14. ?></table><?

a co wlasnie zrobic zeby wszystkie $zapytanie['slowa'] wyswietlic wlasnie w kilku kolumnach np.3, bo do tego daze.

pozdrawiam

damian worriedsmiley.gif


--
"Niche jezyk gietki powie wszystko co pomysli glowa"

http://www.halonet.de
Pseudosygnaturka skrócona do 3 linii, poprawione bbCode - NuLL
NuLL
Popierwsze rób to w tabeli. Licz wypisane rekordy- jeśli aktualna liczba wypisanych wpisów jest podzielna przez 3 to dopisz '</tr><tr>';
PeHaPowiec
kombinuje w ta i w druga strone i nie wychodzi sad.gif , moze ktos pomoze ? cool.gif
AxZx
a notak
jasne

  1. <?php
  2.  
  3. echo &#092;"<TR>\";
  4. $i=0;
  5. while($baza = query(costam)){
  6. $i++;
  7. echo &#092;"<Td>$baza['nazwa']</td>\";
  8. if ($i==3){
  9. echo &#092;"</tr><tr>\";
  10. }
  11. }
  12.  
  13. ?>


a ty ja robiles ze ci nie wychodzi ?
PeHaPowiec
Dziala ale jesli slow w bazie jest wiecej niz 6 to ustawiaja sie w drugiej lini obok siebie.Chyba trzeba by cos z dzieleniem wykombinowac jak juz wczesniej ktos wspomnial. Tylko jak sie sprawdza taka podzielnosc?

dopisalem cos takiego ale jak bedzie 100 wyrazow w bazie to co wtedy hehe niebede dopisywal w nieskonczonosc ..
  1. <?php
  2.  
  3. if ($i == 3){
  4. echo '</tr><tr>';
  5. } elseif ($i == 6){
  6. echo '</tr><tr>';
  7. } elseif ($i == 9){
  8. echo '</tr><tr>';
  9. }
  10.  
  11. ?>

---
Proszę stosować bbCode - NuLL
NuLL
  1. <?php
  2.  
  3. echo &#092;"<TR>\";
  4. $i=0;
  5. while($baza = query(costam)){
  6. $i++;
  7. echo &#092;"<Td>$baza['nazwa']</td>\";
  8. if ($i%3=0){ //dzielenie modulo
  9. echo &#092;"</tr><tr>\";
  10. }
  11. }
  12.  
  13. ?>

Uprzedzjąc pytanie - dzielenie modulo zwraca reszte z dzielenia - jeśli liczba wypisanych rekordow jest podzielna przez 3(3,6,9,12,15,18 snitch.gif) to dodawana jest nowa linia smile.gif
PeHaPowiec
Cytat(NuLL @ 2005-06-13 23:49:47)
  1. <?php
  2.  
  3. echo &#092;"<TR>\";
  4. $i=0;
  5. while($baza = query(costam)){
  6. $i++;
  7. echo &#092;"<Td>$baza['nazwa']</td>\";
  8. if ($i%3=0){ //dzielenie modulo
  9. echo &#092;"</tr><tr>\";
  10. }
  11. }
  12.  
  13. ?>

Uprzedzjąc pytanie - dzielenie modulo zwraca reszte z dzielenia - jeśli liczba wypisanych rekordow jest podzielna przez 3(3,6,9,12,15,18 snitch.gif) to dodawana jest nowa linia smile.gif

troche pokombinówalem z wasza pomoca no i doszedlem w koncu do wysnionego efektu biggrin.gif

  1. <?php
  2.  
  3.  
  4. if ($i%3){ 
  5. } else { print '<tr></tr>'; }
  6. ?>



dzieki
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.