PHP like

Papallon -  
 Utilisateur anonyme -
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??

5 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Dans ton formulaire html, quelle est la valeur (attribut value) de ton input/option pour l'école 'ITII Lyon' ?
    0
  2. Papallon
     
    <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
  3. Utilisateur anonyme
     
    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
    1. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
       
      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
    2. Papallon
       
      J'ai essayé, cela ne marche pas.
      0
    3. Papallon
       
      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
  4. Papallon
     
    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
    1. Pitet Messages postés 2845 Statut Membre 530
       
      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
    2. Papallon
       
      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
    3. Pitet Messages postés 2845 Statut Membre 530
       
      Essaye d'exécuter directement ta requête de $reqDipl en SQL (avec PhpMyAdmin par exemple) pour contrôler les résultats.
      0
    4. Papallon
       
      Comment je fais ca?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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