Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отбор через форму!
 
 автор: RuslanMRP   (14.12.2010 в 11:35)   письмо автору
 
 

Привет! Помогите! как реализовать, имееться форма в ней 3 списка - производитель, тип, вязкость: Требуеться чтобы делала отбор по любому из 3 полей, по 2 из полей или по всем.
Как это сделать. Работает только если выбираю по всем 3 полям. Если 2 или 1 то не отбирает.

Форма:

<table border=0 width=60% align=center>
<form action="indexNarp2.php" method="post">
<tr>
          <td class="border" align="right"><label for="proizvoditel">Производитель</label></td>
          <td><select name="proizvoditel" id="proizvoditel">
            <option value="" selected="selected"></option>
                        <option value="ALPINE">ALPINE</option>
            <option value="PETRONAS">PETRONAS</option>
            <option value="TITAN">TITAN</option>
                        </select></td>
 
 
                    <td class="border" align="right"><label for="tip">Тип</label></td>
          <td><select name="tip" id="tip">
            <option value="" selected="selected"></option>
                        <option value="Полусинтетика">Полусинтетическое</option>
            <option value="Синтетика">Синтетическое</option>
                        </select></td>
 
 
                    <td class="border" align="right"><label for="viazkost">Вязкость</label></td>
          <td><select name="viazkost" id="viazkost">
            <option value="" selected="selected"></option>
                        <option value="0W-30">0W-30</option>
            <option value="0W-40">0W-40</option>
            <option value="10W-40">10W-40</option>
                        <option value="10W-50">10W-50</option>
                        <option value="10W-60">10W-60</option>
                        <option value="15W-40">15W-40</option>
                                <option value="20W-50">20W-50</option>
            <option value="5W-30">5W-30</option>
            <option value="5W-40">5W-40</option>
                        <option value="5W-50">5W-50</option>
                        <option value="15W-50">15W-50</option>
                        </select></td>
 
 
          <td  colspan="2" align="center"><input type="submit" name="gomaslo" id="button" value="Подобрать" />
</td>
        </tr>
</form>
</table> 


Обработка:

<?
$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);
 
$r=mysql_query("select * from MASLO where proizvoditel='".$proizvoditel."' and tip='".$tip."' and viazkost='".$viazkost."'");
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>";
?>

  Ответить  
 
 автор: mihdan   (14.12.2010 в 19:19)   письмо автору
 
   для: RuslanMRP   (14.12.2010 в 11:35)
 

[поправлено модератором]

  Ответить  
 
 автор: lightning.say   (15.12.2010 в 04:38)   письмо автору
 
   для: RuslanMRP   (14.12.2010 в 11:35)
 

$r=mysql_query("select * from MASLO where proizvoditel='".$proizvoditel."' and tip='".$tip."' and viazkost='".$viazkost."'");

а "and" на "or" заменять не пробовали?

ваше выражение (операция and - логическое умножение) истинно тогда и только тогда когда выполняются все три условия, or - истинно когда выполняется хотя бы одно из условий, соответственно истинно когда выполняется два и три условия отбора.

  Ответить  
 
 автор: RuslanMRP   (15.12.2010 в 15:25)   письмо автору
 
   для: lightning.say   (15.12.2010 в 04:38)
 

Ребята спасибо! Уже разобрался!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования