minimouse Posté 21 Mai 2009 Partager Posté 21 Mai 2009 Bonjour, je travaille sur une base de données qui gère les commandes de produits de clients (le client passe commande et je l'enregistre dans la bdd). Je souhaiterais que si le client "Florent" puisse avoir accès à SES informations sur la base de données. Avec ce code s'affichent seulement les informations de Florent <?php function MaConnexion() { $serveur = "mysql5-19"; $login = "login"; $password = "mdp"; $base = "base"; mysql_connect($serveur, $login, $password) or die("Impossible de se connecter au serveur"); mysql_select_db($base) or die("Impossible de sélectionner la base de données");}// Appel à la fonction de connexion au début du scriptMaConnexion();// Recherche des catégories$reponse = mysql_query("SELECT nom, client FROM commande WHERE client='Florent'");while ($donnees = mysql_fetch_array($reponse) ){?><?php echo $donnees['nom']; ?> commande de mr ou mme <?php echo $donnees['client']; ?><br /><?php}mysql_close();?> Ma question est la suivante : comment faire pour que Pierre puisse avoir accès à ses informations (sans voir celles de Florent) ? Merci d'avance pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tizel Posté 21 Mai 2009 Partager Posté 21 Mai 2009 Au moment où le client s'identifie, tu enregistre son identifiant quelque part, et tu ne génère des requêtes qui ne concernent que l'identifiant en question. Ta requete devient "SELECT nom, client FROM commande WHERE client=\'$id_client\'" Tizel Lien vers le commentaire Partager sur d’autres sites More sharing options...
minimouse Posté 21 Mai 2009 Auteur Partager Posté 21 Mai 2009 Merci Tizel pour ta réponse, tu enregistre son identifiant quelque part : l'identifiant est déjà donné au client - il n'a plus qu'à s'identifier. J'ai testé ta "formule" et j'ai eu un message d'erreur Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.53/...php on line 20 Lien vers le commentaire Partager sur d’autres sites More sharing options...
coco2009 Posté 21 Mai 2009 Partager Posté 21 Mai 2009 (modifié) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.53/...php on line 20 signifie qu'il n'y pas de resultats retournés pour palier ce pb il faut que tu testes le résultat : [...] $reponse = mysql_query("SELECT nom, client FROM commande WHERE client='Florent'"); if($reponse){ while ($donnees = mysql_fetch_array($reponse) ) { ?> <?php echo $donnees['nom']; ?> commande de mr ou mme <?php echo $donnees['client']; ?><br /> <?php } } [...] comment stockes-tu l'identifiant du client ? Modifié 21 Mai 2009 par coco2009 Lien vers le commentaire Partager sur d’autres sites More sharing options...
minimouse Posté 22 Mai 2009 Auteur Partager Posté 22 Mai 2009 merci pour ta réponse coco2009, ma table s'appelle commande et j'ai un champ "client" ou sont stockés tous les noms des clients. ce code me donne les résultats pour Florent $reponse = mysql_query("SELECT nom, client FROM commande WHERE client='Florent'");on est d'accord ? mais j'aimerais que : si comme identifiant je tape Michel les informations sur la commande de Michel s'affichent,si comme identifiant je tape Paul les informations sur la commande de Paul s'affichent ... les identifiants sont déjà dans ma bdd. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 22 Mai 2009 Partager Posté 22 Mai 2009 Il est ou le problème, il y a juste à remplacer Florent par l'identifiant souhaité Lien vers le commentaire Partager sur d’autres sites More sharing options...
minimouse Posté 22 Mai 2009 Auteur Partager Posté 22 Mai 2009 ok, mais vu que j'ai plusieurs identifiants comment tu spécifies la condition au niveau du code : si c'est x alors il donne les informations de x mais si c'est y il donne les informations de y Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant