2016-05-23 13 views
1

Wenn ich suche etwas mit nur einem Wort, zeigt es das Ergebnis, aber wenn ich suche etwas mit zwei Wörtern, zeigt es nicht das Ergebnis. Vielleicht ist es wegen dem Raum zwischen ihnen ... Irgendwelche Lösungen dafür ???Suche nicht funktioniert aufgrund von Leerzeichen in der Sucheingabe

This is the code which I am using: 

<?php include("config.php"); 
include("session-user.php"); 
if(isset($_POST['search']) && $_POST['search'] != "") { 
$searchq = $_POST['search']; 
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq); 

$query = "SELECT * FROM tbl_product WHERE product_title LIKE '%$searchq%' and is_delete = '0'"; 
$sql=mysqli_query($con,$query); 
$count = mysqli_num_rows($sql); 
while($row = mysqli_fetch_array($sql)){ 
    $product_title = $row['product_title']; 
    $id = $row['product_id'];}?> 
<script> 
    window.location="product.php?pid=<?php echo $id?>"; 
</script> 
<?php 
} 
?> 

<div class="ui-widget"> 
<input id="automplete-3" type="text" class="form-control" placeholder="Search" name="search"> 
</div> 
+0

Verwendung trim() wie '$ searchq produzieren = trim ($ _ POST [ 'Suche ']); 'es wird nachstehendes Leerzeichen nicht zwischen 2 Zeichen oder Wörtern entfernt. – RJParikh

+1

'$ searchq = preg_replace (" # [^ 0-9a-z] #i "," ", $ searchq);' dies verdeckt Ihren Platz leer – Saty

Antwort

2

Diese Linie

$searchq = preg_replace("#[^0-9a-z]#i","",$searchq); 

verdeckte Ihren Raum zu leeren

Zum Beispiel

$searchq="one two";//output onetwo 

space in Ihrem regex als

echo $searchq = preg_replace("#[^0-9a-z\s]#i","",$searchq); 
             ^^^^ 

Es

Zum Beispiel

$searchq="one two";//output one two 
+1

Thankss..its workiiing nowww – Learner

0
$searchq = preg_replace("#[^0-9a-z ]#i","",$searchq); 

den Raum geben zwischen ("# [^ 0-9a-z] #i"

Verwandte Themen