PHP / Recuperer la valeur d'une generation
Résolu
AmeryCourtz
Messages postés
94
Date d'inscription
Statut
Membre
Dernière intervention
-
AmeryCourtz Messages postés 94 Date d'inscription Statut Membre Dernière intervention -
AmeryCourtz Messages postés 94 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Bon alors voila je vais tenter de faire le plus simple et clair possible.
Je suis en train de créer un système de petites annonce. Donc je génères automatiquement des miniatures d'annonce que j'affiche ensuite.
Là, pas de soucis tout marche comme il faut (pour l'instant ^^)
Mon problème vient du fait que lorsque je clique sur "Détails..." je voudrait récupérer l'id de mon annonce pour pouvoir enchainer sur une nouvelle requête qui ira récupérer toutes mes info.
Et le soucis est là. Comment récupérer cette id dans mon formulaire avec un $post sachant qu'étant issus d'une génération toutes les balises portent le même nom ?
Voici la génération construite a partir des éléments du tableau de données issu de ma requête :
Par défaut lorsque je clique sur "détail" il me récupère l'id de la dernière miniature générée.
L'id correspond a $TblRslt[2]
Voila, merci d'avance de votre aide
Bon alors voila je vais tenter de faire le plus simple et clair possible.
Je suis en train de créer un système de petites annonce. Donc je génères automatiquement des miniatures d'annonce que j'affiche ensuite.
Là, pas de soucis tout marche comme il faut (pour l'instant ^^)
Mon problème vient du fait que lorsque je clique sur "Détails..." je voudrait récupérer l'id de mon annonce pour pouvoir enchainer sur une nouvelle requête qui ira récupérer toutes mes info.
Et le soucis est là. Comment récupérer cette id dans mon formulaire avec un $post sachant qu'étant issus d'une génération toutes les balises portent le même nom ?
Voici la génération construite a partir des éléments du tableau de données issu de ma requête :
function GenerationAnnonceMin($TblRslt){ //print_r($TblRslt); // //Déclaration des champs // $DescAnn = substr($TblRslt[5], 0, 100); $nb = count($TblRslt); //Si une accroche est présente pour l'annonce if($TblRslt[0] == 'CheminNull'){ //Définition de l'image accroche $ImgAcc = "<img class='DivAnnMin_ImgAcc' />"; } //Sinon else{ //Définition de l'image accroche $ImgAcc = "<img src='".$TblRslt[0]."' class='DivAnnMin_ImgAcc' />"; } //Récuperation du logo if(($LogoRslt = RecupLogoAnn($TblRslt[3])) != false){ $LogoAff = $LogoRslt; } else{ $LogoAff = ("<img class='DivAnnMin_LogoAnnAff' />"); } //Construction de la miniature echo("<td> <div id='DivAnnMin'> <div class='DivAnnMin_CoinHautGauche'</div> <div class='DivAnnMin_CoinHautDroit'></div> <div class='DivAnnMin_CoinBasDroit'></div> <div class='DivAnnMin_CoinBasGauche'></div> <div id='DivAnnMin_Header'> <label class='DivAnnMin_LbTitre'>" . $TblRslt[4] . "</label> <label class='DivAnnMin_Prix'>" . $TblRslt[1] . " / " . $TblRslt[6] . "€</label> </div> <div id='DivAnnMin_Corps'> <input type='hidden' name='DivAnnMin_IdAnn' value='".$TblRslt[2]."' /> <img src='" . $TblRslt[9] . "' class='DivAnnMin_ImgTof'/> " . $ImgAcc . " <br/> <label>" . $DescAnn . "...</label> <br/> " . $LogoAff . " <input type='submit' class='DivAnnMin_Details' name='DivAnnMin_Details' value='Plus de détails...'/> </div> <div id='DivAnnMin_Footer'> <label>Paru le " . $TblRslt[8] . "</label> <label class='DivAnnMin_CodeP'>Localité : " . $TblRslt[7] . "</label> </div> </div> </td>"); }
Par défaut lorsque je clique sur "détail" il me récupère l'id de la dernière miniature générée.
L'id correspond a $TblRslt[2]
Voila, merci d'avance de votre aide
A voir également:
- PHP / Recuperer la valeur d'une generation
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
4 réponses
Bonjour,
Le mieux pour ne pas trop changer ton code, serait en fait d'inclure la construction du formulaire dans ta fonction.
Ainsi tu n'aurais pas un formulaire pour toute tes lignes de résultats, mais un formulaire pour chaque ligne.
Ainsi plus de problème de variable nommée de la même manière dans l'unique formulaire, chaque ligne ayant le siens.
Sinon, une autre solution consisterait à ne rien changer du tout, si ce n'est :
- ajouter un champ caché 'blabla' au tout début de ton formulaire, de sorte qu'il n'y en ai qu'un seul
- dans ta fonction, ne pas déclarer un bouton de type submit mais simplement de type 'button'
- attribuer une fonction javascript sur évènement 'onclick' du bouton
- cette fonction javascript prend en paramètre la valeur de l'identifiant, et son but est de mettre à jour la valeur du champ unique caché avec cette valeur, puis de soumettre le formulaire (l'envoyé). Ainsi, ton ID sera toujours celui de la ligne sur laquelle l'utilisateur aura cliqué.
Tu sembles te débrouiller niveau code, donc je te laisse implémenter l'une de ces deux solutions ;) (sachant que ce ne sont pas les seules solutions possibles non plus)
Le mieux pour ne pas trop changer ton code, serait en fait d'inclure la construction du formulaire dans ta fonction.
Ainsi tu n'aurais pas un formulaire pour toute tes lignes de résultats, mais un formulaire pour chaque ligne.
Ainsi plus de problème de variable nommée de la même manière dans l'unique formulaire, chaque ligne ayant le siens.
Sinon, une autre solution consisterait à ne rien changer du tout, si ce n'est :
- ajouter un champ caché 'blabla' au tout début de ton formulaire, de sorte qu'il n'y en ai qu'un seul
- dans ta fonction, ne pas déclarer un bouton de type submit mais simplement de type 'button'
- attribuer une fonction javascript sur évènement 'onclick' du bouton
- cette fonction javascript prend en paramètre la valeur de l'identifiant, et son but est de mettre à jour la valeur du champ unique caché avec cette valeur, puis de soumettre le formulaire (l'envoyé). Ainsi, ton ID sera toujours celui de la ligne sur laquelle l'utilisateur aura cliqué.
Tu sembles te débrouiller niveau code, donc je te laisse implémenter l'une de ces deux solutions ;) (sachant que ce ne sont pas les seules solutions possibles non plus)
Ah merci kij_82 tu viens de me faire économiser quelques heures à chercher pour rien ^^.
J'ai implémenter la première solution, le rajout de form et sa marche impeccable, j'avoue que je n'y aurais pas penser tout seul, j'était en train de me pencher sur la seconde.
(Mais y a moins a écrire avec la première :P)
Merci en tout cas et merci du compliment lol, sa fait toujours plaisirs ^^.
J'ai implémenter la première solution, le rajout de form et sa marche impeccable, j'avoue que je n'y aurais pas penser tout seul, j'était en train de me pencher sur la seconde.
(Mais y a moins a écrire avec la première :P)
Merci en tout cas et merci du compliment lol, sa fait toujours plaisirs ^^.