Autor | Zpráva | ||
---|---|---|---|
adamico Profil |
#1 · Zasláno: 31. 10. 2009, 14:52:34 · Upravil/a: adamico
Zdravím, chcem sa opýtať ako spraviť mysql_select_db zo všetkých tabuliek v databáze ? Názvy stlpcov sú vo všetkých tabulkách rovnaké a preto by som potreboval vypísať napr. stlpec "t1" zo všetkých tabuliek.
Nechcem to ale robiť s SELECT * FROM t1, t2, t3...t12 pretože tabulky sa mi neustále vytvárajú poprípade mažú. Preto by som potreboval vedieť ako sa to robí nejako univerzálne. |
||
Kajman_ Profil * |
#2 · Zasláno: 31. 10. 2009, 15:06:08
Dávejte data do jedné tabulky a přidejte si sloupec s určením významu v čem se ty tabulky 1 až 12 liší.
|
||
adamico Profil |
#3 · Zasláno: 31. 10. 2009, 15:21:05
No lenže požadujú odomňa aby každý užívateľ mal vlastnú tabulku.
(Ide o kartotéku pacientov) |
||
Kajman_ Profil * |
#4 · Zasláno: 31. 10. 2009, 16:11:36
Tak to máte pech. Univerzálně se to dělá tak, že se udělá jedna tabulka.
Spojit výpis z více tabulek můžete díky union. Za určitých okolností se někdy dá použít merge tabulka. |
||
adamico Profil |
#5 · Zasláno: 31. 10. 2009, 19:24:00
Experimentujem s týmto kódom ale vyhadzuje chybu
Parse error: syntax error, unexpected ')', expecting ';' in /var/www/sub/kalendar1/form/vypis_db2.php on line 29 Kód: <?php //Caution : this code will select and print all records from each table in onde DB //code from above link to select all tablenames $dbname = 'kartoteka'; if (!mysql_connect('localhost', 'meno', 'heslo')) { echo 'Could not connect to mysql'; exit; } $result = mysql_list_tables($dbname); if (!$result) { echo "DB Error, could not list tables\n"; echo 'MySQL Error: ' . mysql_error(); exit; } while ($row = mysql_fetch_row($result)) { // added code to use the tablename and select all records from that table echo ('Table ' . $row[0] . '<br /><table>'); $sql="select * from " . $row[0]; $result2 = mysql_query($sql) or die ('SQL problem selecting from table'); if (mysql_num_rows($result2) >= 1){ echo ('<tr>'); while ($row2 = mysql_fetch_row($result2)) { for ($i=0; $i<mysql_num_fields($result2), $i ++) { echo ('<td>' . $row2[$i] . '</td>'); } } echo ('</tr>'); } else { echo ('<tr><td colspan="999">No records for table' . $row[0] . '</td></tr>'); } echo ('</table>'); mysql_free_result($result2); } mysql_free_result($result); ?> |
||
matthew Profil |
#6 · Zasláno: 31. 10. 2009, 19:29:19
adamico:
Řádek 29: for ($i=0; $i<mysql_num_fields($result2), $i ++) { Nahraďte tu čárku středníkem. |
||
adamico Profil |
#7 · Zasláno: 31. 10. 2009, 19:34:11
matthew
Ďakujem. |
||
Časová prodleva: 14 let
|
0