1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
<?php
if(isset($_POST) && $_POST['motscles'] != NULL)
{
// connexion bdd
try
{
$bdd = new PDO('mysql:host=localhost;dbname=base;charset=utf8', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// on prépare la requête mySQL
$reponse = $bdd->prepare("SELECT GROUP_CONCAT( CONCAT(t.civilite, ' ', t.prenom, ' ', t.nom, ', ', t.qualite) ORDER BY t.nom SEPARATOR ' ~~ ') AS groupe, i.id, i.nom_fichier
FROM temoins as t
INNER JOIN asso_temoins ON t.id = temoin_id
INNER JOIN temoignages as i ON i.id = temoignage_id
WHERE ?
GROUP BY i.id
ORDER BY i.nom_fichier");
// on construit le WHERE de la requête en concaténant les critères de recherche présent dans $_POST
if(isset($_POST['motscles']) && $_POST['motscles'] != NULL)
$chaine = htmlspecialchars($_POST['motscles']);
$criteres = "i.retranscription LIKE '%$chaine%'";
// on exécute le requête et on affiche les résultats
$reponse->execute(array($criteres));
if ($reponse->rowCount() == 0) {
echo 'Aucun résultat<br /><a href="recherche.php">Retour au formulaire de recherche</a>';
}
else{
?>
<p>
<?php
if ($reponse->rowCount() == 1)
{echo '1 résultat :';}
else {echo $reponse->rowCount(). ' résultats :';}
?>
</p>
<?php
while ($donnees = $reponse->fetch())
{
?>
<p>
<a href="temoignage.php?id=<?php echo $donnees['id']?>">
Témoignage de
<?php echo $donnees['groupe'];?>
</a>
</p>
<?php
}
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
else
{echo '
Veuillez taper un mot-clé ou sélectionner au moins un critère de recherche avancée<br />
<a href="recherche.php">Retour au formulaire de recherche</a>
' ;}
?> |
Partager