Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] "pioniowa" tabela raz jeszcze
Forum PHP.pl > Forum > PHP
merdenoms
Potrzebuje stworzyc tabele wyswietlajaca dane z bazy gdzie nazwy beda w pierwszej kolumnie a w nastepnych kolejne dane. Wklejam mizerne proby:

  1. <?php
  2. echo "
  3.  ";
  4. while ($rek=mysql_fetch_row($zap)) {
  5. list($nazwa,$wyswietlacz,$funkcje,$wybor_predkosci,$pomiar_pulsu,$klucz_bezpieczenstwa,$klucz_ratunkowy,$przeznaczenie,$silnik,$predkosc,$nachylenie,$program,$intensywnosc,$wymiary_pasa,$puls,$system,$bidon,$rolki,$przycisk_w_raczkach,$bezpieczenstwo,$skladanie, $rozlozona,$zlozona,$waga,$max_waga)=$rek;
  6.  
  7. $nazwatab = array($nazwa,$wyswietlacz,$funkcje);
  8. //print_r($nazwatab);
  9. echo"";
  10. echo"";
  11.  
  12.  
  13. //print_r($nazwatab[1]);
  14. }
  15. echo"nazwa$nazwatab[0]wyswietlacz$nazwatab[1]";
  16. ?>
Cysiaczek
Na szybko napisane, ale działa smile.gif
Dostosuj sobie

  1. <?php
  2. $data=array(
  3. array("id"=>1, "name"=>"imie"),
  4. array("id"=>2, "name"=>"imie2"),
  5. array("id"=>3, "name"=>"imie3")
  6. );
  7.  
  8. $columnCount=count($data[0]);
  9. $columnNames=array_keys($data[0]);
  10.  
  11. print '<table>';
  12. for($i=0; $i<$columnCount; $i++)
  13. {
  14. print '<tr><td>'.$columnNames[$i].'</td>';
  15. foreach($data as $row)
  16. {
  17. print '<td>'.$row[$columnNames[$i]].'</td>';
  18. }
  19. print '</tr>';
  20. }
  21. print '</table>';
  22. ?>
merdenoms
dzieki wielkie, tylko jak teraz wypisac rekordy z bazy do tablicy data. Jak wpisuje to wyswietla tylko pierwszy rekord.
Cysiaczek
Normalnie. W pętli odczytujesz każdy wiersz po kolei i umieszczasz w tablicy
  1. <?php
  2. while($row=mysql_fetch_array($result))
  3. {
  4. $data[]=$row;
  5. }
  6. ?>
merdenoms
Niby ok tylko skrypt tworzy dwa te same wiersze: pierwszy w pierwszej kolumnie ma liczbe (kolejno od zera) a drugi juz poprawna nazwe kolumny.
Poza tym sie wysypuje jak uzywam polskich znaków w nazwie kolumny w bazie - czyzby array_keys nie obsługiwał?
Cysiaczek
Bo użyłeś mysql_fetch_array(), który domyślnie daje podwojone indeksy.
Dodaj mu flagę MYSQL_ASSOC albo wogóle użyj mysql_fetch_assoc()

Nie używaj polskich znaków w nazwach kolumn! Nigdy!
merdenoms
W takim razie nazwy musza pozostac bez polskich znakow?
Cysiaczek
Nazwy kolumn tak, bo jak sobie wyobrażasz inaczej zachowanie standardów? Chciałbyś pracować na bazie danych, która ma nazwy kolmn po chińsku, albo cyrylicą?

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