Soucis mysql
Wyzi
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Wyzi Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Wyzi Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour/soir,
Je suis étudiant en première année de bts informatique cette année, j'ai un travail à faire, j'y suis presque arrivé mais je trouve pas la dernière étape.
Si quelqu'un est disponible 5 minutes pour essayer de m'aider et/ou me guider sur une solution, je vous explique le problème.
J'ai une base de donnée mysql type, nommée SAKILA (beaucoup utilisé en étude d'info) composé d'acteurs, de leur nom, prénom, id, filmographie etc ...
L'exercice est :
1) Afficher dans une liste déroulante leur identifiant, nom et prénom.
2) Lorsque l'on clique sur un acteur dans cette même liste, sur la même page ou une autre, la filmographie de celui-ci s'affiche.
J'arrive très bien à faire la première commande suivante :
_______________________________________________________________________
Si quelqu'un a une solution, je suis tout ouïe, hésitez pas à poster des commentaires et je vous répondrai aussi vite que possible si vous avez besoin de précisions.
Merci d'avance,
Wyzi.
Je suis étudiant en première année de bts informatique cette année, j'ai un travail à faire, j'y suis presque arrivé mais je trouve pas la dernière étape.
Si quelqu'un est disponible 5 minutes pour essayer de m'aider et/ou me guider sur une solution, je vous explique le problème.
J'ai une base de donnée mysql type, nommée SAKILA (beaucoup utilisé en étude d'info) composé d'acteurs, de leur nom, prénom, id, filmographie etc ...
L'exercice est :
1) Afficher dans une liste déroulante leur identifiant, nom et prénom.
2) Lorsque l'on clique sur un acteur dans cette même liste, sur la même page ou une autre, la filmographie de celui-ci s'affiche.
J'arrive très bien à faire la première commande suivante :
_______________________________________________________________________
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=sakila;charset=utf8', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $reponse = $bdd->query('select actor.actor_id, actor.last_name, actor.first_name, film.title, release_year FROM actor inner join film_actor on (actor.actor_id=film_actor.actor_id) inner join film on (film_actor.film_id=film.film_id) order by 1,2,3,4,5'); ?> <table border=1 cellpadding=3 cellspacing=1> <tr> <td>actor_id</td> <td>last_name</td> <td>first_name</td> <td>title</td> <td>release_year</td> </tr> <?php //On affiche les lignes du tableau une à une à l'aide d'une boucle //while($donnees = mysql_fetch_array($reponse)) while ($donnees = $reponse->fetch()) { ?> <tr> <td><?php echo $donnees['actor_id'];?></td> <td><?php echo $donnees['last_name'];?></td> <td><?php echo $donnees['first_name'];?></td> <td><?php echo $donnees['title'];?></td> <td><?php echo $donnees['release_year'];?></td> </tr> <?php } //fin de la boucle, le tableau contient toute la BDD $reponse->closeCursor(); //deconnection de mysql ?> </table>
EDIT : Ajout des balises de code (jordane)
J'arrive à afficher la filmographie d'un acteur, mais je n'arrive pas à lier les deux, c'est à dire cliquer sur un acteur et la liste apparaît.Si quelqu'un a une solution, je suis tout ouïe, hésitez pas à poster des commentaires et je vous répondrai aussi vite que possible si vous avez besoin de précisions.
Merci d'avance,
Wyzi.
A voir également:
- Soucis mysql
- Mysql community server - Télécharger - Bases de données
- Could not connect to mysql! please check your database settings! - Forum Redhat
- Mysql error 1 ✓ - Forum Réseaux sociaux
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Access vs mysql - Forum Webmastering
2 réponses
Bonjour,
Première petite remarque ... avec un order by .. en général on y met le nom d'un champ. ID par exemple.
Ou si tu veux que le tri se fasse par ordre alphabétique.. tu peux faire le order by sur le champ 'last_name' (ce qui me semblerait le plus logique)
Pour ce qui est de ta question.... plusieurs possibilités.
La plus simple serait de mettre, pour chaque ligne de ton tableau, un lien vers une seconde page avec en paramètre (voir les variables GET) l'ID de l'acteur.
Et sur cette seconde page... lire la variable GET (contenant l'id donc) pour afficher les infos de cet acteur.
Mais vu que la question concerne une liste déroulante (ce n'est pas ce que tu as fait !! ) il suffit alors d'utiliser le onclick et une petite fonction javascript qui te renvoie vers la page à afficher.....
NB : Une liste déroulante... c'est en utilisant, par exemple, un SELECT (html) => http://www.startyourdev.com/html/tag-html-balise-select
Première petite remarque ... avec un order by .. en général on y met le nom d'un champ. ID par exemple.
Ou si tu veux que le tri se fasse par ordre alphabétique.. tu peux faire le order by sur le champ 'last_name' (ce qui me semblerait le plus logique)
Pour ce qui est de ta question.... plusieurs possibilités.
La plus simple serait de mettre, pour chaque ligne de ton tableau, un lien vers une seconde page avec en paramètre (voir les variables GET) l'ID de l'acteur.
Et sur cette seconde page... lire la variable GET (contenant l'id donc) pour afficher les infos de cet acteur.
Mais vu que la question concerne une liste déroulante (ce n'est pas ce que tu as fait !! ) il suffit alors d'utiliser le onclick et une petite fonction javascript qui te renvoie vers la page à afficher.....
NB : Une liste déroulante... c'est en utilisant, par exemple, un SELECT (html) => http://www.startyourdev.com/html/tag-html-balise-select
Bonjour Jordane45,
Merci beaucoup pour ta réponse, je m'attendais pas à une réponse aussi rapide.
Oui effectivement c'est un tableau et pas la liste ; je n'ai pas fais attention en postant, j'ai un autre fichier où j'ai fais la liste déroulante, ici c'était mon premier test pour la commande SQL que je ne connais que très peu.
J'essaye de corriger tout ça dans la journée, puis-je laisser open le sujet quelques jours au cas où j'aurai besoin de plus d'informations sur la solution que tu m'as proposé ? Je la mettrai bien évidemment résolu dès que j'aurai fini.
Wizi.
Merci beaucoup pour ta réponse, je m'attendais pas à une réponse aussi rapide.
Oui effectivement c'est un tableau et pas la liste ; je n'ai pas fais attention en postant, j'ai un autre fichier où j'ai fais la liste déroulante, ici c'était mon premier test pour la commande SQL que je ne connais que très peu.
J'essaye de corriger tout ça dans la journée, puis-je laisser open le sujet quelques jours au cas où j'aurai besoin de plus d'informations sur la solution que tu m'as proposé ? Je la mettrai bien évidemment résolu dès que j'aurai fini.
Wizi.