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 :

affichage d'éléments provenant de 2 tables [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut affichage d'éléments provenant de 2 tables
    Salut, salut,
    cela fait 2 jours que je me penche sur une application, et ne trouvant pas la solution, je me vois contraint d'embeter tout le monde pour touver la soluce.
    voila, pour faire simple, je travaille sur 2 tables
    rubriques
    idrubrique
    titrerubrique
    idmagazines
    et
    articles
    idarticle
    titre
    idrubrique
    idmagazines

    l'application est un espace d'administration de magazine,
    tout d'abord, une page pour choisir le numero de magazine que j'envois et enregistre dans la variable $idmag.
    j'affiche dans un formulaire les articles pouvant etre modifiés, associés à leur rubrique et relatifs au magazine choisit precedemment. Avec le code que je vais vous presenter, j'arrive à afficher les articles et en face, la rubrique a laquelle il est liée, via jointure idrubrique. Le probleme est que l'administrateur doit pouvoir modifier la rubrique de l'article si il le souhaite, soit afficher un menu deroulant avec toutes les rubriques du magazine à coté de l'article. voila le code (dans le head) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?
    	$idmag=$_POST['numero'];
    	include("../connection/connection.inc");
    	if (isset($_POST['Ajouter']) && $_POST['Ajouter'] == 'ajouter') {
    			$titre=htmlentities(trim($_POST['titre']));
    			$idmag=trim($_POST['numero']);
    			$idrub=$_POST['rubriques'];
    			$sql2 = "INSERT INTO articles (titre, idrubrique, idmagazines) VALUES ('$titre', '$idrub', '$idmag')";
                mysql_query($sql2) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	}
     
    	if (isset($_POST['Supprimer']) && $_POST['Supprimer'] == 'supprimer') {
    			$idarticle=$_POST['idarticle'];
    			$sql3 = "DELETE FROM articles WHERE idarticle=$idarticle";
                mysql_query($sql3) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	}
    	if (isset($_POST['Modifier']) && $_POST['Modifier'] == 'modifier') {
    			$idarticle=$_POST['idarticle'];
    			$titre=$_POST['titre'];
    			$sql4 = "UPDATE  articles SET titre='$titre' WHERE idarticle=$idarticle";
                mysql_query($sql4) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	}
     
     
    	$sql = "SELECT * FROM rubriques WHERE rubriques.idmagazines=$idmag";
        $res = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
     
    	$resrubriques = mysql_query("SELECT * FROM rubriques, articles WHERE rubriques.idmagazines=$idmag IN (articles.idrubrique=rubriques.idrubrique)");
    	?>
    puis dans le body :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <table>
    		<? 
    				while($ligne=mysql_fetch_array($resrubriques)) {  
    				extract($ligne); 
    				$toutesrub=$ligne['rubrique'];
    				$rub= array ("$toutesrub");				
    										?>
     
    				<form method="post" name="choixmag" action="">
    			<tr>
    				<td>
    					<select name="titrerubriques">
    					<option value="<? echo $ligne['idrubrique']?>"><? echo $ligne['titrerubrique']; ?></option>
    					</select>
     
    					<input type="text" name="titre" value="<? echo $ligne['titre']; ?>" />
    					<input type="hidden" name="idarticle" value="<? echo $ligne['idarticle']; ?>" />
    					<input type="hidden" value="<? echo $idmag; ?>" name="numero" />
    					<input type="submit" value="modifier" name="Modifier"/> <input type="submit" value="supprimer" name="Supprimer"/><br/>
    				</td>
    			</tr>
    		</form>
    		<? } ?>
    		</table>
    si quelqu'un veut bien m'aider, cette personne fera de moi un homme heureux, car pour l'instant, comme mon pseudo l'indique, jniarrivepa !!!!!!
    merci par avance et bonne fin de journée à tous

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Oui et ? Qu'est-ce qui ne marche pas ? Quels sont les symptômes ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    cela fonctionne, il n'y a pas d'erreur mais je n'arrive pas à obtenir ce que je veux. actuellement, dans le select figure 1 seule rubrique et j'aimerais que toutes les rubriques figurent pour chaque article.
    J'espere que ce que je raconte est a peu pres clair.
    en fait, en face de chaque ligne article, je dois obtenir un menu deroulant avec toutes les rubriques et comme je ne sais pas faire grand chose, je n'arrive à afficher qu'une seule rubrique dans ce menu deroulant, celle associée par l'idrubrique à l'article
    voilou, voilou

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ca paraît logique vu que tu mets un seul OPTION et que cet ajout n'est pas dans une boucle...

    Tu peux refaire une requête dans ta base au moment de créer ta liste pour récupérer les ids et noms des rubriques et le tour est joué.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    je dois effectuer une nouvelle requete et une nouvelle boucle à l'interieur de la premiere ?
    excuse moi si ma question est stupide mais j'essai de comprendre

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par jniarrivepa
    je dois effectuer une nouvelle requete et une nouvelle boucle à l'interieur de la premiere ?
    excuse moi si ma question est stupide mais j'essai de comprendre
    Oui c'est ça que je voulais dire, mais en fait à y repenser vu que tu feras toujours exactement la même requête c'est de la faire au début de ta page (avant de parcourir les articles), tu stockes le résultat dans un tableau associatif (idrubrique => nomrubrique) comme ça tu fais une boucle sur ce tableau pour remplir chacun de tes select et c'est bon.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup pour ta reponse. je tente tout de suite

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut :resolu:
    c'est exactement ce que je voulais.
    Je ne te fais pas de bisous mais presque !!!
    non serieusement, merci beaucoup pour ton aide, cela me permet d'avancer et me permet de comprendre l'utilisation des boucles imbriquées.

    bon week end à tous !

  9. #9
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par jniarrivepa
    Je ne te fais pas de bisous mais presque !!!


    Content de t'avoir aidé, bon week
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

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

Discussions similaires

  1. [MySQL] bug affichage données provenant d'une table
    Par claire34 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 13/12/2010, 14h13
  2. Réponses: 2
    Dernier message: 08/10/2008, 13h08
  3. Réponses: 6
    Dernier message: 12/03/2007, 11h33
  4. Réponses: 5
    Dernier message: 03/02/2006, 10h45
  5. Une référence à un élément de sa propre table
    Par szdavid dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/06/2004, 10h46

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