/ / Comment afficher le résultat d'une requête MYSQL en texte intégral en PHP avec Foreach - php, mysql, sql, pdo, recherche en texte intégral

Comment afficher la sortie d'une requête MYSQL Full-Text en PHP avec Foreach - php, mysql, sql, pdo, recherche de texte intégral

J'ai lu ce post mais je ne le comprends vraiment pas .. Récupération du contexte correspondant à la recherche de texte intégral MySQL en PHP (et sécurité)

Comment afficher les données d'une requête MYSQL Full-Text en PHP avec Foreach .. Lorsque j'essaie de le faire, une seule ligne est récupérée en fait, lorsque j'essaie d'utiliser MYSQL Workbench, il génère 2 lignes.

Voici mon code:

if (isset($_GET["search"])) {
$s = htmlspecialchars($_GET["search"]);
$search = $conn->prepare("SELECT * FROM files WHERE MATCH (docu_title,description) AGAINST (:s)");
$search->bindParam(":s", $s);
$search->execute();
$find = $search->rowCount();
$search->fetch();
if ($find == 0) {
$searching =  0;
}
else{
$searching = 1;
}
}

mon code PHP

<?php
if (isset($searching)) {
if ($searching != 0) {
foreach($search as $sss)
{
echo "<td>" . $sss["docu_title"] . "</td>";
echo "<td>" . $sss["description"] . "</td>";
echo "<td><a href="downloads?id=" . $sss["id"] . "">download</a></td>";
}
}
}
?>

S'il vous plait, j'ai besoin de votre aide avec ceci.. je suis encore novice. Je vous remercie :)

Réponses:

0 pour la réponse № 1

Avec chaque $ search-> fetch (), vous en récupérez unrangée et le curseur passe à la suivante, donc chaque fois que la deuxième rangée est remplie dans la table. Donc, supprimez $ search-> fetch () dans le premier code, et toutes les lignes seront affichées.


0 pour la réponse № 2

Enlever tout $find = $search->rowCount();ordures.

Utiliser aussi while()pour parcourir tous les enregistrements retournés au lieu de foreach(). Utiliser foreach() vous devez utiliser fetchAll () qui renvoie tous les enregistrements au lieu de fetch()qui ne retourne que 1.

$search = $conn->prepare("SELECT * FROM files WHERE MATCH (docu_title,description) AGAINST (:s)");
$search->bindParam(":s", $s);
$search->execute();
while($sss =$search->fetch());
{
echo "<td>" . $sss["docu_title"] . "</td>";
echo "<td>" . $sss["description"] . "</td>";
echo "<td><a href="downloads?id=" . $sss["id"] . "">download</a></td>";
}