{MySQL} Liste déroulante, choix table BDD

Fermé
André - 27 juin 2009 à 15:18
 André - 27 juin 2009 à 16:27
Bonjour, je souhaiterais réaliser une liste déroulante en PHP.

Je vous explique, j'ai créé un script qui permet aux visiteurs de mon site de voir, par exemple différents message que j'ai dans mes tables. Par exemple des news.
J'ai par exemple
     $requete = mysql_query('SELECT Titre, Article, Auteur FROM id_articles') OR die('Erreur de la requête MySQL');

     mysql_close();


 while($resultat = mysql_fetch_assoc($requete))
     {  
          echo '<p>Titre : '.$resultat['Titre'].'. Texte : '.$resultat['Article'].'</p>';  
		  echo '<p>Auteur : '.$resultat['Auteur'].'</p>';
     }  
?>

pour afficher le titre de la news, le texte et le nom de son auteur.

Cependant, j'ai plusieurs tables (par exemple une qui comprend les news Informatique, une autre qui comporte les news People, une autre qui comporte les news cinéma etc...

Je souhaiterais donc que, au dessus de ce code, il y ai une liste déroulante qui permette aux visiteurs de choisir les news de quelle table qui s'afficheront.

Voilà, merci beaucoup d'avance.
A voir également:

4 réponses

moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
27 juin 2009 à 15:44
Hello
C'est une liste à valeur dynamique directement récupéré par SELECT en base ou une liste qui redirige vers une autre page quand on clique sur l'item de son choix...?
Cas 1 par ex : les valeurs de la liste sont récuérées en base de données donc on fait dans une boucle un truc du style

while ($type = mysql_fetch_array($query)) {
echo "<option value=".$type['CatId'].">".$type_inscription['ProfilUser']." </option>";
}


A ton écoute pour aider
0
Bonjour, tout d'abord, merci beaucoup de m'aider.

Alors je suis désolé mais je ne suis vraiment pas un pro en PHP et MySQL, donc j'ai du mal à tout comprendre.
Je vais essayer d'expliquer, dans mes mots à moi ^^ sinon je n'y arriverais pas.

Alors, je souhaite faire une liste déroulante, les visiteurs cliquent par exemple sur le premier "bouton" et en dessous (là où il y a actuellement le code
$requete = mysql_query('SELECT Titre, Article, Auteur FROM id_articles') OR die('Erreur de la requête MySQL');

     mysql_close();


 while($resultat = mysql_fetch_assoc($requete))
     {  
          echo '<p>Titre : '.$resultat['Titre'].'. Texte : '.$resultat['Article'].'</p>';  
		  echo '<p>Auteur : '.$resultat['Auteur'].'</p>';
     }  
?>

qui lui affiche seulement les messages de cette table, et bien je voudrais que lorsque l'on clique sur l'un des "boutons" ce soit les messages des tables correpondantes aux boutons qui soient affichés.
Par exemple le bouton 1 correspond à la table1, les messages de la table 1 seraient affichés
bouton 2 correspond à la table2, les messages de la table 2 seraient affichés etc...

Comme si c'étaient un menu de rubrique mais sous forme de menu déroulant.


Alors je sais, c'est pas vraiment très clair ^^ et je m'en excuse, je ne sais pas trop comment expliquer, j'espère que vous me pardonnerez et arriverez tout de même à me comprendre.

Merci d'avance.
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
27 juin 2009 à 16:14
Précisemment, qu'est ce que tu n'arrives pas à faire. ?
Y a t-il des messages d'erreur si oui lesquels.?

Les listes déroulantes peuvent avoir plusieurs usage. C'est justement ça que je n'arrive pas à savoir te concernant
0
Merci de bien vouloir m'aider mais je vois que sa devient très compliqué, j'ai trouvé quelque chose pour contourner cette formalité:
j'ai mis des liens: LIEN1 ==>vers les messages de la table1
LIEN2==>vers les messages de la table2
etc...
avec chaque page son propre code du même genre qui affiche les messages quelle contient
$requete = mysql_query('SELECT Titre, Article, Auteur FROM id_articles') OR die('Erreur de la requête MySQL');

     mysql_close();


 while($resultat = mysql_fetch_assoc($requete))
     {  
          echo '<p>Titre : '.$resultat['Titre'].'. Texte : '.$resultat['Article'].'</p>';  
		  echo '<p>Auteur : '.$resultat['Auteur'].'</p>';
     }  
?>

je modifie simplement ici $requete = mysql_query('SELECT Titre, Article, Auteur FROM id_articles')
à la place de id_articles je met le nom de la table 2 etc....
Merci d'avoir bien voulu m'aider et de m'avoir accorder du temps.

Cependant j'ai bien une autre question, si c'est possible de m'aider, c'est bien plus simple (je pense) et je saurais l'expliquer clairement:

-je souhaiterais tout simplement que les visiteurs puissent écrire des message, en gros, un formulaire avec les différents champs qui s'enregistrent dans la BDD.

J'ai donc fait:

<form action="#" method="post">
Auteur: <input type="text" name="Auteur" /><br />
Titre: <input type="text" name="Titre" /><br />
Message: <input type="text" name="Message" /><br />
<input type="submit" name="envoyer" value="envoyer le message" />
</form>

<?php
     mysql_connect('HOST', 'TABLE', 'PASS') OR die('Erreur de connexion à la base');
     mysql_select_db('BASE') OR die('Erreur de sélection de la base');
//Le traitement en php : 
if(isset($_POST['envoyer'])) {
$Auteur = $_POST['Auteur'];
$Titre = $_POST['Titre'];
$Message = $_POST['Message'];

$query = mysql_query("INSERT INTO id_articles VALUES('','".$Auteur."', '".$Titre."', '".$Message."'");
if($query) {
echo ' enregistrement ok !';
}
}
?>


mais sa ne marche pas, la page reste blanche à la place de me renvoyer le message echo et rien ne s'enregistre dans la BDD, quelle serait le problème ?

Merci de votre aide et bonne journée.
0