Forum Webscript.Ru
Программирование => PHP => Тема начата: zumer от 12 Декабря 2003, 18:43:56
-
Ситуация такова: проводится поиск на наличие телефонного номера в базе, проблема в том, что выводится неправильное их количество.
За помощь заранее благодарен.
//в чем ошибка!
$query="select * from telephone where ".$telephone." like \'%".$tel."%\'";
$result = mysql_query($query);
$num_result=mysql_num_rows($result);
echo "number of tel found ".$num_result." ";
-
во-первых, ставить вопрос, как его ставишь ты - некорректно.
НУ ОТКУДА мы тебе родим твою ошибку, если не видим ни запроса
ни того, что ты ищешь
ни того, что находишь
ась?
ты форум с гадательным салоном не перепутал? Млжет, тебе к ясновидящей надо?
остается только вопросы задвать. Но может быть, ты сам соеберешь свою волю в кулак и попытаешься описать все самостоятельно?
зачем ты имя поля задаешь переменной? У тебя что - телефон больше, чем в одном поле хранится?
-
RomikChef
У меня скрипт поиска тел. в базе, я не могу его написать,
потому, что не знаю как делать поиск по полям базы.
-
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
-
ThE0ReTiC
Мне нужно написать скрипт вывода значения поля (последнего в столбце), помоги с мануалом.
-
Как объяснить ситуацию поконкретней? Попробуем...
Мне нужен скрипт ИДЕНТИЧНЫЙ скрипту alex smith c форума
"Базы данных", тема "поиск по базе данных на php".
-
zumer
ну так и попроси у нее
я тебя могу тока на http://www.php.net направить
-
$query="select count(*) from telephone where ПОЛЕ=\'$tel\'";
$result = mysql_query($query);
$row=mysql_fetch_row($result);
$count=$row[0];
вместо слова ПОЛЕ напиши имя поля, в котором лежит телефон. ты писал, что оно у тебя последнее.
Запрос сделан на точное соответствие.
Если тебе надо не номер целиком, а некоторые цифры, то запрос будет выглядеть так, как ты напи сал, только вместо переменной $telephone напиши по-человечески имя поля.
если тебя не устраивает результат, то ВЫВЕДИ! ВСЕ! НАЙДЕННЫЕ! ТЕЛЕФОНЫ! И! ЕСЛИ! САМ! НЕ ПОЙМЕШЬ! ЗАКОНОМЕРНОСТЬ! ТО! ПРИХОДИ! СЮДА! СПРАШИВАТЬ!
-
RomikChef
Спасибо за помощь, только у меня осталась одна проблемка, как правильно вывести послений телефон в окне браузера. У меня есть один пример который я посмотрел в книжке демонстрирую...
$query="select count(*) from last where zp=\'$tel\'";
$result = mysql_query($query); $row=mysql_fetch_row($result);
$count=$row[0];
?>
=$count->zp? |
echo "end";
//Поле "zp"
Но что-то не работает
-
Не завидую я тебе, родной.
У тебя номер телефона в переменной $tel
вот ее и надо выводить.
может быть, ты, все-таки, будешь выводить то, что тебе надо, а не то, что выводят в книжке, а?
А еще лучше - занялся бы ты чем-нибудь другим...
-
Возможно я неправильно объяснил сложившуюся ситуацию со скриптом,начну сначала. Существует БД "last" в ней есть такой столбик как "zp", и мне нужно вывести значение последнего поля этого столбика. Как вывести все поля столбца я знаю (могу привести пример), НО КАК ЗНАЧЕНИЕ ПОСЛЕДНЕГО ПОЛЯ НЕТ!
И поэтому буду очень благодарен если кто-то поможет мне в этом.
$query="select * from last ";
$result = mysql_query($query);
while ($row = mysql_fetch_array ($result))
{echo "запись : ".$row[zp]."
\\n";}
-
вся проблема от того, что ты не понимаешь теории.
во-первых, никогда не спрашивай, "как вывести?"
да так же, как любуые другие данные.
Надо спрашиват "как запросить?"
Каким запросом получить из базы.
второе.
Вынужден тебя огорчить.
База не записывает сама, какое сообщение ты клал первым, а какое - последним.
Ты должен сам позаботиться об этом.
У тебя есть поле, по которому можно отличить последнюю запись?
-
zumer:
Как вывести все поля столбца я знаю (могу привести пример)
приведи, пожалуйста.
-
Croaker
$query="select * from last ";
$result = mysql_query($query);
while ($row = mysql_fetch_array ($result))
{echo "запись : ".$row[zp]."
\\n";}
Вот он родной пример вывода всех полей столбца "zp" таблици last
-
RomikChef
В таблице last я кроме-того вставил еще один столбец ID типа int
со свойствами (NULL и auto_increment), тоисть после записи в новое поле столбца zp произойдет увеличение значения на 1 в новом поле ID, таким образом мы можем определить по величине ID , какая запись была последней.
-
zumer
Че-то у меня такое чувство, что твой пример не заработает.
Если ты хочешь вывести элемент массива $row с индексом zp - пиши индекс в кавычках. Это раз.
Потом, в своем вопросе ты написал:
zumer:
мне нужно вывести значение последнего поля этого столбика
Запонми. Нет такого понятия - столбик. Есть понятие запись, и есть понятие - поле.
в такой таблице (table):
id | name | age
1 | Вася | 21
2 | Петя | 25
3 | Маша | 17
Поле - это либо id, либо name, либо age, а запись - это
3 | Маша | 17
Судя по твоей формулировке тебе нужно вывести последнее поле (age) последней записи (про Машу).
Чтобы вывести последнюю запись - используй LIMIT, ORDER by и DESC в своем SQL запросе.
Чтобы вырать последнее поле (на примере моей таблица - age), выбирай только это поле в SQL запросе (т.е. не SELECT *, а SELECT age), либо обращайся только к индексу массива с названием нужного поля ($row[\'age\']).
Запрос, чтобы плучить из таблицы "17", должен быть такой - "SELECT age FROM table ORDER BY id DESC LIMIT 1"
Сможешь на этом примере разобраться?
-
Croaker
1)Спасибо за пример, но возникла небольшая проблемка с выводом содержимого последней записи поля "zp", а в частности с использованием "echo ;"
Я пытался так выводить запись:
...
$query="SELECT zp FROM table last BY ID DESC LIMIT 1";
$result = mysql_query($query);
echo "$row->zp";
...
но тут-то было.
2)Существуют и другие примеры вывода последней записи поля, привожу пример,
он конечно действует, но он туповат.
...
$query="SELECT zp FROM last";
$result = mysql_query($query);
$title1 = mysql_result($result, 0);
$title1 = mysql_result($result, 1);
$title2 = mysql_result($result, 2);
echo "$title2";
Содержимое таблици:
ID zp
1 one
2 two
3 three
3)Возожно и такой метод действовал бы, но опять возникла ишибка с самим выводом.
...
select count(*) as zp from last;
$result = mysql_query($query);
echo $row->total;
Помогите с выводом записи с помощью "echo"
-
zumer
скажи, ты правда-правда не понимаешь ни строчки из тех примеров, которые приводишь?
что откда берется и что делает?
это ужасно...
-
RomikChef
ни строчки из тех примеров
Некоторые строчки я понимаю это касается примеров 2 и 1, со
вторым я разобрался, я нашел его в мануале, а что в первом сложного этого я понять не могу.
-
ну вот, например, что делает вот эта строчка
$row = mysql_fetch_array ($result) ?
она тебе нужна саейчас, а ты ее не используешь
ты пишешь
$result = mysql_query($query);
echo "$row->zp";
то есть ты НИ КАПЛИ не соображаешь ,что делает функция mysql_query
потому, что в другом случае, чтобы получить данные из строки, ты делаешь еще какие-то операции КРОМЕ ЭТОЙ, а здесь почему-то думаешь, что хватит только ее.
В общем, хватит воду мутить.
идешь в документацию.
и смотришь, что делает каждая из этих функций
mysql_query
mysql_fetch_array
и самое главное - ЧТО ОНИ ВОЗВРАЩАЮТ!
документация в моей подписи.
-
RomikChef
Возникла проблема с выводом русских слов из БД, выводятся "козяблики",буду рад за помощь
-
что в базу записал - то и выводится.
проверяй, что заносишь и учи html как в нем кодировку указывать