|
|
|
| Ребята - что не так почему не выводит из БД по отбору?
$conditions = array();
if (isset($_POST['proizvoditel']))
$conditions[] = "proizvoditel='".$proizvoditel."'";
if (isset($_POST['tip']))
$conditions[] = "tip='".$tip."'";
if (isset($_POST['viazkost']))
$conditions[] = "viazkost='".$viazkost."'";
$r="select * from MASLO" . (count($conditions) ? " WHERE " . implode(" AND ", $conditions) : "");
echo "$r";
echo "<table border=0 width=100% bgcolor=#dadada>";
echo "<form method=POST action=index1.php>";
echo "<td valign='right width='12%' height='15px' align='center' bgcolor=#FFFFFF>Артикул</td>
<td valign='right width='28%' height='' align='center' bgcolor=#FFFFFF>Наименование изделий</td>
<td valign='right width='45%' height='' align='center' bgcolor=#FFFFFF>Описание</td>
<td valign='right width='10%' height='' align='center' bgcolor=#FFFFFF>Цена</td>
<td valign='right width='5%' height='' align='center' bgcolor=#FFFFFF>картинка</td>
<td align='center'>Корзина</td></tr>";
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align=left width=12% height=10% bgcolor=#FFFFFF>$f[proizvoditel]</td><td width=28% align=left bgcolor=#FFFFFF height=10px>$f[viazkost]</td><td width=45% align=left bgcolor=#FFFFFF height=10px>$f[tip]</td><td width=10% align=left bgcolor=#FFFFFF height=10px>$f[opisanie]</td><td width=10% align=left bgcolor=#FFFFFF height=10px>$f[cena]</td><td width=5% align=left bgcolor=#FFFFFF height=5px><a id='example1' href='kartinki/' . $f[image] .''><img src='kartinki/' . $f[image] .'' width=75px height=75px></a></td><td align=center ><input type=checkbox name=Arr[] value=".$f[id]."></td></tr>";
}
echo "<tr><td align=center colspan=6><input type=submit name=buy value=заказать></></td></tr>";
echo "</table>";
echo "</form>";
|
Ошибка:
mysql_num_rows(): supplied argument IS NOT a valid MySQL result resource
|
| |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 13:34)
| | На кой вы приводите тут все это?
Покажите какой у вас в итоге получается запорос к бд.
А еще лучше запрос на стадии разработки делайте так:
mysql_query(...) or die(mysql_error());
а еще лучше через обертку, но это не суть пока что. | |
|
|
|
|
|
|
|
для: neadekvat
(14.12.2010 в 14:10)
| | Дописал - так правильнее.
$r = mysql_query($query);
Что я не так написал?
Если проверяю что передала в переменную: echo "$r"; - Resource id #8
Если проверяю что передала в переменную: echo "$query"; - select * from MASLO WHERE proizvoditel='TITAN' AND tip='' AND viazkost='' | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 14:20)
| | Так ведь заявленная диагностика ушла? Значит ошибка исправлена? | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 14:29)
| | А почему не выводит? | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 14:30)
| | наверное по другой причине?
Может просто подходящих строк в таблице нет? | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 14:32)
| | БД: здесь все нормально!
id proizvoditel viazkost tip opisanie image cena | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 14:35)
| | Что это было? | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 14:36)
| | Это в БД - таблица. В ней все перечисленные переменные есть, и при выводе - тоже | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 14:38)
| | >Это в БД - таблица. В ней все перечисленные переменные есть,
В таблице нет и не может быть никаких переменных.
Там строки должны быть. И не абы какие, а подходящие под условие запроса.
>>БД: здесь все нормально!
Это всё слова.
Где дамп (структуры и фрагмент дампа данных)?
>и при выводе - тоже
Так значит все есть?
>>автор: RuslanMRP (14.12.2010 в 14:30) для: Trianon (14.12.2010 в 14:29)
>>А почему не выводит?
Или все же ничего нет? | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 14:30)
| | вам точно нужен isset()? или все же !empty()? | |
|
|
|
|
|
|
|
для: ride
(14.12.2010 в 15:45)
| | Вот это требуеться:
if (!isset($_POST['gomaslo']))
{
echo "<h2 class='h_red'>Вы не ввели критерии поиска. Вернитесь назад и попробуйте еще раз</h2>";
}
|
$proizvoditel = $_POST['proizvoditel'];
$tip = $_POST['tip'];
$viazkost = $_POST['viazkost'];
$login = $_SESSION['login'];
include "setup/options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
echo $_SESSION['fio'];
mysql_select_db($DB);
$conditions = array();
if (isset($_POST['proizvoditel']))
$conditions[] = "proizvoditel='".$proizvoditel."'";
if (isset($_POST['tip']))
$conditions[] = "tip='".$tip."'";
if (isset($_POST['viazkost']))
$conditions[] = "viazkost='".$viazkost."'";
$query = "select * from MASLO" . (count($conditions) ? " WHERE " . implode(" AND ", $conditions) : "");
$r = mysql_query($query);
echo "<table border=0 width=100% bgcolor=#dadada>";
echo "<form method=POST action=index1.php>";
echo "<td valign='right width='12%' height='15px' align='center' bgcolor=#FFFFFF>Артикул</td>
<td valign='right width='28%' height='' align='center' bgcolor=#FFFFFF>Наименование изделий</td>
<td valign='right width='45%' height='' align='center' bgcolor=#FFFFFF>Описание</td>
<td valign='right width='10%' height='' align='center' bgcolor=#FFFFFF>Цена</td>
<td valign='right width='5%' height='' align='center' bgcolor=#FFFFFF>картинка</td>
<td align='center'>Корзина</td></tr>";
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align=left width=12% height=10% bgcolor=#FFFFFF>$f[proizvoditel]</td><td width=28% align=left bgcolor=#FFFFFF height=10px>$f[viazkost]</td><td width=45% align=left bgcolor=#FFFFFF height=10px>$f[tip]</td><td width=10% align=left bgcolor=#FFFFFF height=10px>$f[opisanie]</td><td width=10% align=left bgcolor=#FFFFFF height=10px>$f[cena]</td><td width=5% align=left bgcolor=#FFFFFF height=5px><a id='example1' href='kartinki/' . $f[image] .''><img src='kartinki/' . $f[image] .'' width=75px height=75px></a></td><td align=center ><input type=checkbox name=Arr[] value=".$f[id]."></td></tr>";
}
echo "<tr><td align=center colspan=6><input type=submit name=buy value=заказать></></td></tr>";
echo "</table>";
echo "</form>";
?>
|
| |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 16:49)
| | Все я исправил, но почему то выводит ТОЛЬКО при всех заполненых полях, а почему не ищет по 1 или 2 введеным полям? | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 17:00)
| | ответьте на мой вопрос и поймете
upd
if (!isset($_POST['gomaslo']))
{
echo "<h2 class='h_red'>Вы не ввели критерии поиска. Вернитесь назад и попробуйте еще раз</h2>";
}
это уже другой вопрос. | |
|
|
|
|
|
|
|
для: ride
(14.12.2010 в 17:18)
| | Какая разница эти две функции - делают одно и тоже | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 17:23)
| | у них есть небольшое отличие... ride предлагает Вам на этом отличии сыграть вполне осознанно.
Другое дело, что понимания происходящего в чистом виде Вам эта игра не добавит.
А дамп приводить Вы отказались. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 17:29)
| | Вы про это говорите?
if(!isset($_POST['gomaslo']))
{
echo "Ошибка";
}
else{
........
......
} | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 17:00)
| | Вы же сами процитировали генерируемый запрос:
select * from MASLO WHERE proizvoditel='TITAN' AND tip='' AND viazkost=''
|
| |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 17:22)
| | Я думал если в других переменных пусто - значит будет выводить - только то что взяло, в этом случаи - выводит все TITAN | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 17:26)
| | Я уже сказал - ни в запросе, ни в таблице переменных нет. Есть строки со значениями.
И значение пустой строки - такое же полновесное, как и любое другое слово. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 17:31)
| | Все я нашел решение. ВСЕМ ОГРОМНОЕ СПАСИБО! за точто уделили мне время | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 17:34)
| | решение-то выложите.
Странный народ пошел... ей-богу... | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 17:36)
| | Заменить на это:
if (!empty($_POST['proizvoditel']))
$conditions[] = "proizvoditel='". mysql_real_escape_string($_POST['proizvoditel'])."'";
if (!empty($_POST['tip']))
$conditions[] = "tip='".mysql_real_escape_string($_POST['tip'])."'";
if (!empty($_POST['viazkost']))
$conditions[] = "viazkost='".mysql_real_escape_string($_POST['viazkost'])."'"; | |
|
|
|
|
|
|
|
для: RuslanMRP
(14.12.2010 в 17:39)
| | ну так это решение Вам ride нашел :))) | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2010 в 17:43)
| | И не только! ВСЕМ СПАСИБО! | |
|
|
|