ВЫБЕРИТЕ все строки, которые содержат определенное ключевое слово PHP - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно показать все результаты в базе данных, когда пользователь вводит слово, которое включает в себя исходные данные в таблице.

Например, в базе данных есть кортеж со значением«Alabaster25_24x18».

, поэтому, когда пользователь вводит «Ala», «Alab» или «Alabas», этот кортеж должен извлекать, а другие кортежи, содержащие ключевое слово Alabaster, должны извлекаться.

Я написал фрагмент кода для этого.

 <form action="" method="POST">
Board Code: <input name="job_no" type="text" /> </br>
Material Description : <input name="client_ref" type="text" /></br>
Thickness: <input name="thickness" type="text" /></br>
<button type="submit" name="submit">Submit</button>
</form>


<?php
   if(isset($_POST["submit"])){
   $servername="localhost";
  $username = "root";
  $password = "";
  $dbname = "db";

  $conn = new mysqli($servername,$username,$password,$dbname);
  if(!$conn){
    die('Not connected : ' . mysql_error());
  }

if (!function_exists('bind_array')) {
function bind_array($stmt, &$row) {
$md = $stmt->result_metadata();
$params = array();
while($field = $md->fetch_field()) {
  $params[] = &$row[$field->name];
}

call_user_func_array(array($stmt, 'bind_result'), $params);
}
}


  $job_no = $_POST["job_no"];
  $client_ref = $_POST["client_ref"];
$thickness= $_POST["thickness"];




  if(empty($job_no) ){
       echo "Input at least one data";
   }else if(empty($client_ref)){
          $Query = Database::Prepare("SELECT * FROM new_jobs WHERE thickness LIKE ?");
$Query->Execute(array("%".$job_no."%")); 
           while($query->fetch()){
                    echo "The Promised Date is ".$row[$Query];
           }

  }else{
      // echo "koihgygyugui";
               }
       }

?>

К сожалению, он не дает ожидаемых результатов.

Есть предложения?

1 Ответ

0 голосов
/ 14 ноября 2018
Board Code: <input name="job_no" type="text" /> </br>
Material Description : <input name="client_ref" type="text" /></br>
Thickness: <input name="thickness" type="text" /></br>
....
$Query = Database::Prepare("SELECT * FROM new_jobs WHERE thickness LIKE ?");
$Query->Execute(array("%".$job_no."%")); 

Если вы передаете Толщину как параметр?

$Query = Database::Prepare("SELECT * FROM new_jobs WHERE thickness LIKE ?");
$Query->Execute(array("%".$thickness."%")); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...