[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP поиск по БД
Puk
Добрый день!
Суть скрипта - поиск по заданной колонке в БД.
Вопрос:
Как поставить ограничения для поиска? например, что бы скрипт шустрил не по всей колонке, а, например, с 1 по 25 строчки? а в остальные не заглядывал и, соответственно, не выводил в результат всё, что находится после 25 строчки?

Сам скрипт:


<form action="trans.php" method="post">

<
input type="text" name="name" size="38" value="">
<
button input type="submit" name="submit"><span>Искать</span></button>
</
form>

<
br>
<?php
if($_POST['name'] == '') $and = " AND s_name = '".$_POST['name']."'";
$query = "SELECT * FROM text WHERE UPPER(s_name) LIKE '".strtoupper($_POST['name'])."%'".$and;
$result = mysql_query($query) or die("Запрос ошибочный");
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_NUM)) {
print "\t<tr>\n";
for ($i=1;$i<=1;$i++) { print "\t\t<td><a href=\"trans.php?id=$line[0]\">$line[1]</a></td>\n"; }
print "\t</tr>\n";

}

print "</table>\n";
if (!mysql_num_rows($result) && isset($_POST['name'])) echo "Ничего не найдено";
mysql_free_result($result);

?>






Спустя 10 минут, 37 секунд (29.06.2012 - 09:01) Invis1ble написал(а):
в MySQL нет такого понятия, как номера строк
если используется id записей, то можно в условие выборки подставить id

Спустя 18 минут, 39 секунд (29.06.2012 - 09:20) vagrand написал(а):
Используйте: Limit 1, 25

Спустя 1 минута, 45 секунд (29.06.2012 - 09:21) Гость_Puk написал(а):
Цитата (Invis1ble @ 29.06.2012 - 06:01)
в MySQL нет такого понятия, как номера строк
если используется id записей, то можно в условие выборки подставить id


Вот-вот...как это (условие выборки подставить id) грамотно прописать в конкретном скрипте?

Спустя 2 минуты, 24 секунды (29.06.2012 - 09:24) Invis1ble написал(а):
where `id` <= 25

Спустя 7 минут, 54 секунды (29.06.2012 - 09:32) Гость_Puk написал(а):
Цитата (Invis1ble @ 29.06.2012 - 06:24)
where `id` <= 25

Пробовал, не срабатывает. Выдаёт ошибку "Запрос ошибочный"


$result = mysql_query($query) or die("Запрос ошибочный");

Спустя 1 минута, 29 секунд (29.06.2012 - 09:33) Invis1ble написал(а):
or die(mysqkl_error());

Спустя 12 минут, 22 секунды (29.06.2012 - 09:45) Гость_Puk написал(а):
Цитата (Invis1ble @ 29.06.2012 - 06:33)
or die(mysqkl_error());

Fatal error: Call to undefined function mysqkl_error() in trans.php on line 207


207. $result = mysql_query($query) or die(mysqkl_error());

Спустя 42 секунды (29.06.2012 - 09:46) Invis1ble написал(а):
mysql_error, опечатался

Спустя 5 минут, 58 секунд (29.06.2012 - 09:52) Guest написал(а):
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPPER(s_name) LIKE '%' AND s_name = ''' at line 1


строка выглядит так (если, что громко не смеяться, новичок всё таки)


$query = "SELECT * FROM text WHERE `id` <= 25 UPPER(s_name) LIKE '".strtoupper($_POST['name'])."%'".$and;

Спустя 1 минута, 41 секунда (29.06.2012 - 09:54) Invis1ble написал(а):
$query = "SELECT * FROM text WHERE `id` <= 25 and UPPER(s_name) LIKE '".strtoupper($_POST['name'])."%'".$and;

учи sql

Спустя 5 минут, 28 секунд (29.06.2012 - 09:59) Гость_Puk написал(а):
Чем и занимаюсь последние месяцы. Спасибо за помощь!
Быстрый ответ:

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