Récupérer les valeurs liste selection multipl

TDR -  
 TDR -
Bonjour,
Je cherche à récupérer les valeurs liste selection multiple via des tables sql et l'utilisation de phpPour infos,
Pour info: J'ai 3 tables: 1 fiches, 1 compétences, 1 jointure.
J'arrive à afficher la liste des compétences mais le problème est que la liste de compétences (que j'affiche via 3 boucles while) s'affiche sur toutes les fiches.
Exemple: fiche 1: 1,2,5,9,7. fiche 2: 1,2,5,9,75,6,1,8,7,9
Du coup j'ai un problème lors de l'affichage des compétences, j'ai bien penser à mettre un DISTINCT mais ça ne marche pas non plus >.>
Sinon peu être changer de boucle? parceque j'ai 2 while dans 1 while... hmm...
Je n'en sais rien, je cherche encore.

Merci pour vos réponse
:)

10 réponses

avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
« les valeurs liste selection multiple »
??
0
TDR
 
Les valeurs d'une liste de selection de type multiple
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Dans le name, ajoutes des crochets à la fin.
Exemple :
<select name="nomListe[]" multiple="multiple">
Ainsi, $_POST['nomListe'] sera un array avec autant d'entrée que de choix.
0
TDR
 
Tu n'a pas compris ma requete.
Mon probleme est le suivant:
http://img534.imageshack.us/img534/8997/capt1x.png
http://img694.imageshack.us/img694/2879/capt2.png

Comme ont peux le voir, lors de l'affichage de la liste des competences de chaque fiche via une boucle while. Celles ci ceux retrouve coller les unes aux autres...

Merci pour vos réponses
:)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Tu saurais être plus clair ?
0
TDR
 
Donc,
J'ai une page d'affichage de fiche pour un portofolio.
Chaque fiches de cette page contient des compétences qui sont gérer dans une table jointe de ma bdd.
Mon problème est que lors de l'affichage des compétences de chaque fiches via une boucle while.
Les compétences de la fiche 1 se retrouvent ajouter à la fiche 2, etc, etc...
Comme ont peux le voir ici:
Fiche 1
http://img534.imageshack.us/img534/8997/capt1x.png
Fiche 2
http://img694.imageshack.us/img694/2879/capt2.png

Je ne comprend pas pourquoi elles s'ajoute aux autres fiches... peut être (voir surement) parceque j'ai deux boucles while à l'intérieur d'une.

J'espere avoir été plus clair.
Merci pour vos réponses.
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Maintenant c'est clair :)
Le mieux est que tu montres ton code pour que je vois où est le problème.
0
TDR
 
Le voici:
	// All users ordered by user_name column
	$sql->db_Select("portofolio_references", "*", "ORDER BY portofolio_ref_id ASC LIMIT 0,4", "no-where");
	while($row = $sql->db_Fetch()) {
		$id_fiche = $row[0];
		$image_grosse_aff = "<img src='".e_PLUGIN."portofolio/upload/".$row[1]."' alt='' style='width:350px;height:300px;' />";
		$image_petite1_aff = "<img src='".e_PLUGIN."portofolio/upload/".$row[2]."' alt='' style='width:185px;height:149px;border-left:1px solid #fff;' />";
		$image_petite2_aff = "<img src='".e_PLUGIN."portofolio/upload/".$row[3]."' alt='' style='width:185px;height:150px;border-left:1px solid #fff;border-top:1px solid #fff;' />";
		$titre_aff = $row[4];
		$contenu_aff = $row[5]; 
		$lien_site_aff = "<a href='http://".$row[6]."' title='Vistez le site' target='_blank'><img src='".e_PLUGIN."portofolio/images/visitez_le_site.png' alt='Lien fiche' /></a>";
		$tech_aff = $row[7];
				
		// je ramene les id des compétences du membre
		$query_l_competences = "SELECT portofolio_references_portofolio_ref_id, portofolio_competences_portofolio_comp_id 
									FROM ".MPREFIX."portofolio_references_has_portofolio_competences 
										WHERE portofolio_references_portofolio_ref_id='$id_fiche'";								
		$result_l_competences = mysql_query($query_l_competences) OR DIE (mysql_error());

		while($row = mysql_fetch_row($result_l_competences)){
			$id_competences_collaborateur = $row[0];
			$id_competences_liste = $row[1];	
			
			$comp_list .= $id_competences_liste.",";
		}
		
		// on place le resultat dans une variable et on enleve le dernier caractere
		$comp_list = rtrim($comp_list,",");

		// je ramene les noms des competences du membre
		$query_competences = "SELECT portofolio_comp_id, portofolio_comp_nom, portofolio_comp_libelle 
								  FROM ".MPREFIX."portofolio_competences 
									  WHERE portofolio_comp_id IN ($comp_list)";
		$result_competences = mysql_query($query_competences) OR DIE (mysql_error());

		while($row = mysql_fetch_row($result_competences)){
			$id_competences = $row[0];
			$nom_competences = $row[1];
			
			$noms_comp .= "<li>$nom_competences</li>";
		}
		
		// $Description = $tp->toFORM($tp->html_truncate($download_description, 230, "..."));
		
		$contenu .= "
			<div class='panel' title='Fiche $id_fiche'>
				<div class='wrapper'>
					<div style='float:left;margin:0;padding:0 0px 0 0;width:350px;'>
						$image_grosse_aff
					</div>
					<div style='float:left;margin:0;padding:0;width:185px;'>
						$image_petite1_aff
						$image_petite2_aff
					</div>
					<div style='float:left;width:350px;'>
						<h3>$titre_aff</h3>
						<p>
							$contenu_aff
							$lien_site_aff<br />$comp_list
						<p>
					</div>
					<div style='float:left;width:185px;'>
						<h3>Comp&eacute;tences utiliser:</h3>
						<div class='checkList'>
						<ul class='check'>
							$noms_comp
						</ul>
					</div>
				</div>
				</div>
			</div>	
		";
	}


Note la premiere requete est un select fait avec e107 (cms)
0
avion-f16 Messages postés 20367 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Dans la deuxième while, utilise $row2 au lieu de $row.
Ou plus clair : $rowCompetences
0
TDR
 
Je viens de le faire et ça ne change rien, j'ai donner un $row différent pour chacune des boucles: $row $row2 $row3
Cela dis s'étais une bonne idée :)
0