Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP][MySQL]Zmienna liczba kolumn
4Axis
post 27.08.2014, 10:25:46
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


Witam.
Chciałbym się dowiedzieć czy istnieje możliwość automatycznego pobierania i wyświetlania całej tabeli i wszystkich kolumn z nagłówkami bez wcześniejszego ich deklarowania.

Mam np tabelę `316`:

| s | m1 | m2 |
-----------------
| 20 | 1 | |
-----------------
| 25 | | 1 |
-----------------
| 30 | | |
-----------------

i tabelę `317 `:


| s | m5 | m8 | m9 |
---------------------------
| 20 | 1 | 1 | 1 |
---------------------------
| 25 | 1 | 1 | 1 |
---------------------------
| 30 | 1 | 1 | 1 |
-----------------

chciałbym żeby w zależności od tego co klikniemy została pobrana CAŁA tabela z wszystkimi kolumnami. Tabeli będzie kilkadziesiąt, w każdej będzie inna ilość kolumn i wierszy
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post 27.08.2014, 10:29:13
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie bardzo rozumiem....
select * from tabela
pobierze ci wszystkie kolumny niezaleznie ile ich jest.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tzm
post 27.08.2014, 10:31:37
Post #3





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


a potem to juz foreach i generowanie na ekranie.
Go to the top of the page
+Quote Post
4Axis
post 27.08.2014, 10:34:55
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


tak, tylko nie wiem jak to pokazać.
stosuję taki kod:
  1. $wynik = mysql_query("SELECT * FROM `316`")
  2. or die('Błąd zapytania');
  3.  
  4. if(mysql_num_rows($wynik) > 0) {
  5. echo "<table cellpadding=\"2\" border=1>";
  6. while($r = mysql_fetch_array($wynik)) {
  7. echo "<tr>";
  8. echo "<td>".$r[1]."</td>";
  9. echo "<td>".$r[2]."</td>";
  10. echo "<td>".$r[3]."</td>";
  11. echo "<td>".$r[4]."</td>";
  12. echo "<td>".$r[5]."</td>";
  13. echo "<td>".$r[6]."</td>";
  14. echo "<td>".$r[7]."</td>";
  15. echo "<td>".$r[8]."</td>";
  16. echo "<td>".$r[9]."</td>";
  17. echo "<td>".$r[10]."</td>";
  18.  
  19. echo "</tr>";
  20. }
  21. echo "</table>";


i muszę tu podać ile mam kolumn ($r[1], $r[2], itd) jeżeli podam więcej niż mam w aktualnie wybranej tabeli to wywala mi błędy. Chciałbym jakoś wyciągać automatycznie ilość kolumn bo może jedna tabela mieć 1 kolumnę a inna 20.
Go to the top of the page
+Quote Post
nospor
post 27.08.2014, 10:36:01
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$r to tablica... Do przelecenia po tablicy uzyj FOREACH - patrz manual


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tzm
post 27.08.2014, 10:37:44
Post #6





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


jak nospor prawi, mozesz wtedy w foreachu dodawac powiedzmy pusta komorke, a jesli to Ci sie nie podoba to na upartego mozna to forem napisac i przelatywac tyle razy - ile masz komorek.
Go to the top of the page
+Quote Post
nospor
post 27.08.2014, 10:41:59
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A po co mu tam pusta komorka? I juz nie mieszaj z tym FORem... do latania po tablicy sluzy FOREACH.

ps: no i zamiast mysql_fetch_array() masz uzyc mysql_fetch_row(), gdyz mysql_fetch_array() domyslnie zwraca zdublowane kolumny


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
4Axis
post 27.08.2014, 12:23:03
Post #8





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


ok, będę musiał poczytać bo potęga mojej niewiedzy mnie przeraża wink.gif

OK, udało mi się zmodyfikować zapytanie tak że ładnie mi wszystko wyświetla. Nie wiem tylko jak dodać do tego wszystkiego nagłówki, dla kolumny s-> Średnica; m1->M1; itd
kod wygląda teraz tak:
  1. $wynik = mysql_query("SELECT * FROM `316`")
  2. or die('Błąd zapytania');
  3. echo '<table style="border-color: red;" border="1" cellspacing="2"> <tbody>';
  4. while ($row = mysql_fetch_row($wynik)) {
  5. echo '<tr> ';
  6. foreach ($row as $key => $value) {
  7. if ($value != null){
  8. echo '<td width=25px; style="background-color: yellow; border-color: blue;" border="1">'.$value."</td>";
  9. } else {
  10. echo '<td width=25px; style="background-color: magenta; border-color: blue;" border="1">'.$value."</td>";
  11. }
  12.  
  13. } echo "</tr>";
  14. }echo "</tbody></table>";
Go to the top of the page
+Quote Post
nospor
post 27.08.2014, 12:33:32
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl1.php.net/manual/en/function.mysql-field-table.php
I sobie wyswietl najpierw naglowki


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
4Axis
post 27.08.2014, 12:45:00
Post #10





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


działa wink.gif exclamation.gif! a można zamienić nazwy z nagłówków na bardziej ludzkie np.: 's' na 'Średnica'?
Go to the top of the page
+Quote Post
nospor
post 27.08.2014, 12:53:23
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No tak... kto ci broni dac IFa i w zaleznosci od wartosci wstawiac wlasny tekst?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
4Axis
post 27.08.2014, 13:02:01
Post #12





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.05.2014

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


Proste i działa wink.gif. Dziękuję za pomoc
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:04