Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Как сделать поиск


Автор: Vreden 17.8.2006, 10:34
Как найти определенное единственное значение  в поле и работать дальше только с этой записью.

 smile 

Автор: skyboy 17.8.2006, 10:47
1. находишь запись с нужным значением при помощи конструкции WHERE запроса SELECT.
2. запоминаешь значение главного ключа для этой записи.
3. работаешь с записью, значение главного ключа которой совпадает с запомненным значением.
или же 
обьясняешь, что тебе требуется. 

Автор: Vreden 17.8.2006, 11:20
можно на конкретном примере!
вот код:
Код

<?
$log = $_POST['log'];
$id ='qwerty';
mysql_connect("localhost","root");
mysql_select_db("test") or die (mysql_error());
$del = mysql_query ("select * from `user` where  ???") or die (mysql_error());
echo "$del";
?>


нужно найти в поле `login` запись переменной $ log и чтобы с этой записью работать как с переменной потом.
В таблице два поля `num` ключевое и `login`.
Да и как ещё запомнить значение главного ключа для этой записи?

Автор: skyboy 17.8.2006, 11:33
Цитата(Vreden @  17.8.2006,  10:20 Найти цитируемый пост)
нужно найти в поле `login` запись переменной $ log и чтобы с этой записью работать как с переменной потом.

чего-чего? в смысле, обращаться с записью в БД, аки с переменной - записал в переменную --- записало в базу? тогда пиши класс, который скроет работу с базой, а видно будет только присвоение... 
Код

select * from `user` where  ???

хитрый запрос, однако. что он выбирает?

Автор: Vreden 17.8.2006, 11:36
под знаком вопроса, имеется виду, что нужно там написать, чтобы найти в таблице в поле 'login' запись со значением $log. Потом как запись найдется, как сделать так, если это возможно, что бы эту запись присвоить какой-нибудь переменной. Вот что я имел ввиду.

Автор: skyboy 17.8.2006, 11:48
$log должно совпадать со значением поля num или со значением поля login?

Автор: Vreden 17.8.2006, 11:55
со значением login, а num это номер записи!.

Автор: Vreden 17.8.2006, 12:40
Буду признателен, если кто-нибудь даст кусочек кода как это сделать!

Автор: skyboy 17.8.2006, 14:09
Код

<?
$log = $_POST['log'];
$id ='qwerty';
mysql_connect("localhost","root");
mysql_select_db("test") or die (mysql_error());
$del = mysql_query ("select * from `user` where  login=".$log) or die (mysql_error());
if($del) 
 if($row= mysql_fetch_array($del))
  print_r($row);
?>

Автор: Vaulter 18.8.2006, 09:21
$del = mysql_query (sprintf("select * from `user` where  login='%s'",$log)) or die (mysql_error());

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)