Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/02/2007, 11h01   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 15
Points : 2
Points : 2
Par défaut [Conception] Comment ne faire apparaitre qu'1 seule fois une variable?

Bonjour à tous!!

Je vous explique. J'ai une table avec une colonne nom_manga et nom_musik.
Comme un manga a plusieurs musiques il y a forcément plusieurs fois le nom du manga. J'aimerai savoir comment faire pour, lorsque je récupere le nom des mangas par une requete, afficher le nom d'un manga qu'une seule fois au lieu qu'il se repete autant de fois qu'il y a de ligne. Si vous avre besoin d'infos supplémentaires n'hésitez pas merci.
axou1er est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 11h05   #2
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
J'imagine deux possibilités :
- ou bien faire deux requetes, la première récupérant les mangas, et la seconde pour chaque manga la liste des musiques associées
- ou bien faire une requete avec jointure, en faisant un order sur tes mangas, et stocker l'id du manga pour tester à l'enregistrement suivant si on est toujours sur le même.

La deuxième a l'avantage de ne récupérer que les mangas qui ont au moins une musique, mais elle reste plus "bidouille" pour moi.
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 11h13   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 15
Points : 2
Points : 2
Voila mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
	function choix_ost(){
		$req="select nom_manga from ost";
		$result=mysql_query($req) or die ("Erreur dans la requete");
		echo'<p align="center">O.S.T Disponibles</p>';
		while ($data=mysql_fetch_array($result)){
			$blaze=$data['nom_manga'];
			echo'<tr><td><a href="affiche_ost.php?nom='.$blaze.'">'.$blaze.'</a></td></tr>';
		}
	}
?>
Si j'utilise ta 1ere possibilité ma requete affichera plusieurs fois le meme nom non?
axou1er est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 11h18   #4
Membre chevronné
 
Inscription : juin 2005
Messages : 572
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : juin 2005
Messages : 572
Points : 690
Points : 690
Au temps pour moi j'avais mal lu.
Si tu as une colonne nom_manga et une colonne nom_musique, sachant qu'on a une relation 1-n ou m-n c'est au niveau de la conception qu'il faut revoir la chose :

Il te faut 2 tables séparées musique et manga.
Si une musique n'apparait que dans un manga, alors la table musique aura une clé étrangère qui pointera vers la table manga.
Si une musique peut apparaitre dans plusieurs mangas, alors on aura une table association entre les deux (avec une clé étrangère pour chaque table).

Mais on est ici dans le domaine de la construction des BDD et non de l'utilisation des BDD avec php

La deuxième solution reste donc viable en faisant un test non pas sur l'id du manga mais sur le nom (mais non fiable a 100% du coup )
ratapapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2007, 11h20   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 15
Points : 2
Points : 2
J'avais pas pensé à faire 2 tables. Merci beaucoup!
axou1er est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h26.


 
 
 
 
Partenaires

Hébergement Web