Bonsoir;
je monte un site de recherche d'auteurs et de leurs oeuvres tous les 02 sont présents dans des Articles.
je développe une recherche par mots clés de ces trois éléments en sachant que le résultat sera affiché dans 03 tables Article, Auteurs et Titres
j'ai besoin d'afficher au même temps le nombre de mots clés retrouvés et ce par au moins un des 02 moyens suivant :
1 - soit que le résultat concerne les mots clés trouvés dans les 03 tables ensemble ( objectif idéal de ma présentation, il sera affiché en haut de la page) voilà le code utilisé mais qui ne fonctionne pas
Voilà le résultat de la requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php if (isset ( $_POST['submit-search'])){ $search = mysqli_real_escape_string ($conn, $_POST['search']); $qry =("SELECT COUNT(*) AS 'count' FROM 4_etat WHERE 4_etat.titre LIKE '%{$search}%' GROUP BY 4_etat.id_etat "); $qry_result = mysqli_query ($conn, $qry ); while($rows = mysql_fetch_assoc($qry_result)){ $output = "Total scor tem". " ". $rows['count']; } } ?>
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, object given in C:\wamp64\www\MAWSUAT1\21_22_rmc.php on line 8
2 - soit que le résultat concerne les mots clés trouvés dans chaque tableau, solution moins agréable à mes yeux, que j'ai réussi à obtenir grace au code suivant appliqué pour chaque tableau :
l'inconvénient avec cette 02ème méthode s'est qu'elle donne le résultat par nombre de ligne ainsi si le mot recherché se répète 02 fois dans la même ligne il sera compté 1 fois et non 02 fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php if (isset ( $_POST['submit-search'])){ $search = htmlspecialchars ($_POST['search']); $search = trim ($_POST['search']); $search = stripslashes ($_POST['search']); $search = strip_tags ($_POST['search']); $search = mysqli_real_escape_string ($conn, $_POST['search']); $query =("SELECT * FROM 4_etat WHERE 4_etat.titre LIKE '%{$search}%' "); $result =mysqli_query ($conn, $query ); if ($queryResult = $_POST['search']){ $queryResult = mysqli_num_rows($result); echo "<p style = 'font-weight:bold; '>Nombre de résultats ".$queryResult."</p>"; while ($queryResult = mysqli_fetch_array( $result)){ ?> <tr> <td><?php echo $queryResult['Supleta'];?></td> <td><?php echo $queryResult['extr'];?></td> <td><?php echo $queryResult['infopub'];?></td> </tr> <?php } } else { echo "<p style = 'font-weight:bold; '>Vous n'avez pas écrit de mot </p>";} } ?>
Merci par avance au mathématico - informaticien de m'éclairer un peu mieux sur le bon code à appliquer
Partager