Как отобразить одно из двух значений базы данных в метке с помощью автозаполнения в переполнении стека

Это мой следующий код:

<?php include("config.php");
include("session-user.php");

$term = trim(strip_tags($_GET['term']));//retrieve the search term that    autocomplete sends

$qstring = "SELECT product_title, product_details, product_id  FROM tbl_product WHERE product_title LIKE '".$term."%' OR product_details LIKE '".$term."' and is_delete = '0'";
$result = mysqli_query($con,$qstring);//query the database for entries containing the term

while ($row = mysqli_fetch_array($result))//loop through the retrieved values
{
$row['label']=htmlentities($row['product_title']);
$row['label']=htmlentities($row['product_details']);
$row['product_id']=htmlentities($row['product_id']);
$row_set[] = $row;//build an array
}
echo json_encode($row_set);

в настоящее время отображается только один из labelsЯ хочу найти любой из двух ярлыков

Как мне этого добиться?

3

Решение

Проблема в этом коде: —

 $row['label']=htmlentities($row['product_title']);
$row['label']=htmlentities($row['product_details']);

по тем же показателям (label) перезаписать первый, используйте как: —

 $row['label']=htmlentities($row['product_title']);
$row['label1']=htmlentities($row['product_details']);

проверьте, что я изменил второй индекс на label1

автозаполнение работает с одной меткой на значение, чтобы вы могли объединить их (label-label1) и показать.

Или же

может быть, это поможет вам: —

while ($row = mysqli_fetch_array($result))//loop through the retrieved values
{
if($row['product_title'] !=='' && $row['product_details'] ==''){ // if product_title is present but  product_details is not present
$row['label']=htmlentities($row['product_title']);
$row['product_id']=htmlentities($row['product_id']);
$row_set[] = $row;//build an array
}else if($row['product_details'] !=='' && $row['product_title'] ==''){ // if product_details is present but  product_title is not present
$row['label']=htmlentities($row['product_details']);
$row['product_id']=htmlentities($row['product_id']);
$row_set[] = $row;//build an array
}else if($row['product_details'] !=='' && $row['product_title'] !==''){ // if both are present
$row['label']=htmlentities($row['product_title']);
$row['product_id']=htmlentities($row['product_id']);
$row_set[] = $row;//build an array
}
}

Примечание: — в этом коде выше, если оба значения (product_title а также product_title) присутствуют тогда product_title будет отображаться как метка, в противном случае соответствующее значение будет отображаться как метка.

2

Другие решения

Попробуй это

    $row['label1']=htmlentities($row['product_title']);
$row['label2']=htmlentities($row['product_details']);

и измените запрос на

$qstring = "SELECT product_title, product_details, product_id  FROM tbl_product WHERE product_title LIKE '".$term."%' OR product_details LIKE '".$term."%' and is_delete = '0'";
1

По вопросам рекламы [email protected]