Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2014, 16:20   #1
Vikusik.bos
 
Аватар для Vikusik.bos
 
Регистрация: 07.04.2014
Сообщений: 3
По умолчанию помогите разобратся с sql поиском

Здравствуйте. Мне нужно написать поиск по струдникам: вводится ФИО сотрудника и выводится инфа про него. ФИО в одной строке, не стала заморачиватся с 3 (не получилось). Когда загружается стр выводит: "По вашему запросу ни чего не найдено" и после ввода ФИО то же самое, те не ищит соответствия (как я понимаю). Да и каой фориат у бд должен быть чтобы русский определял? Заранее всем спасибо.
Код:
<form  method="get" <?=$_SERVER["PHP_SELF"]?>">      
         Введите Ф.И.О сотрудника:
        <input type="text"  name="name"  class='pole' ><br><br>                
        <input type="submit" value="Найти" class='button'>                
    </form>
    <div id="form">
  <form method="get" <?=$_SERVER["PHP_SELF"]?>">
   <?php
$bd=mysql_connect("localhost", "root","Bos111")or die("Не могу создать соединение ");
mysql_select_db("peopl",$bd)or die("Не могу выбрать базу данных ");
$name=$_GET[name];
$query="SELECT name FROM itog LIKE '%$name%'";
$result = mysql_query($query);
if (mysql_num_rows($result) == 0){
 print "По вашему запросу ни чего не найдено. \n";
}
else{
print "<table>\n";
while ($row=mysql_fetch_array($result)){
 print "\t<tr>\n";
    print "\t\t<td> По вашему запросу:  $row[name] $row[otdel] $row[kab] $row[opis] </td>\n";
        print"\t</tr>\n";
            print "</table>\n";
    }
}
mysql_free_result($result);
mysql_close();
?>
  </form>
</div>

Последний раз редактировалось Stilet; 25.04.2014 в 08:08.
Vikusik.bos вне форума Ответить с цитированием
Старый 09.04.2014, 16:30   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Символьные ключи массива нужно оборачивать в кавычки:
PHP код:
 print "\t\t<td> По вашему запросу: "$row['name'] . ", отдел " $row['otdel'] . ", кабинет №"$row['kab'] . ". " $row['opis'] ."</td>\n"
Но эта строка не отрисуется, т.к. в своём запросе Вы выбираете не всё, а только поле `name`
PHP код:
 $query="SELECT name FROM itog LIKE '%$name%'"
И этот запрос составлен крайне неверно, он никогда ничего не вернёт.

Как называется таблица, из которой вы хотите забрать данные? itog?
Если да, то запрос должен быть примерно таким:
PHP код:
 $query="SELECT * FROM `itog` WHERE `name` LIKE '%" $name "%';"
Используйте отображение ошибок или проверяйте корректность составленных запросов через клиент БД, например - phpMyAdmin, если таковой имеется.

Последний раз редактировалось ATL; 09.04.2014 в 17:08.
ATL вне форума Ответить с цитированием
Старый 24.04.2014, 21:12   #3
Hel'ga
 
Регистрация: 07.12.2013
Сообщений: 5
По умолчанию

Пожалуйста подскажите, что не так с запросом на поиск по книгам. Запрос просто выдает все книги которые находятся в базе. Вообщем не ищет.
Код:
<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
</head>
<body>
<?php
$avtor=$_GET['avtor'];
//соединение с сервером
   $conn = mysql_connect ("localhost", "root", "")
        or die ("Соединение не установлено!");
// выбор базы
mysql_select_db (electron_biblio) or die("база данных не выбрана");
mysql_query ("set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8");
$quer="SELECT * FROM `knigi` WHERE `avtor` LIKE '%" . $avtor . "%';";
$result = mysql_query($quer);
if (mysql_num_rows($result) == 0){
print "По вашему запросу ни чего не найдено. \n";
}
else{

print "<table>\n";
while ($row=mysql_fetch_array($result)){
print "\t<tr>\n";
print "\t\t<td> По вашему запросу:". $row['avtor'].", отдел". $row['name_knig'].", кабинет". $row['god_izd'].".". $row['izd_knig']." </td>\n";
print"\t</tr>\n";
print "</table>\n";
}
}
mysql_free_result($result);
mysql_close();
?>
</body>
</html>

Последний раз редактировалось Stilet; 25.04.2014 в 08:09.
Hel'ga вне форума Ответить с цитированием
Старый 24.04.2014, 23:31   #4
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

PHP код:
 $avtor=$_GET['avtor']; 
Имя автора приходит? Добавьте после:
PHP код:
 if (strlen(trim($avtor)) < 1) {
     echo 
"Author name is empty";
     exit();

ATL вне форума Ответить с цитированием
Старый 27.04.2014, 00:58   #5
DarkEvil
Форумчанин
 
Аватар для DarkEvil
 
Регистрация: 08.05.2009
Сообщений: 247
По умолчанию

Так будет проще...
PHP код:
if (empty($avtor))
{
// Пишем что поле пустое и все
} else 
{
// Ищем

Мой сайт
Цитата:
Сообщение от Scream In Darkness
Кровь не даёт покоя! Кровь не знает сна!
Кровь бежит на волю – Вены рвёт сама!
DarkEvil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобратся с AudioVideoPlayback evgenrpo Общие вопросы .NET 4 14.11.2009 11:35
Помогите разобратся с программкой keyssi Помощь студентам 3 22.10.2009 17:36
помогите разобратся Irina.is Microsoft Office Excel 1 17.06.2009 22:38
Помогите разобратся в коде на C++ bsiden Общие вопросы C/C++ 0 11.05.2009 18:24
Помогите разобратся!!! rex2003 Свободное общение 1 18.02.2007 20:37