[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите пожалуйста с запросом
Robinner
Всем привет!
Попытаюсь изложить правильно суть вопроса.
Например: я сделал страницу, на которой выводится товар (выборка всех значений). Выводиться он постранично и по разновидности товара (колонка lock). Это все работает, я не жалуюсь.
Но захотел я сделать дополнительную примочку к этой странице в виде поиска.
И вот тут я "заглох"...
Хочу сделать, чтобы выборка осуществлялась еще и по названию фирмы (колонка name), и по стоимости: от минимальной до максимальной (колонка price).
Мучился с подзапросами, но так как я новичок, у меня не особо получилось.
А может есть более простой способ?
Надеюсь на помощь профессионалов в этом вопросе, заранее спасибо!
MySQL
Название таблицы `instrument`
Колонки id, lock, name, model, price, photo, des, presence, title



Спустя 19 минут, 31 секунда (6.12.2009 - 17:01) waldicom написал(а):
эммм...
WHERE name = '<ИМЯ ОТ ПОЛЬЗОВАТЕЛЯ>'

?

Спустя 35 минут, 34 секунды (6.12.2009 - 17:36) Robinner написал(а):
Я не смог понять что к чему...
Может лучше я код покажу?


<?php
function
link_bar($page, $count, $pages_count, $show_link)
{
$show_link = "3";
if ($pages_count == 1) return false;
$sperator = '';
$begin = $page - intval($show_link / 2);
unset($show_dots);
if ($pages_count <= $show_link + 1) $show_dots = 'no';
if (($begin > 2) && ($pages_count - $show_link > 2)) {
echo '<a href='.$_SERVER['php_self'].'?menu='.$_SESSION['menu'].'&page=1><</a> ';
}
for ($j = 0; $j <= $show_link; $j++)
{
$i = $begin + $j;
if ($i < 1) continue;
if (!isset($show_dots) && $begin > 1) {
echo ' <a href='.$_SERVER['php_self'].'?menu='.$_SESSION['menu'].'&page='.($i-1).'>...</a>';
$show_dots = "no";
}
if ($i > $pages_count) break;
if ($i == $page) {
echo "<span class=page>".$i."</span>";
} else {
echo ' <a href='.$_SERVER['php_self'].'?menu='.$_SESSION['menu'].'&page='.$i.'>'.$i.'</a>';
}
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a href='.$_SERVER['php_self'].'?menu='.$_SESSION['menu'].'&page='.($i+1).'>...</a>';
}
}

if ($begin + $show_link + 1 < $pages_count) {
echo ' <a href='.$_SERVER['php_self'].'?menu='.$_SESSION['menu'].'&page='.$pages_count.'>></a>';
}
return true;
}
include("page_construct/db.php");
$perpage = 6;
if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
$page = 1;
}else {
$page = (int) $_GET['page'];
}
$count = mysql_num_rows(mysql_query('SELECT * FROM instrument WHERE `lock` = "'.$lock.'" ')) or die(mysql_error());
$pages_count = ceil($count / $perpage);
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage;
echo "<span class=linkpage>";
link_bar($page, $count, $pages_count, 10);
echo "</span>";
$brand = $_POST['brand'];
$price_min = $_POST['price_min'];
$price_max = $_POST['price_max'];
$k = $_SESSION['valute'];
$ed = $_SESSION['ed'];
$result = mysql_query('SELECT * FROM `instrument` WHERE `lock` = "'.$lock.'" ORDER BY `id` DESC LIMIT '.$start_pos.', '.$perpage.' ') or die('error!');
while ($row = mysql_fetch_array($result)) {
echo "<div id=instrument><div id=top><h3>".$row["name"]." ".$row["model"]."</h3><div id=price>".ceil($row["price"] / $k)." ".$ed."</div></div><img src=images/instrument/".$row["photo"].".gif><span>".$row["des"]."</span><div class=presence><div class=pres>".$row["presence"]."</div><a onclick=cart(this.id)><img src=images/basket.gif class=basket title='Добавить в корзину'></a></div></div>";
}
echo "<span class=linkpage>";
link_bar($page, $count, $pages_count, 10);
echo "</span>";
?>


Вот такой код... Он работает.

Спустя 5 часов, 29 минут, 15 секунд (6.12.2009 - 23:06) Robinner написал(а):
МММ
никак не получается..
примерно через AND что-то отдаленно напоминающее получилось, но все рано не так как надо

Спустя 2 часа, 35 минут, 3 секунды (7.12.2009 - 01:41) John_761 написал(а):
??

$sql = "SELECT *
FROM `instrument`
WHERE `lock` = '"
.$lock. "'
AND `name` = '"
.$имя_фирмы. "'
AND (`цена` BETWEEN '"
.$price_min. "' AND '" .$price_max. "') ... ... ";

mysql_query($sql) or die(mysql_error());

Спустя 13 часов, 17 минут, 23 секунды (7.12.2009 - 14:58) Robinner написал(а):
Огромное спасибо!:)
То что вы написали очень помогло!
Я наворотил такого там:)Ну, хоть работает так как я хотел.
Спасибо!
Быстрый ответ:

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