Aller au contenu

site web


Angelo

Messages recommandés

Membre, 39ans Posté(e)
Angelo Membre 8 752 messages
Baby Forumeur‚ 39ans‚
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

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
VIP, Ours des Pyrénées 100% AOC, Posté(e)
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.

Lien à poster
Partager sur d’autres sites

Fondateur, Faut Bosser, 34ans Posté(e)
ph0b Fondateur 4 329 messages
34ans‚ Faut Bosser,
Posté(e)

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

Lien à poster
Partager sur d’autres sites

  • 3 semaines après...
VIP, Ours des Pyrénées 100% AOC, Posté(e)
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 ^^

Lien à poster
Partager sur d’autres sites

Membre, 39ans Posté(e)
Angelo Membre 8 752 messages
Baby Forumeur‚ 39ans‚
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

Lien à poster
Partager sur d’autres sites

  • 1 mois après...
Membre, 35ans Posté(e)
Wixblog.com Membre 29 messages
Baby Forumeur‚ 35ans‚
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

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×