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
:)
Configuration: Windows 7 / Firefox 3.5.8

10 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    « les valeurs liste selection multiple »
    ??
    0
  2. TDR
     
    Les valeurs d'une liste de selection de type multiple
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Tu saurais être plus clair ?
    0
  7. 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
  8. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Maintenant c'est clair :)
    Le mieux est que tu montres ton code pour que je vois où est le problème.
    0
  9. 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
  10. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Dans la deuxième while, utilise $row2 au lieu de $row.
    Ou plus clair : $rowCompetences
    0
  11. 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