Moteur de recherche PHP Mysql
Fermé
yasean
-
7 juin 2011 à 11:53
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 8 juin 2011 à 15:06
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 8 juin 2011 à 15:06
A voir également:
- Moteur de recherche PHP Mysql
- Safari moteur de recherche - Télécharger - Navigateurs
- Recherche musique - Guide
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Google Chrome
- Google recherche par image - Guide
- Easy php - Télécharger - Divers Web & Internet
2 réponses
Utilisateur anonyme
7 juin 2011 à 13:15
7 juin 2011 à 13:15
Bonjour,
Dans vos tests vous mettez des || c'est à dire des ou, donc tous les champs ne sont pas forcément renseignés, voir définis donc ici
vous pouvez avoir un undefined index
Ensuite ici
A remplacer par ceci, il faut des cotes pour les chaînes de caractères
Dans vos tests vous mettez des || c'est à dire des ou, donc tous les champs ne sont pas forcément renseignés, voir définis donc ici
$ville=_request('$ville'); $nomcat=_request('nomcat'); $theme=_request('theme'); $type=_request('type'); $noment=_request('noment');
vous pouvez avoir un undefined index
Ensuite ici
LIKE %$noment%" . " OR entreprise.ville LIKE %$ville%"
A remplacer par ceci, il faut des cotes pour les chaînes de caractères
LIKE '%$noment%' OR entreprise.ville LIKE '%$ville%' OR categorie.nomcat LIKE '%$nomcat%'
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
7 juin 2011 à 14:32
7 juin 2011 à 14:32
Salut ...
Essaye ça ... Juste pour voir :)
Essaye ça ... Juste pour voir :)
<?php mysql_connect("localhost","root",""); mysql_select_db("SPIP"); $nbre_champs = 5; if(empty()) { } if(empty($_POST['ville'])) { $ville = ""; $nbre_champs--; } else $ville = $_POST['ville']; if(empty($_POST['theme'])) { $theme = ""; $nbre_champs--; } else $theme = $_POST['theme']; if(empty($_POST['type'])) { $type = ""; $nbre_champs--; } else $type = $_POST['type']; if(empty($_POST['nomcat'])) { $nomcat = ""; $nbre_champs--; } else $nomcat = $_POST['nomcat']; if(empty($_POST['noment'])) { $noment = ""; $nbre_champs--; } else $noment = $_POST['noment']; if($nbre_champs != 0) { $sql = mysql_query( "SELECT * FROM 'entreprise' , 'service' , 'categorie' WHERE entreprise.noment LIKE %$noment% " . "OR entreprise.ville LIKE %$ville% " . "OR service.theme LIKE %$theme% " . "OR service.type LIKE %$type% ". "OR categorie.nomcat LIKE %$nomcat%") or die (mysql_error()); // affichage du résultat while($donnees = mysql_fetch_array($sql)){ if(isset($donnees['noment'])) echo 'Entreprise (Nom) : '.$donnees['noment'].'<br>'; if(isset($donnees['ville'])) echo 'Entreprise (Ville) : '.$donnees['ville'].'<br>'; if(isset($donnees['theme'])) echo 'Service (Theme) : '.$donnees['theme'].'<br>'; if(isset($donnees['type'])) echo 'Service (Type) : '.$donnees['type'].'<br>'; if(isset($donnees['nomcat'])) echo 'Categorie (Nom) : '.$donnees['nomcat'].'<br>'; } }
Bonjour,
Merci pour votre réponse mais ça me retourne beaucoup de résultats j'ai l'impression que la requête n'est pas correctement appliquée même d'elle est correcte .
Sinon je vous propose de jeter un coup d'oeil sur ce code et me dire ou est le problème car ca me retourne aucune erreur mais aucun résultat non plus .
Merci pour votre réponse mais ça me retourne beaucoup de résultats j'ai l'impression que la requête n'est pas correctement appliquée même d'elle est correcte .
Sinon je vous propose de jeter un coup d'oeil sur ce code et me dire ou est le problème car ca me retourne aucune erreur mais aucun résultat non plus .
<?php mysql_connect("localhost","root",""); mysql_select_db("SPIP"); // Récupère la variable if( isset($_POST['theme']) || isset($_POST['type'])) { if($_POST['theme']!=NULL || $_POST['type']!=NULL ) { $recherche = isset($_POST['theme']) AND !empty($_POST['theme']); // la requete mysql $sql = mysql_query( "SELECT 'nomser' FROM 'service' WHERE service.theme LIKE '%$theme%' OR service.type LIKE '%$type%' GROUP BY 'nomser'") or die (mysql_error()); // affichage du résultat echo 'Resultat de la recherche: '.$nomser.' <br />'; } } ?>
Voila j galère encore avec ce moteur de recherche Simple : ça ne me retourne pas ce que je veux ca me retourne la totalité des champs je ne sais pas pourquoi ?!
<?php mysql_connect("localhost","root",""); mysql_select_db("SPIP"); $nbre_champs = 5; if(!empty($_POST['theme']) || !empty($_POST['type'])) { if($nbre_champs != 0) { $sql = mysql_query( "SELECT 'nomser' FROM 'service' WHERE service.theme LIKE '%$theme%' OR service.type LIKE '%$type%' GROUP BY 'nomser'") or die (mysql_error()); // affichage du résultat while($donnees = mysql_fetch_array($sql)){ if(isset($donnees['nomser'])) echo 'Service (Nom) : '.$donnees['nomser'].'<br>'; } } } ?>
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 8/06/2011 à 15:06
Modifié par JooS le 8/06/2011 à 15:06
Ton script n'a aucun sens, explique ce que tu veut faire !!!
La syntaxe que t'utilise est vraiment bizarre ....
Pourquoi créer la variable $recherche alors que tu ne l'utilise même pas ...
A propos du script que j'ai créer, bien sure qu'il t'affiche pleins de résultats, c'est t'as requête qui est faite ainsi, d'ailleurs quand on dit un moteur de recherche, ce n'est pas obligatoire qu'il y ait qu'un seul résultat, mais aussi plusieurs ...
La syntaxe que t'utilise est vraiment bizarre ....
Pourquoi créer la variable $recherche alors que tu ne l'utilise même pas ...
A propos du script que j'ai créer, bien sure qu'il t'affiche pleins de résultats, c'est t'as requête qui est faite ainsi, d'ailleurs quand on dit un moteur de recherche, ce n'est pas obligatoire qu'il y ait qu'un seul résultat, mais aussi plusieurs ...