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 :

variable requete sql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 17
    Points
    17
    Par défaut variable requete sql
    Bonjour, bonjour :

    j'ai crée une requete sql qui m'affiche tout les message destiner a certaine personne c'est a dire a moi et a tous .

    je m'explique je veux pouvoir envoyer des message a destination de certaine personne et d'autre a destination de toute les personne .

    pour l'affichage des message j'avais pensser a sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $retour_messages=mysql_query('SELECT * FROM messages WHERE dest="$users" OR dest=("tous") ORDER BY id_mes DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
     
     
    ?>
    $users=julien pour infos

    je crois que c'est une question d'apostrophe ?

    vous en penssez quoi ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 17
    Points
    17
    Par défaut résolu ou pas
    Je crois avoir résolu le problème tout seul :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $retour_messages=mysql_query("SELECT * FROM messages WHERE dest='$users' OR dest='tous' ORDER BY id_mes DESC LIMIT $premiereEntree,$messagesParPage ");
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
     
     
    ?>


    Vous en pensser quoi ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 29
    Points : 17
    Points
    17
    Par défaut no resolu
    oups encore un probleme :

    j'aimerais afficher le nombre d'enregistrement dans ma table qui a comme destinataire julien et tous AND qui a la valeur lu = non .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = mysql_query("SELECT * FROM messages WHERE dest='$users' OR dest='tous' "); //La Requete sert a conter le nombre d'enregistrement ayant comme valeur la variable users et la valeur tous
    $count = mysql_numrows($sql); //On compte le nombre d'enregistrements que contient la table.
     
    @mysql_close($connect); // On se déconnecte de Mysql
    ?>

    ma requette ne fonctionne pas .

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 95
    Points
    95
    Par défaut
    Bonjour

    Tu devrais essayer avec ce type de requête :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) FROM messages WHERE dest IN ('julien','tous') AND lu='non';

    La directive COUNT(*) va compter le nombre de ligne concerné. Ensuite, je te laisse mettre tes variables dans la requête pour la faire à ta sauce !

    Bonne continuation !

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 10
    Points
    10
    Par défaut Mysql obsolète !
    Je vous conseille de ne pas utiliser mysql_query (mysql) car obsolète depuis php 5.5.

    http://php.net/manual/fr/function.mysql-query.php

    Utilisez soit Mysqli, soit PDO.

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    Peut-être que cette piste peut t'aiguiller...
    Pour comparer des chaines de caractère, tu as deux solutions :

    Cette solution vérifiera que le champ soit STRICTEMENT identique à "Valeur" (casse comprise, donc faire attention aux majuscules / minuscules).

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    champ LIKE 'valeur'

    Cette solution vérifiera que le champ "ressemble" à valeur. Il ne tient pas compte de la casse ni des accents. La ligne sera retournée si "champ" vaut "ValeUR", "VALEUR" ou même "Vàlèur".

    A noter que tu mets '$users' dans ta requête. Elle plantera s'il y a une quelconque apostrophe dans ta variable $users.
    Par exemple : si $users vaut "ju'", ta requête sera :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM messages WHERE dest='ju'' OR dest='tous'
    Elle plantera car il y aura une apostrophe non fermée.

    Par ailleurs, il y a une erreur dans ton code : mysql_numrows() n'existe pas, c'est mysql_num_rows(). Si tu n'as pas besoin de la liste des résultats mais uniquement du nombre de résultats, la requête de Couci sera plus adéquate.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 84
    Points : 101
    Points
    101
    Par défaut
    Hello,

    Comme tu es en php tu dois avoir également des problèmes de concaténation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $retour_messages=mysql_query("SELECT * FROM messages WHERE dest='".$users."' OR dest='tous' ORDER BY id_mes DESC LIMIT '".$premiereEntree."','".$messagesParPage."'");
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
     
     
    ?>

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Points : 98
    Points
    98
    Par défaut
    Pas nécessairement. Quand tu mets une variable entre guillemets (et non apostrophes), PHP l'interprète.

    Exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $var = 'toto';
    echo "Mon nom est '$var'";
     
    // Affichera "Mon nom est 'toto'"
     
    echo 'Mon nom est $toto'
     
    // Affichera "Mon nom est $toto"

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Cette solution vérifiera que le champ soit STRICTEMENT identique à "Valeur" (casse comprise, donc faire attention aux majuscules / minuscules).
    Ce n'est pas exact : les colonnes char, varchar et text utilisent la collation pour comparer et trier les valeur.
    A ce titre, LIKE et = se comportent de la même façon.
    Donc avec une collation française non sensible à la casse E = è = É = e.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Points : 98
    Points
    98
    Par défaut
    Autant pour moi, utilisant tout le temps la même collation, je ne me suis jamais posé la question

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

Discussions similaires

  1. Variable requete SQL
    Par Guybrush87 dans le forum Bibliothèques, systèmes et outils
    Réponses: 1
    Dernier message: 27/09/2011, 18h37
  2. Récupérer valeur variable & requete sql
    Par Mouky dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/05/2011, 12h08
  3. [Oracle] Probleme variable requete SQL Oracle PHP
    Par tatann dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/03/2011, 18h25
  4. [MySQL] probleme variable requete SQL
    Par docteurdorian dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 25/05/2009, 16h11
  5. Variable requete sql
    Par bucheman dans le forum C++
    Réponses: 6
    Dernier message: 20/01/2006, 15h15

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