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 :

Requête php mysql en fonction d'un "foreach" ? [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2011
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 63
    Par défaut Requête php mysql en fonction d'un "foreach" ?
    Bonjour à tous,

    Désolé pour ma demande "brouillon" mais je nage.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <? $ids = explode("-", $_COOKIE['ids']);
    foreach($ids as $ids) {
    echo $ids.'-';
    }
    ?>
    Ceci me retourne bien des ids, par exemple : 122-45-65-89 etc.

    Maintenant voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT ID FROM articles")
    Comment faire pour sélectionner UNIQUEMENT les articles dont l'ID ne se trouve PAS dans la liste des ids du cookie ?

    Merci d'avance de me sauver !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Les fonctions mysql_* sont obsolètes. Utilise mysqli_* ou PDO.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <? $ids = implode(",", explode("-", $_COOKIE['ids']));
    echo $ids;
    mysqli_query ("SELECT ID FROM articles where ID not in (".$ids.")";
    ?>
    Sinon si le champ id n'est pas un entier, pense à utiliser mysqli_prepare

    A+.

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 319
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 319
    Billets dans le blog
    17
    Par défaut
    (PS : rien n'empêche $_COOKIE['ids'] de contenir un tableau d'IDs plutôt qu'une chaîne de caractères)

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2011
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 63
    Par défaut
    Hello !

    Merci pour vos réponses.
    Je vais me pencher sérieusement vers pdo car je n'y connais rien (l'impression de tout devoir reprendre à 0 snif)

    En attendant, voici le soucis en essayant votre astuce :

    Si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT ID FROM articles where ID not in (".$ids.") AND post Like 'ok');
    J'ai cette erreure :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '122,98) AND p' at line 1
    Par contre si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SELECT ID FROM articles where ID not in (122,98) AND post Like 'ok');
    ça marche parfaitement... à n'y rien comprendre ! :/

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 319
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 319
    Billets dans le blog
    17
    Par défaut
    Débogage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "SELECT ..." ;
    mysql_query($sql) or exit($sql . ' - ' . mysql_error( ));

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2011
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 63
    Par défaut
    ok ! Avec le débug j'ai vu un problème de virgule
    Merci beaucoup !

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

Discussions similaires

  1. comment créer un array js à partir d'une requête PHP Mysql
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/08/2008, 23h29
  2. [AJAX] InlineMod - Ajax - Requêtes PHP-MySQL
    Par funkyy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/04/2008, 17h17
  3. [MySQL] pb de requête php /mysql
    Par digger dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 10/05/2007, 09h37

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