[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по базе данных в Microsoft SQL Server 2000
Гость_Tatyana
у меня есть БД в 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'])), 0100);
    $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);


Это как - норма? wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.