IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Faire une recherche par la première lettre (ou chiffre) d'une liste


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Faire une recherche par la première lettre (ou chiffre) d'une liste
    Bonjour !

    Depuis peu, je cherche un moyen de rechercher par la première liste des mots de ma base de données. J'ai réussi à afficher une liste sans grand effort grâce à cette fonction toute simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    echo "0/9";
    for ($i=ord("A");$i<=ord("Z");$i++)
       {
          echo ' - <a href="recherche_tests.php?lettre='.chr($i).'">'.chr($i).'</a> ';
       }
    ?>
    Je sais qu'il n'est pas du tout optimisé (2 écho...) mais il y a une raison... En fait, je connais la fonction pour trier par la première lettre des mots, mais pas si ces mots commencent par un chiffre (exemple simple : 50 Cents). Dans ce cas là, impossible de retrouver ce terme dans la recherche. Je cherche alors un moyen simple d'afficher les éléments de ma base de données qui commencent par quelque chose autre que par une lettre de l'alphabet.

    Quelque chose pour me mettre sur la voie ? Merci d'avance !

  2. #2
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 111
    Points : 152
    Points
    152
    Par défaut
    Regardes la fonction sort()

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Ah ça a l'air de s'y approcher !

    Donc j'ai récupéré un bout de code que j'ai arrangé comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php $chiffres = array("04","6","031","7","041");
    sort ($chiffres);
    foreach ($chiffres as $key => $val) {
      echo $val." ";
    } ?>
    Et ça donne ce résultat :

    04 - 6 - 7 - 031 - 041
    Le problème c'est que j'aimerais que ça soit trié comme si c'était en ordre alphabétique et non pas si c'étaient des nombres, donc ça devrait donner ça :

    031 - 04 - 041 - 6 - 7
    Autre piste ? Quelque chose à changer dans le morceau de code ?

    EDIT : Bon j'ai trouvé comment faire pour que ça soit trié par "lettre" et non pas par "valeur du nombre" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php $chiffres = array("04","6","031","7","041");
    sort ($chiffres,SORT_STRING);
    foreach ($chiffres as $key => $val) {
      echo $val." ";
    } ?>
    Maintenant, comment cela pourrait-il marcher après une demande SQL pour le tri ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM jeux WHERE titre LIKE '%A'
    Ca c'est pour les lettres, comment faire pour adapter au code pour récupérer les jeux avec le titre commençant par des numéros ?

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 111
    Points : 152
    Points
    152
    Par défaut
    T'y mets dans un tableau, on va dire tab[] pis tu fais sort ($tab['titre'],SORT_STRING);
    ça marches pas?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Est-ce que je peux créer un tableau avec mysql_fetch_array des résultats que je recherche pour ensuite utiliser le résultat avec le code que j'ai utilisé avant ?

Discussions similaires

  1. Réponses: 22
    Dernier message: 23/07/2010, 10h25
  2. [MySQL] Faire une recherche par DATE
    Par bullrot dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 14/10/2008, 14h38
  3. Faire une recherche par date
    Par ghnawfal dans le forum JSF
    Réponses: 13
    Dernier message: 11/04/2008, 07h35
  4. Faire une recherche par mot-clé
    Par Nelmo dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/06/2006, 16h56
  5. Réponses: 4
    Dernier message: 26/05/2006, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo