За последние 24 часа нас посетили 22202 программиста и 1685 роботов. Сейчас ищут 1659 программистов ...

Поиск по категориям

Тема в разделе "Сделайте за меня", создана пользователем suhoi1993, 10 авг 2014.

  1. suhoi1993

    suhoi1993 Новичок

    С нами с:
    31 мар 2014
    Сообщения:
    25
    Симпатии:
    0
    Доброй ночи! Скрипт ищет только по кузову, что сделать что бы он как положено искал, отдельно можно было выбрать марку и оно независимо от того какая модель показывало эти марки, или выбрать модель и оно независимо от кузова и марки искало именно с этими моделями. Спасибо кто не прошёл стороной!
    Код (Text):
    1.  
    2. <form action="search.php" method="get">
    3. <select name="marka" id="Country">
    4. <option selected="selected" value="7777">Выберете модель</option>
    5. <option value="10">audi</option>
    6. </select>
    7. <select name="model" id="Country">
    8. <option selected="selected" value="7777">Выберете модель</option>
    9. <option value="80">a6</option>
    10. </select>
    11. <input type="checkbox" name="kuzov[]" value="1"/><label>Седан</label>
    12. <input type="checkbox" name="kuzov[]" value="2"/><label>Хетчбек</label>
    13. <input type="submit" name="but" value="Кнопка"/>
    14. </form>
    15.  
    16.  
    17.  
    18. <?php
    19. include("connect.php");
    20. if(isset($_GET['but'])){
    21.             $marka = $_GET['marka'];
    22.             $model = $_GET['model'];
    23.             $kuzov= $_GET['kuzov'];
    24. $wClause = "";
    25. if($marka != "7777") {
    26.       $wClause .= " AND `marka` = '$marka'";
    27. }
    28. if($model != "7777") {
    29.       $wClause .= " AND `model` = '$model'";
    30. }
    31. $kus = implode('\',\'',$_GET['kuzov']);
    32.       $wClause .= "AND `kuzov` IN ('$kus')";    
    33.            
    34. $result = mysql_query("SELECT * FROM `asd` WHERE `ad_id` != '0'"  . $wClause, $link);
    35. if(mysql_num_rows($result)>0){
    36.     $row =mysql_fetch_array($result);
    37.     do{
    38.                             echo $row['mark_id'];
    39.                             echo $row['model_id'];
    40.                             echo $row['kuzov'];
    41.                         }
    42.                            
    43.    
    44.     while($row =mysql_fetch_array($result));
    45. }
    46. else{echo 'Поиск не дал результатов!';}
    47. }
    48.  
    49. else{echo'Вы не нажали кнопку';
    50. }
    51.  ?>
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Как минимум - зачем вам в выводе цикл с послеусловием? Тут предусловие отлично пойдет:
    while ($row = mysql_fetch_array($result)) {echo ....}
    А по основному вопросу - фиг знает, надо базу видеть. И формируемый запрос.
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.114
    Симпатии:
    1.244
    Адрес:
    там-сям
    попов пометил. чтобы понять почему запрос работает не так, как ожидаешь, надо для начала увидеть окончательный текст запроса. классика:
    Код (PHP):
    1. $sql = "SELECT……' ;
    2. echo $sql; // НУКА-НУКА!
    3. $result = mysql_query($sql);
    и вообще, отлаживать надо самому http://phpfaq.ru/debug