——————
mysql_field_table ist eine Funktion zum Abrufen des Namens der Datentabelle
Unter normalen Umständen fragt SQL nur 1 Tabelle ab und kann ausgeführt werden
Entschuldigung: Wie bekomme ich mehrere Tabellennamen, nachdem SQL Select mehrere Tabellen in Union abgefragt hat?
——————
Ausführbarer Code:
//SQL-Auswahl fragt nur 1 Datenelement ab
<code>$sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name";</code>
——————
Fragecode:
<code>//合并2个表,按时间倒序取出前10条记录 $sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) UNION SELECT id,title FROM `TABLE2` WHERE id IN($id) UNION ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); if( $result ){ if( mysql_num_rows($result) ){ $a = array(); while($arr = mysql_fetch_array($result)){ $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name"; //***就是在这里 //***请问各位,怎么获取多个表名 } } }</code>
——————
Gruß,
Vielen Dank!
——————
mysql_field_table ist eine Funktion zum Abrufen des Namens der Datentabelle
Unter normalen Umständen fragt SQL nur 1 Tabelle ab und kann ausgeführt werden
Entschuldigung: Wie bekomme ich mehrere Tabellennamen, nachdem SQL Select mehrere Tabellen in Union abgefragt hat?
——————
Ausführbarer Code:
//SQL-Auswahl fragt nur 1 Datenelement ab
<code>$sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name";</code>
——————
Fragecode:
<code>//合并2个表,按时间倒序取出前10条记录 $sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) UNION SELECT id,title FROM `TABLE2` WHERE id IN($id) UNION ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); if( $result ){ if( mysql_num_rows($result) ){ $a = array(); while($arr = mysql_fetch_array($result)){ $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name"; //***就是在这里 //***请问各位,怎么获取多个表名 } } }</code>
——————
Gruß,
Vielen Dank!
Die Ergebnismenge nach der Vereinigung wird als dieselbe Datenbanktabelle betrachtet. Unabhängig davon, wie Sie mysql_field_table hier erhalten, können Sie nur einen Tabellennamen erhalten. Der richtige Ansatz besteht darin, beim Erstellen einer SQL-Anweisung den Namen der Datenbanktabelle, aus der sie stammen, an jeden Datensatz anzuhängen, damit Sie anhand der Ergebnismenge erkennen können, aus welcher Datenbanktabelle diese Daten stammen.
<code>$sql = " SELECT id,title,'TABLE1' AS ComesFrom FROM `TABLE1` WHERE id IN($id) UNION SELECT id,title,'TABLE2' FROM `TABLE2` WHERE id IN($id) UNION ORDER BY id DESC LIMIT 0,10 ";</code>