[RESOLU] moteur de recherche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] moteur de recherche

Re: moteur de recherche

par flouch » 16 mars 2015, 21:44

Bon, en fin de compte j'ai opté pour une requête avec COUNT, ça à l'air de fonctionner.

Si quelqu'un a une solution à mon problème avec LIKE, je suis preneur pour ne pas me coucher totalement idiot :lol:


Le PHP c'est bien, mais c'est compliqué quand on débute !!!

Re: moteur de recherche

par flouch » 16 mars 2015, 18:38

up svp

Re: moteur de recherche

par flouch » 16 mars 2015, 16:16

oui, phpadmin m'indique que la requête est valide.

la table "villes" contient le nom de ville (paris, lille, marseille,...) avec un id (id 1 paris, id 2 lille...)
et la table "user_search" contient l'id de l'utilisateur qui c'est identifié sur la page précédente et la recherche qu'il a effectué.

J'ai créée un formulaire de recherche où l'utilisateur indique la ville qu'il veut rechercher. Ensuite il est indiqué le nom de la ville trouvé ou l'absence de résultat.

Avec mon code actuel, il m'est juste indiqué deux choses "Vous devez saisir le nom d'une ville." (normal quand rien n'est saisi) ou "Aucun résultat" (même quand la ville se trouve dans la BdD.)

Je me répète, je suis un débutant en PHP et j'ai beaucoup de mal à m'en sortir.
Help me

Re: moteur de recherche

par tof73 » 16 mars 2015, 15:52

quel est le contenu de ces tables ?

phpmyadmin indique qu'une requete de ce type : SELECT ville_nom FROM user_search INNER JOIN villes WHERE user_search.ville_id = villes.ville_id LIKE "%'.$ville_nom.'%"
est valide ?

Re: moteur de recherche

par flouch » 16 mars 2015, 13:19

Merci, voici mes deux tables concernées

table villes
ville_ id INT(11) AUTO-INCREMENT
ville_nom VARCHAR(15)

table user_search
user_id tinyint(250) AUTO-INCREMENT
ville_id int(11)

Re: moteur de recherche

par sirakawa » 16 mars 2015, 13:11

Bjr,
IL serait utile de joindre la structure des tables.

moteur de recherche

par flouch » 16 mars 2015, 12:52

bonjour, étant débutant je viens vers vous, car je bloque !!!

je dois réaliser un moteur de recherche sur une base de donnée concernant des villes.
Ma page n'affiche pas le résultat, même quand la ville recherché est enregistrée dans ma BdD.
Il y a 2 tables utilisées pour cette recherche : villes (ville_id, ville_nom) et user_search (user_id, ville_id).
J'ai besoin de user_search pour enregistrer qui à fait quoi comme recherche.
<?php
	//traitement de la requête et récupération des variables
	if(isset($_GET['submit_form']))
	{
		$ville_nom = $_GET['ville_nom'];
		//requête
		if(empty($ville_nom))
		{
			$message ='<p class="error">Vous devez saisir le nom d\'une ville.</p>';
		}
		else
		{
			//recherche de la ville avec LIKE
				$result = $mysqli->query('SELECT ville_nom FROM user_search INNER JOIN villes WHERE user_search.ville_id = villes.ville_id LIKE "%'.$ville_nom.'%"');
				$row = $result->fetch_array();
				//$row[0] contient la valeur retournée par le count() de Mysql
					if($row[0] > 0)
					{
						$message = '<p class="error">Un résultat.</p>';
					}
					else
					{
						$message = '<p class="error">Aucun résultat.</p>';
					}
		}
	}
?>
<p>bonjour <?php echo $user_nom; ?>, <br><br> faites votre recherche.</p>

<div>
<hr/><?php if(isset($message)) echo $message ?><hr/>

</div>

<div>
  <form method="get">
  	<input type="search" name="ville_nom" />
    <input type="submit" name ="submit_form" value="Rechercher" />
    </form>
</div>
Merci à l'âme charitable qui pourra me venir en aide. :priere: