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

Requêtes MySQL Discussion :

parcourir une table par rapport à un champ alphanumérique


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Points : 80
    Points
    80
    Par défaut parcourir une table par rapport à un champ alphanumérique
    bonjour,

    je cherche comme le titre l'indique à parcourir une table à l'aide d'un champs 'mail' alphanumérique, normal pour un mail

    voici mes requêtes:

    profil suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete="SELECT * FROM internautes WHERE active='0' AND mail <$mail ORDER BY mail DESC LIMIT 1";
       break;
    profil précédent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="SELECT * FROM internautes WHERE active='0' AND mail >$mail ORDER BY mail ASC LIMIT 1";
    profil du début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="SELECT * FROM internautes WHERE active='0' ORDER BY mail ASC LIMIT 1";
    profil de fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="SELECT * FROM internautes WHERE active='0' ORDER BY mail DESC LIMIT 1";
    les 2 dernières requêtes marchent mais les 2 premières font une erreur de syntaxe.
    La clé de ma table est le champs 'mail'

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut Re: parcourir une table par rapport à un champ alphanumériqu
    Citation Envoyé par noinneh
    comment tu veux dire qu'un mail est supérieur a un autre ??

    < ca marche qu'avec des int ...

    trouve une fonction qui fait ca pour des varchars

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Points : 80
    Points
    80
    Par défaut
    à vrai dire j'avais déjà vu que le problème venait de là mais j'ai laissé ce bout de code parce qu'il montre bien ce que je cherche à faire et que je ne connais pas le code qui ferait la même chose pour des varchars merci quand même

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Pour que cela fonctionne, la colonne "mail" étant certainement de type "char" ou "varchar", il faut encadrer la variable "$mail" de quotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="SELECT * FROM internautes WHERE active='0' AND mail <'$mail' ORDER BY mail DESC LIMIT 1";
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select 'dupont' > 'dupond' retourne 1 (vrai)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select 'dupont' < 'dupond' retourne 0 (faux)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Points : 80
    Points
    80
    Par défaut
    pour faire avancer le schmilblick je peux aussi ajouter un champs date dans ma table contenant la date d'inscription des internautes et classer par rapport à ça mais j'aimerais bien savoir si on peux comparer des varchars dans une requête mysql

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Points : 80
    Points
    80
    Par défaut
    merci jeca ça marche.

  7. #7
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    bien vu jeca, désolé noinneh de pas l'avoir vu plus tôt ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/03/2007, 16h14
  2. Réponses: 7
    Dernier message: 08/03/2007, 16h42
  3. Réponses: 1
    Dernier message: 01/08/2006, 14h43
  4. Réponses: 7
    Dernier message: 12/07/2006, 17h34
  5. effectuer une moyenne par rapport à un champ
    Par djejackk dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/05/2005, 11h59

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