В этой теме вы помогли мне решить задачу по поиску по 1 таблице в БД (
https://forum.shelek.ru/index.php/topic,20785.0.html)
у меня есть БД в Microsoft SQL Server 2000. В ней 34 таблицы. На главной странице сайта есть форма для поиска. По идее нужно сделать запрос на выбор значений из таблицы которые совпадают с искомым словом. Для этого нужно получить список таблиц и затем, в цикле, подставлять имена таблиц в запрос и выводить информацию из таблиц соответствующую искомому слову. По логике вроде всё верно. Мне проеподаватель в институте тоже так сказал делать. Но вот в чём проблема. Я пишу код, но ничего не получается. Похоже я что-то напутала с функциями, да и с самим циклом.....
Вот мой код:
<?php
error_reporting(E_ERROR);
//Соединение с базой данных MySQL
$conn=odbc_connect('KatalogSQL','PROMEK','promek');
if (!$conn) {
exit("Connection Failed: " . $conn);
}
// Получение списка баз данных, находящихся на сервере
$list_bd = mysql_list_dbs();
$name_bd=mysql_tablename($list_bd); // возращает имена баз данных
$list_tab=mysql_list_tables($conn); // возращает список таблиц находящихся в базе данных
$koll_tab=mysql_num_rows($list_tab); // возращает количество таблиц в списке
$name_tab = mysql_tablename($list_tab);//возращает имена таблиц
for ($i=0; $i<$koll_tab; $i++){
echo "234";
$_POST['search'] = substr(htmlspecialchars(trim($_POST['search'])), 0, 100);
$sql = "SELECT * FROM '.$name_tab.' WHERE Name LIKE '%".$_POST['search']."%' ";
$rs=mysql_query($conn,$sql);
$nf=mysql_num_fields($rs);
if (!$rs) {
exit("Error in SQL");
}
echo "<table border=1";
//заголовок таблицы
echo "<tr>";
for($i=0; $i<$nf;$i++){
$field=mysql_field_name($rs,$i);
echo "<th>".$field."</th>";
}
echo "</tr>";
while(mysql_fetch_row($rs)){
echo "<tr>";
for($j=0;$j<$nf;$j++){
$val=mysql_result($rs,$j);
echo "<td>".$val."</td> ";
}
echo "</tr>";
}
}
echo "</table>";
mysql_free_result($rs);
mysql_close($conn);
?>
Помогите разобраться....