2015-09-17 1 views
-1

J'ai des problèmes où devrais-je mettre mon echo 'No Result Found'; dans le code que j'ai essayé de mettre dans la dernière instruction else ensemble dans le code pour le débogage, mais cela ne fonctionne pas. S'il vous plaît aider où devrais-je mettre mon aucun résultat trouvé. Merci d'avance.Bouton de recherche dans php Aucun résultat de message d'erreur

if(!empty($_POST['search'])){ 
if($result = $db->query("SELECT * FROM product WHERE setname like '%".$_POST['search']."%' OR category like '%".$_POST['search']."%' ")) { 

while($row = $result->fetch_assoc()) { 
echo '<div class="col-sm-3">'; 
    echo '<form method="POST" action="buynow.php" enctype="multipart/form-data"> '; 
     echo '<input type="hidden" name="productid" value="'.$row['id'].'">'; 
     echo '<img class="thumbnail img-responsive" src="data:image;base64,'.$row['image'].' " >'; 
     echo '<p>Name : ',$row['setname'], '</span></p>'; 
     echo '<p>Price : ', $row['price'], '</span></p>'; 
     echo '<p>Bonus : <span class="label label-info" style="font-size:16px;">', $row['status'], '</span></p>'; 
     echo '<p>Price Now : ', $row['pricesale'], '</span></p>'; 
     echo '<p>Product Detail: ', $row['productdesc'] ,'</p>'; 
     echo '<button class="btn btn-danger btn-lg btn-block" type="submit" name="submit">Buy Now</button>'; 
     echo '</form>'; 
    echo '<br></div>'; 
} 
echo '</div>'; 
echo '</div>'; 

}else{ 
//code for debugging query  
die($db->error); 
} 
} 
+0

Votre requête est prêt à obtenir de belles injections SQL. Utilisez PDO. –

+0

im pas familliar avec l'utilisation de PDO –

+1

Ensuite, il est temps maintenant de se familiariser avec PDO. C'est presque la seule bonne façon. –

Répondre

0

Vous pouvez utiliser $result->num_rows ou mysqli_num_rows($result)

if ($result->num_rows == 0) { 
    echo 'No Result Found'; 
} 
else { 
    // Do your while 
} 

Et s'il vous plaît utiliser prepared statements

2

Vous devez compter le nombre de num_rows de votre requête. Si aucune ligne a trouvé le spectacle aucun résultat trouvé

if (!empty($_POST['search'])) { 
     if ($result = $db->query("SELECT * FROM product WHERE setname like '%" . $_POST['search'] . "%' OR category like '%" . $_POST['search'] . "%' ")) { 
      $row = $result->num_rows; 
      if ($row > 0) { 
       while ($row = $result->fetch_assoc()) { 
        echo '<div class="col-sm-3">'; 
        echo '<form method="POST" action="buynow.php" enctype="multipart/form-data"> '; 
        echo '<input type="hidden" name="productid" value="' . $row['id'] . '">'; 
        echo '<img class="thumbnail img-responsive" src="data:image;base64,' . $row['image'] . ' " >'; 
        echo '<p>Name : ', $row['setname'], '</span></p>'; 
        echo '<p>Price : ', $row['price'], '</span></p>'; 
        echo '<p>Bonus : <span class="label label-info" style="font-size:16px;">', $row['status'], '</span></p>'; 
        echo '<p>Price Now : ', $row['pricesale'], '</span></p>'; 
        echo '<p>Product Detail: ', $row['productdesc'], '</p>'; 
        echo '<button class="btn btn-danger btn-lg btn-block" type="submit" name="submit">Buy Now</button>'; 
        echo '</form>'; 
        echo '<br></div>'; 
       } 
      } else { 
       echo "No result Forund"; 
      } 
     } else { 
//code for debugging query  
      die($db->error); 
     } 
    } 
    echo '</div>'; 
    echo '</div>'; 
+0

Merci pour l'aide –

0
  1. Utilisez préparé des déclarations.
  2. Utilisez PDO, pas mysqli.
  3. Utiliser des modèles.

Il va

$sql = "SELECT * FROM product WHERE setname like :search OR category like :search"; 
$stmt = $pdo->prepare($sql); 
$stmt->execute(array('search' => '%'.$_POST['search'].'%')); 
$data = $stmt->fetchAll(); 
?> 
<? foreach($data as $row): ?> 
<div class="col-sm-3"> 
    <form method="POST" action="buynow.php" enctype="multipart/form-data"> 
     <input type="hidden" name="productid" value="<?=$row['id']?>"> 
     <img class="thumbnail img-responsive" src="data:image;base64,<=$row['image']?>"> 
     <p>Name : <?=$row['setname']?></span></p> 
     <p>Price : <?=$row['price']?></span></p> 
     <p>Bonus : <span class="label label-info" style="font-size:16px;"> 
      <?=$row['status']?> 
     </span></p> 
     <p>Price Now : <?=$row['pricesale']?></span></p> 
     <p>Product Detail: <?=$row['productdesc']?></p> 
     <button class="btn btn-danger btn-lg btn-block" type="submit" name="submit">Buy Now</button> 
    </form> 
    <br> 
</div> 
<? endforeach ?> 
<? if (!$data): ?> 
    No Result Found 
<? endif ?> 
+2

quel est le problème avec l'utilisation de mysqli? – andrew