site web


Angelo Membre 8 752 messages
Forumeur alchimiste‚ 33ans
Posté(e)

Bonjour , je solicite votre aide pour un souci que j'ai rencontré :

alors j'ai fais un moteur de recherche pour mon site afin de pouvoir retrouver tout les disques d'un même format (format étant l'un des champs de ma table)

le souci c'est que ces format sont de cette forme :

7"PS, 12"PS

et donc le caractere " me gene :o

donc voici le code correspondant à ma page d'acceuil (ou se trouve le moteur de recherche) :

<p>Recherche par format</p>
<form action="RechercheFormat.php?langue=F" method="post">
<p><select name="format">
  <option value='7"PS'>7"PS</option>
  <option value='7"LS'>7"LS</option>
  <option value='7"CV'>7"CV</option>
  <option value='7"PD'>7"PD</option>
  <option value='7"SHP'>7"SHP</option>
  <option value='10"PS'>10"PS</option>
  <option value='10"CV'>10"CV</option>
  <option value='10"PD'>10"PD</option>
  <option value='10"SHP'>10"SHP</option>
  <option value='12"PS'>12"PS</option>
  <option value='12"CV'>12"CV</option>
  <option value='12"PD'>12"PD</option>
  <option value='LP'>LP</option>
  <option value='LPPD'>LPPD</option>
  <option value='LPCV'>LPCV</option>
  <option value='DLP'>DLP</option>
  <option value='DLPPD'>DLPPD</option>
  <option value='DLPCV'>DLPCV</option>
</select></p>
<input class="valider" type="submit" value="Rechercher" /></p>
</form>

et celui de ma page RechercheFormat:

mysql_connect("localhost", "****", "****");
mysql_select_db("****");
$format= htmlentities($_POST['format']);		
echo ($format);
$sql = "SELECT * FROM liste where Format like '$format' order by Groupe,Titre";
$reponse = mysql_query ($sql);
if (mysql_num_rows($reponse)==0)
{
	echo "<p><center><strong>Il n'y a aucun disque répondant à votre recherche</center></strong></p>";
?>
<p><center><a href="index.html">Retour</a></center></p>
}

la il me dis que je n'ai aucun disque correspondant à ma recherche alors qu'il devrait en avoir !

deplus j'ai essayer en ne mettant que

$format= ($_POST['format']);

la ca marche sauf que je gere aussi le nombre de page possible qui s'affiche et donc quand je passe format en variable , il passe uniquement le chiffre de format

exemple pour 7"PS je vois comme adresse :

http://monsite.org/RechercheFormat.php?format=7

Partager ce message


Lien à poster
Partager sur d’autres sites
Annonces
Maintenant

Messages recommandés

Méthylbro VIP 1 038 messages
Ours des Pyrénées 100% AOC‚
Posté(e)

utilise des identifiants pour tes formats. Soit, une table dédiées pour eux avec une clés étrangère dans ta table disque.

Partager ce message


Lien à poster
Partager sur d’autres sites
ph0b Fondateur 4 329 messages
Faut Bosser‚ 27ans
Posté(e)

tu peux déjà corriger pour mettre LIKE '%".$format."%' et ça marchera tel quel :o

Partager ce message


Lien à poster
Partager sur d’autres sites
Méthylbro VIP 1 038 messages
Ours des Pyrénées 100% AOC‚
Posté(e)

vu qu'il utilise des double quote " ... LIKE %$format% ..." ca fonctionne très bien ^^

Partager ce message


Lien à poster
Partager sur d’autres sites
Angelo Membre 8 752 messages
Forumeur alchimiste‚ 33ans
Posté(e)

j'ai pas eu l'occassion de restester (ca m'est un peu sorti de la tete d'ailleur :o) mais je vous tiendrai au courant

Partager ce message


Lien à poster
Partager sur d’autres sites
Wixblog.com Membre 29 messages
Forumeur balbutiant‚ 29ans
Posté(e)

Tu dois systématiquement mettre des slashes sur les ' et " avant de les insèrer dans ta base de donnée, et à forciori lors de la recherche.

$var = "17''PS";

Pour inserer dans la base de donnée ta valeur utilise : addslashes($var);

De même lors de la recherche : $sql = "SELECT * FROM liste where Format like 'addslashes($format)' order by Groupe,Titre";

Quand tu récupères ton enregistrement pour l'afficher il va de soit qu'il faut supprimer les slashes, utilise : stripslashes();

Voilà :o

Partager ce message


Lien à poster
Partager sur d’autres sites
Annonces
Maintenant

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant