Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] "pioniowa" tabela raz jeszcze
merdenoms
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 22.02.2008

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


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. ?>
Powód edycji: poprawiłem bbcode (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Na szybko napisane, ale działa (IMG:http://forum.php.pl/style_emoticons/default/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. ?>
Go to the top of the page
+Quote Post
merdenoms
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 22.02.2008

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


dzieki wielkie, tylko jak teraz wypisac rekordy z bazy do tablicy data. Jak wpisuje to wyswietla tylko pierwszy rekord.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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. ?>
Go to the top of the page
+Quote Post
merdenoms
post
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 22.02.2008

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


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ł?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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!
Go to the top of the page
+Quote Post
merdenoms
post
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 22.02.2008

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


W takim razie nazwy musza pozostac bez polskich znakow?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:55