PHP like

Fermé
Papallon - 3 janv. 2014 à 16:14
 Utilisateur anonyme - 4 janv. 2014 à 10:53
Bonjour,





Bonjour tout le monde!
J'ai un petit soucis, je vous explique, J'ai une liste déroulante avec des choix d'ecole ( c'est pour un site qui facilite les reherches d'écoles d'ingé tout ca ) mais le probléme c'est que certaines écoles s'appelent 'ITII Lyon'.

Ce qui fait que quand je compare ce que l'utilisateur rentre à la base de donnée cela ne fonctionne que pour les écore en 1 mot.

$req = $bdd->prepare('SELECT diplomes.formation , etablissements.ville , formations.type , etablissements.pays , etablissements.abbrEtab , diplomes.nomDp , etablissements.telEt , formations.dateDossier , etablissements.siteWeb , diplomes.desc
FROM diplomes, etablissements, formations
WHERE diplomes.id_NumDipl = formations.id_NumDipl AND formations.id_NumEtab = etablissements.id_NumEtab
AND type = :type2 AND pays = :pays2 AND nomDp = :nomDp
');

$req->execute(array(
'type2' => $_POST['type2'],
'pays2' => $_POST['pays2'],
'nomDp' => $_POST['nomDp'],
));
echo '<pre>';
print_r($_POST['nomDp']);
echo '</pre>';

Mon print_r c'est por savoir ce qui ressort.
Et ce qui ressort c'est juste le premier mot, du coup, pour 'ITII Lyon' j'ai 'ITII'

Vous avez une idée??
A voir également:

5 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 3/01/2014 à 16:23
Salut,

Dans ton formulaire html, quelle est la valeur (attribut value) de ton input/option pour l'école 'ITII Lyon' ?
0
<p>
<label for=ville>Choisissez parmis les diplômes proposés celui qui vous intèrèsse :</label>
<select name="nomDp" id="nomDp">
<?php
while($donnees = $reqDipl->fetch())
{
?>
<option value=<?php echo $donnees['nomDp']; ?>> <!-- Attribut la valeur de $donnees en cour -->
<?php echo $donnees['nomDp']; ?> <!-- à l'affichage de $donnees-->
</option>
<?php
}
$reqDipl->closeCursor();
?>
</select>
</p>
0
Utilisateur anonyme
3 janv. 2014 à 17:01
Bonjour

Quand la "value" contient des espaces, il faut l'entourer de double quotes. Et comme tu ne sais pas a priori s'il va y en avoir, autant toujours mettre les doubles quotes :
<option value="<?php echo $donnees['nomDp']; ?>"> <!-- Attribut la valeur de $donnees en cour --> 
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
3 janv. 2014 à 18:27
Bonsoir,

Du même avis. C'est bien les valeurs entre "

En HTML la balise OPTIOn a comme attribut VALUE

et en HTML TOUS LES ATTRIBUTS sont entre "

Exemple mauvais:
.... value=toto à sa maman

Exemple bon:
.... value="toto à sa maman"

Cherchez pas plus loin!!!!

A+
0
J'ai essayé, cela ne marche pas.
0
Voici mon nouveau code :

<select name="nomDp" id="nomDp">
<?php
while($donnees = $reqDipl->fetch())
{
?>
<option value="<?php echo $donnees['nomDp']; ?>"> <!-- Attribut la valeur de $donnees en cour -->
"<?php echo $donnees['nomDp']; ?>" <!-- à l'affichage de $donnees-->
</option>
<?php
}
$reqDipl->closeCursor();
?>
</select>
0
Arf! J'y ai vraimet cru!

Mais cela ne marche pas...

Rien ne change, j'ai toujours 'ITII' à la sortie de mon print_r et le comparaison ne fonctionne pas.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
3 janv. 2014 à 17:31
La valeur dépend de l'attribut value de la balise option.

Puisque apparemment tu remplis tes balises option avec les données contenus dans ta base de données, modifie cette valeur dans la base de données.
0
C'est bien ca mon probléme!
Dans ma base de donnée, la valeur est "ITII Lyon" et je me retrouve avec "ITII"
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
3 janv. 2014 à 17:37
Essaye d'exécuter directement ta requête de $reqDipl en SQL (avec PhpMyAdmin par exemple) pour contrôler les résultats.
0
Comment je fais ca?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
4 janv. 2014 à 10:53
As-tu essayé de voir le code source HTML de ta page (Ctrl-U) pour vérifier ce qu'il y avait réellement dans le SELECT envoyé au visiteur ?
0