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 :

Condition qui ne fonctionne pas comme souhaité


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Par défaut Condition qui ne fonctionne pas comme souhaité
    Bonjour,

    J'ai un problème avec mon code au niveau de la condtions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($rps['following_id'] == $donnees['pseudo'])
    car elle ne s'applique uniquement pour un membre et pas illimités
    donc le but est d'afficher la publication uniquement si les ou l'utilisateur à été follow sauf que ça ne marche qu'a moitié car en executant le code il affiche les messages d'un seul utilisateur follow alors que la personne à follow plusieurs personnes qui ont toutes publiés quelque chose mais qui ne s'affiche pas pouvez vous m'éclairer la dessus SVP.

    Merci d'avance pour votre aide et bon courage.

    Cordialement Rombutucraft

  2. #2
    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
    Par défaut
    Les requêtes imbriquées ce n'est pas une bonne méthode.
    Surtout si tu lis l'intégralité de la deuxième table à chaque boucle, alors là c'est carrément un accident industriel.

    Il te faut jointure entre les deux tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT pseudo, message
    FROM minichat m
    JOIN follow f ON m.pseudo = f.following_id
    par contre c'est étrange d'avoir "pseudo" d'un côté et "id" de l'autre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Par défaut
    Désolé sabotage mais je ne comprend pas trop ou mettre ton code.

  4. #4
    Membre Expert Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Par défaut
    Hello Rombutucraft,

    En remplacement du query $reponse
    et virer la boucle $rp ... je suppose
    et là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($rps['following_id'] == $donnees['pseudo'])
    Tester le changement d'id ou pseudo si following_id correspond au pseudo ?

    Si tout ça ne te parle pas
    Il faudrait donner quelques lignes des 2 tables follow et minichat et le résultat attendu ...

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Par défaut
    Pareil je ne comprends pas trop ton message vttman
    Et que signifie le petit m dans le code de sabotage ?

    Table messages:

    Nom : message.PNG
Affichages : 124
Taille : 35,6 Ko

    Table follow:

    Nom : follow.PNG
Affichages : 119
Taille : 34,4 Ko

  6. #6
    Membre Expert Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Par défaut
    Le m de sabotage c'est un alias pour simplifier la lecture ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT pseudo, message
    FROM minichat m
    JOIN follow f ON m.pseudo = f.following_id
    <=>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT pseudo, message
    FROM minichat 
    JOIN follow  ON minichat.pseudo = follow.following_id
    Pour te donner une exemple de ce que je raconte
    soit une table commande
    CDE(Num_cde)
    soit une table détail commande
    DETCDE(Num_cde, lig_cde)

    Je peux pour lister toutes les lignes détails commande
    faire un query sur CDE puis faire un query sur DETCDE soit 2 query, comme dans ton cas
    ou faire directement un SEUL query sur CDE + DETCDE grâce aux jointures
    c'était l'idée que j'exposais (+ normalement sabotage)
    mais dans tes id je me perds pour lier tes 2 tables ? c'est quoi la relation entre ces 2 tables ?

Discussions similaires

  1. [MySQL] Un formulaire qui ne fonctionne pas comme il faut (problèmes avec stripslashes & com)
    Par vincent.b dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/04/2007, 20h02
  2. requete qui ne fonctionne pas comme je shouterais
    Par domino_dj dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/04/2007, 12h27
  3. un if qui ne fonctionne pas comme je veux
    Par Kelly182 dans le forum Access
    Réponses: 4
    Dernier message: 27/07/2006, 15h12
  4. [vb.net] Condition qui ne fonctionne pas
    Par dyree dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2006, 09h55
  5. time.sleep() ne fonctionne pas comme souhaité
    Par Olivier_ dans le forum Général Python
    Réponses: 3
    Dernier message: 19/11/2005, 01h46

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