Page 1 sur 1

Récupérer la valeur d'une ligne en particulier après un ForE

Posté : 30 juil. 2007, 14:06
par Pierig
Bonjour,

Le problème :

Je souhaite récupérer des valeurs entre deux pages différentes.
J'utilise des variables des type hidden pour récupérer ces valeurs.

Voici comment c'est fait.

Imaginez une liste comme celle ci :

1 popo pipi
2 lolo lili
3 fofo fifi
etc...


en bout de ligne j'ai ajouter une image (détail, vous savez la p'tite loupe) et normallement lorsque l'on click dessus on arrive sur la deuxième page avec toutes les données un peu plus spécifiques en rapport avec la ligne sur laquelle on click.

Je ne sait pas comment faire pour avoir les données correspondant à la ligne.
En gros c'est ça le problème.

Le processus est :

Je lit dans ma base et avec un foreach je met tout ça dans ma variable.
Ensuite je fait des ECHO et j'affiche les données.
Comment faire pour afficher les données de la bonne ligne sur laquelle je clique.

Voilà voilà :)

Mici et bonne journée

Posté : 30 juil. 2007, 14:17
par Ryle
L'habitude veut qu'en général, le lien sur ton icone ouvre une nouvelle page en spécifiant uniquement l'id de la ligne concernée dans l'url (href="voir_detail.php?id=xxx"), ce qui te permet de récupérer cet identifiant ($_GET['id']) et de refaire une requête en base pour ne ramener que les données de l'enregistrement demandé :)

Posté : 30 juil. 2007, 14:28
par Pierig
D'accord je pense comprendre comment il faut faire.
Je ne peut par contre par faire comme tu l'as indiqué.
La façon dont est faite le site ne me permet pas d'ajouter l'id à la fin de l'url :(

J'avais penser à quelquechose dans ce style là :

Le foreach :

         <?php foreach ($t_tache->resultat as $key=>$produit)
			{
				if($key%2==0)
	                $style_ligne='css_ligne';	
				else
					$style_ligne='css_ligneAlterne';?>
					<tr class="<?php echo $style_ligne?>">
						<td align="left" onclick="detailProduit('<?php echo $tache->getId()?>' ,  '<?php echo $produit->getPRODUIT_NOM() ?>')" >
							<?php echo $produit->getPRODUIT_NOM() ?>
						</td>
						<td align="left" >								
								<img src='images/ico_loupe.gif' alt='Détail' onclick="detailProduit('<?php echo $produit->getId() ?>' , '<?php echo $produit->getPRODUIT_NOM() ?>')" 
									onmouteover="overlib('detail du produit')"
									onmouseout="nd()"/>
						</td>
					</tr>
		<?php } ?>
La fonction detailProduit :
	 function detailProduit(Produit_id)
	 {
	  document.formDetailProduit.f_produit_id.value = Produit_id;
	  document.formDetailProduit.submit();
	 }

Et sur mon autre page :
<tr>
							<td width='15%' align="left" class='input_champ'>Nom :</td>
							<?php 
							if(isset($_POST['f_ProduitNom']))
							{	
								$r_nom = $_POST['f_ProduitNom'];
							}
							?>
							<td align="left"><?php echo $r_nom ?></td>
						</tr>
Mais là je suis bloqué parce que je ne voit pas ou je pourrait "dire" qu'il faut aller sur la ligne de l'id que j'ai précédement récupérée.

EDIT :
Youpi je récupère l'ID de ma ligne ^^
J'en suis sur je ne suis pas loin de la solution .. :)

EDIT N°2 :

Ma nouvelle fonction JS :

Code : Tout sélectionner

function detailProduit(Produit_id,Produit_nom) { document.formDetailProduit.f_produit_id.value = Produit_id; document.formDetailProduit.f_ProduitNom.value = Produit_nom; document.formDetailProduit.submit(); }
Je fait ce changement pour tout mes champs et hop ! Pour info par rapport a la première fois j'ai ajouter le nom).
Solution trouvée je dirait .. non ? :)
Si vous trouvez mieux a me proposer parce que c'est un peut tirer par les cheuveux (et toi tu veut ? :P).