Гость_Tatyana
7.06.2009 - 20:33
у меня есть БД в Microsoft SQL Server 2000. В ней 34 таблицы. На главной странице сайта есть форма для поиска. По идее нужно сделать запрос на выбор значений из таблицы которые совпадают с искомым словом. Для этого нужно получить список таблиц и затем, в цикле, подставлять имена таблиц в запрос и выводить информацию из таблиц соответствующую искомому слову. По логике вроде всё верно. Мне проеподаватель в институте тоже так сказал делать. Но вот в чём проблема. Я пишу код, но ничего не получается. Похоже я что-то напутала с функциями, да и с самим циклом.....
Вот мой код:
PHP |
<?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);
|
Помогите разобраться....
Спустя 1 час, 12 минут, 20 секунд (7.06.2009 - 20:45) sergeiss написал(а):
Заявлено использование MSSQL Server
Цитата (Гость_Tatyana @ 7.06.2009 - 20:33) |
у меня есть БД в Microsoft SQL Server 2000 |
а функции используются для MySQL:
Цитата (Гость_Tatyana @ 7.06.2009 - 20:33) |
mysql_list_dbs(); mysql_tablename($list_bd) mysql_list_tables($conn) mysql_num_rows($list_tab); |
Это как - норма?