[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите с запросом
dimonise
всем привет. есть таблица с характеристиками товара

prod_id value
1 Накопительный
1 10 литров
1 металлический
2 Проточный
2 10 литров
2 металлический






пишу такой запрос

select * from pod_value where value ='10 л' AND  value='Накопительный'


возвращает 0 строк . т.е ничего не возвращает. в чем ошибка?



Спустя 6 минут, 35 секунд (7.06.2010 - 14:15) Oyeme написал(а):
select * from pod_value where value='Накопительный'
Так он возратит тебе первую строчку.

Если ты ставишь "AND" это обязательные поля на соввадения.
В данном случаюю у тебя не логично.
Незнаю что ты хотел сделать этим.

Или ты меняешь AND на OR
ТО тогда полностью пишешь "10 литров" а не сокращённо.
Возратит 3 строчки.

Или уже используй LIKE.

Спустя 57 секунд (7.06.2010 - 14:16) Basili4 написал(а):
пиши where value ='10 л' OR value='Накопительный' вренет 3 записи

Спустя 38 секунд (7.06.2010 - 14:17) Rand написал(а):

Спустя 25 секунд (7.06.2010 - 14:17) Gabriel написал(а):
а разве небыло такойже темы недавно?

Спустя 27 секунд (7.06.2010 - 14:18) dimonise написал(а):
да дело в том что нужно именно несколько условий проверять для одного prod_id. в таком случае OR не подходит

Спустя 14 минут, 47 секунд (7.06.2010 - 14:33) Нур-Мохьмад написал(а):
Здравствуйте! у меня вот такой вопрос:

есть теблица categorie:

-  
-- Структура таблицы `categories`
--

CREATE TABLE `categories` (
`id` int(2) NOT NULL auto_increment,
`cat` int(3) NOT NULL,
`title` varchar(255) NOT NULL default '',
`meta_d` varchar(255) NOT NULL default '',
`meta_k` varchar(255) NOT NULL default '',
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=10 ;

--
-- Дамп данных таблицы `categories`
--


в ней храниться левая навигация сайта.

есть еще таблица где храниться данные

--  
-- Структура таблицы `data`
--

CREATE TABLE `data` (
`id` int(5) NOT NULL auto_increment,
`cat` int(1) NOT NULL default '0',
`meta_d` varchar(255) NOT NULL default '',
`meta_k` varchar(255) NOT NULL default '',
`description` text NOT NULL,
`text` text NOT NULL,
`view` int(7) NOT NULL default '0',
`author` varchar(100) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`mini_img` varchar(255) NOT NULL default '',
`title` varchar(255) NOT NULL default '',
`slog` varchar(255) NOT NULL,
`img` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=24 ;

--
-- Дамп данных таблицы `data`
--


и есть такие пункты html cat=1, css cat=2, php cat=3 и тд. когда нажимают по html открывается файл lesson.php?cat=1 он выдает заметки в цикле как здесь http://ruseller.com/lessons.php?rub=2 когда человек нажимает на ссылку подробнее открывается полная заметка в том же файле в таком виде lesson.php?cat=1&id=1

а у меня вот такая ошибка: открываю css cat=2 водает цикл, но в ссылке подробнее lesson.php?cat=вот тут все равно единичка подставляется в место 2-ки&id=1

в чем может быть проблема? помогите пожалуйста разобраться



<?php include("block/bd.php");
if (isset($_GET['cat'])) {
$cat = $_GET['cat'];
}

if (isset($_GET['id'])) {
$id = ($_GET['id']);
}



$result = mysql_query("SELECT * FROM categories WHERE id='$cat'",$db);
$myrow = mysql_fetch_array($result);

if (isset($_GET['id']))

{


$result14 = mysql_query("SELECT * FROM data WHERE id='$id'",$db);
if (!$result14)
{
echo "<p><strong>Запрос на выборку данных из базы не прошел. <br> </strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result14) > 0)
{
$myrow14 = mysql_fetch_array($result14);
$new_view = $myrow14["view"] + 1;
$updata = mysql_query ("UPDATE data SET view='$new_view' WHERE id='$id'",$db);

}

else

{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";

}
}

else
{

$result11 = mysql_query("SELECT * FROM categories WHERE id='$cat'",$db);
$myrow11 = mysql_fetch_array($result11);

$result1 = mysql_query("SELECT * FROM data WHERE cat='$cat' ORDER BY id DESC LIMIT 5",$db);
$myrow1 = mysql_fetch_array($result1);
}


$title1 = $myrow14["meta_d"];
$title2 = $myrow11["meta_d"];


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title><?php if (isset($_GET['id'])) {
echo $title1;
}
else
{
echo $title2;
}?></title>
<
link href="style.css" rel="stylesheet" type="text/css">
<
link href="style2.css" rel="stylesheet" type="text/css">
<
link rel="icon" href="http://localhost/engelz.ru/favicon.ico" type="image/x-icon">
<
link rel="shortcut icon" href="http://localhost/engelz.ru/favicon.ico" type="image/x-icon">
<
meta name="keywords" content="<?php echo $myrow["meta_k"];?>">
<
meta name="description" content="<?php if (isset($_GET['id'])) {
echo
$title1;
}
else
{
echo
$title2;
}?>"
>
<
script type="text/javascript" src="js/swfobject.js"></script>

</
head>

<
body>



<?php $php_thoughts = $myrow['title']; include("block/header.php"); ?>

<table valign="top" width="100%" border="0" cellspacing="0" cellpadding="0">
<
tr>
<?php include("block/left_td.php"); ?>

</td>
<
td valign="top"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="main_table">
<
tr>
<
td valign="top">

<?php



if (isset($_GET['id']))
{

printf ("<p class='post_title2'>%s</p><div class='text'>%s</div>",$myrow14["title"],$myrow14["text"]);

}



else
{


echo $myrow["text"];




do
{

printf ("<div class='content3'>
<img src='%s' class='mini_img' align='left' alt='*'></a>
<p class='h4'><a href='lesson.php?cat=%s&id=%s'>%s</a></p>
<p class='comment'>Добавил: %s<br>Сложность: %s</p><br clear='left'>
<p class='description'>%s</p>
<div class='info'>
<div class='raiting_star'>
<div class='raiting'>
<div class='raiting_blank'></div>
<div class='raiting_hover'></div>
<div id='im'></div></div>
<span class='comment'>Создан: %s</span>   
<span class='comment'>Просмотров: %s</span></div></div></div><br>"
,$myrow1["mini_img"],$myrow11["cat"],$myrow1["id"],$myrow1["title"],$myrow1["author"],$myrow1["slog"],$myrow1["description"],$myrow1["date"],$myrow1["view"]);
}
while ($myrow1 = mysql_fetch_array($result1));



}
?>



</td>
</
tr>
</
table>



</
td>
<?php include("block/right_td.php"); ?>
</td>
</
tr>
</
table>
<?php include("block/footer.php"); ?>

</body>
</
html>



Спустя 1 минута, 28 секунд (7.06.2010 - 14:34) Gabriel написал(а):
dimonise
кто-то стоит с топором и кричит диком голосом : "Добавиш еще один параметр в запрос зарубаю"?
добавь проверку по id продукта.
ЗЫ модеры склейте темы и почистьте флуд плз.

Спустя 1 час, 50 минут, 24 секунды (7.06.2010 - 16:24) dimonise написал(а):
да реально весь кусок вот такой:


$pod_v = mysql_query("select * from tovar where id in (select prod_id from pod_value where value ='".implode("' AND value LIKE '", $o_uts)."')",$db);

while ($pod_va = mysql_fetch_assoc($pod_v))
{
$pod_val = $pod_va['prod_id'];

$result5 = mysql_query("SELECT * FROM tovar WHERE id = $pod_val",$db); // выбор товара в соответствии с фильтрами

ну и так далее.
я прекрасно понимаю что AND здесь не прокатывает, но и OR тоже не подходит!

Спустя 2 минуты, 32 секунды (7.06.2010 - 16:27) Basili4 написал(а):
dimonise
Надо выбрать то что ?????
Быстрый ответ:

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