Поисковый запрос по размеру в PHP - PullRequest
0 голосов
/ 04 августа 2020

Я хочу, чтобы мой сайт выполнял поиск любого продукта определенного размера при нажатии любого параметра размера в меню выбора ввода в мобильной версии, например в меню «Магазин по размеру» в www.brastop.com в мобильной версии. Моя проблема в том, как извлечь переменную размера из тега option и поместить ее в запрос выбора в sizeresult. php. ниже мои коды:

  1. для меню выбора


    <option selected disabled>Select Your size:</option>
    <?php

    $get_sizes = "select * from sizes";
    $run_sizes = mysqli_query($dbc,$get_sizes);

    while ($row_sizes=mysqli_fetch_array($run_sizes)){

        $size_id = $row_sizes['size_id'];
        $size_name = $row_sizes['size'];

        echo "

          <option value='sizeresults.php?$size_id'> $size_name </option>


          ";

    }

    ?>
</select>

моя проблема в том, как извлечь $ size_name из тега option и поместить его между двумя одинарными кавычками после WHERE CLAUSE в первой строке следующего фрагмента кода, где я написал sizes.size = = '% $ size_name%'

для sizeresult. php


$run_products = mysqli_query($dbc,"SELECT * FROM products INNER JOIN SIZES USING (size_id) WHERE sizes.size ='%$size_name%'");
while($row_products=mysqli_fetch_array($run_products)){

   $pro_id = $row_products['product_id'];

   $pro_title = $row_products['product_title'];

   $pro_price = $row_products['product_price'];

   $pro_sale_price = $row_products['product_sale'];

   $pro_url = $row_products['product_url'];

   $pro_img1 = $row_products['product_img1'];

   $pro_label = $row_products['product_label'];

   $manufacturer_id = $row_products['manufacturer_id'];

   $get_manufacturer = "select * from manufacturers where manufacturer_id='$manufacturer_id'";

   $run_manufacturer = mysqli_query($dbc,$get_manufacturer);

   $row_manufacturer = mysqli_fetch_array($run_manufacturer);

   $manufacturer_title = $row_manufacturer['manufacturer_title'];

   if($pro_label == "sale"){

       $product_price = " <del> NGN $pro_price </del> ";

       $product_sale_price = "/ NGN $pro_sale_price ";

   }else{

       $product_price = "  NGN $pro_price  ";

       $product_sale_price = "";

   }

   if($pro_label == ""){

   }else{

       $product_label = "

           <a href='#' class='label $pro_label'>

               <div class='theLabel'> $pro_label </div>
               <div class='labelBackground'>  </div>

           </a>

       ";

   }

   echo "

       <div class='col-md-4 col-sm-6 center-responsive'>

           <div class='product'>

               <a href='$pro_url'>

                   <img class='img-responsive' src='admin_area/product_images/$pro_img1'>

               </a>

               <div class='text'>

               <center>

                   <p class='btn btn-primary'> $manufacturer_title </p>

               </center>

                   <h3>

                       <a href='$pro_url'>

                           $pro_title

                       </a>

                   </h3>

                   <p class='price'>

                   $product_price &nbsp;$product_sale_price

                   </p>

                   <p class='button'>

                       <a class='btn btn-default' href='$pro_url'>

                           View Details

                       </a>

                       <a class='btn btn-primary' href='$pro_url'>

                           <i class='fa fa-shopping-cart'></i> Add to Cart

                       </a>

                   </p>

               </div>

               $product_label

           </div>

       </div>

       ";

}


?>

Ответы [ 2 ]

1 голос
/ 04 августа 2020
  1. Необходимо зафиксировать событие изменения выбора и получить значение / идентификатор из окна выбора.
  2. Отправить ajax запрос на «поиск. php» и отправить ответ.
  3. Получите ajax ответ.
1 голос
/ 04 августа 2020

Вот что вы можете сделать, чтобы исправить свой код.

  1. напишите форму следующим образом.

     <form action="sizeresults.php" method="POST"><!-- use post method not must but safe -->
     <select name="size"  onchange="this.form.submit()"><!-- i assumed the select name to be size -->
         <option selected disabled>Select Your size:</option>
         <?php
             $get_sizes = "select * from sizes";
             $run_sizes = mysqli_query($dbc,$get_sizes);
             while ($row_sizes=mysqli_fetch_array($run_sizes)){
                 $size_id = $row_sizes['size_id'];
                 $size_name = $row_sizes['size'];
                 echo "<option value='$size_name'> $size_name </option>";//changed value
             }
         ?>
     </select>
    
  2. добавьте следующее строка прямо над $ run_products = mysqli_query (... in sizeresults. php file.

    $size_name=$_POST['size']; // используется для получения значения параметра, которое будет использоваться в запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...