Autor Zpráva
adamico
Profil
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 *
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
No lenže požadujú odomňa aby každý užívateľ mal vlastnú tabulku.
(Ide o kartotéku pacientov)
Kajman_
Profil *
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
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
. Asi som nepozorný, ale kde tam je chyba ?
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
adamico:
Řádek 29:
for ($i=0; $i<mysql_num_fields($result2), $i ++) {

Nahraďte tu čárku středníkem.
adamico
Profil
matthew
Ďakujem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: