[php] recharger une page avec l'id

Fermé
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 - 23 juil. 2007 à 09:19
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 - 23 juil. 2007 à 13:54
Bonjour à tous!

Alors voila je débute en php et je me retrouve face à un petit problème :

j'ai une page où se trouve à gauche une liste de services et à droite une fenetre de recherche de personnes.


En cliquant sur un bouton radio d'un service à gauche, on a la liste des personnes affectées à ce service sur la droite, et l'utilisateur peut rajouter une personne au service en recherchant la personne puis cliquer sur "valider".


Alors voila mon problème ce n'est pas le fait de rajouter cette personne ça marche bien, mais en fait de recharger la page avec l'id je pense pour qu'une fois que l'utilisateur clique sur valider ça apparait directement sur l'écran, et pas recliquer sur le bouton radio pour voir si la personne a été ajoutée.

Voila j'espère avoir été clair dans mes propos ^^

merci d'avance!

10 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 11:09
Bonjour,

A quoi ressemble ton formulaire pour l'ajout d'une personne ? Fait-il appel à la même page que celle qui affiche la liste des personnes ?

Xavier
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 11:15
salut xavier et merci pour ta réponse,

en fait j'ai un bouton "+" à droite qui ouvre une petite fenêtre où il y a un champ pour rechercher la personne et ensuite le bouton "valider" et donc j'insère la personne dans la base et je recharge la page en faisant window.parent.location.reload(), seulement j'aimerais lui passer comme paramètre l'id du bouton radio pour que quand je recharge la page cela s'affiche automatiquement et ne pas avoir besoin de recliquer sur le bouton radio.
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 11:16
j'ajoute que la petite fenêtre est un fichier à part oui
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 11:26
OK, je comprends mieux.
Plutôt que de recharger toute la page, et ensuite de préselectionner un bouton radio, pourquoi ne pas recharger uniquement le cadre de droite ? (J'ai cru comprendre que tu utilisais des frames)

Peux-tu me mettre grosso-modo le code html de ta petite fenêtre ? C'est dans ce code que tu places ton window.parent.location.reload() ?
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 11:29
oui c'est dans le code de la petite fenêtre que je fais le window.parent.location.reload();

juste avant j'insère dans ma table emploi l'id de la personne et l'id du service.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 11:34
OK.
Et si tu remplaces ça par window.opener.location.reload() ?
Ou sinon, window.parent.{nomFrame}.location.reload()
ou encore window.parent.document.getElementById("{idFrame}").location.reload()

en remplaçant {nomFrame} par le nom de la frame de droite (s'il n'y en a pas, rajoute name="contenu", par exemple, dans son code)
et {idFrame} par l'id de cette même frame (idem, s'il n'y en a pas de défini, fais-le)

J'ai la flemme de tester (désolé...), c'est pourquoi je te fournis trois possibilité, je ne suis pas sûr qu'elles fonctionnent toutes comme tu le souhaites.
Si ça ne marche pas, je me pencherai un peu plus sur le problème :)

Xavier
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 11:40
J'ai essayé les 3 possibilités mais ça ne marche pas, ça m'affiche page blanche dans la petite fenêtre mais ça s'ajoute bien

j'comprends pas pourquoi ça passe pas
0

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

Posez votre question
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 11:57
Bon, j'ai un peu mieux regardé tout ça...
Voilà un petit test rapide que j'ai fait, en utilisant en fait opener.location.reload()

Page de base :
<html>
<frameset cols="50%,50%">
<frame name="cadre-gauche" src="test_cadre1.htm">
<frame name="cadre-droit" src="test_cadre1.htm">
</frameset>
</html>

Page test_cadre1.htm (cadre de gauche, qui permet d'ouvrir le cadre de droite)
<html>
<body>
<a href="test.htm" target="cadre-droit">truc !</a>
</body>
</html>

Page test.htm (cadre de droite, celui qui va permettre d'ouvrir le pop-up)
<html>
<body>
<a href="test2.htm" target="_BLANK">ouvre_fenêtre</a>
</body>
</html>

Page test2.htm (le pop-up)
<html>
<body>
<button onclick="opener.location.reload(); window.close()">bouton !</button>
</body>
</html>

Voilà. Avec ça, je pense que tu obtiens le fonctionnement que tu recherches.

Xavier
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 12:05
le cadre gauche n'ouvre pas le cadre droit, en fait quand je clique sur le bouton radio sur la gauche ça recharge la frame à droite et affiche les informations.

Ensuite à l'aide d'un bouton sur la frame de droite j'ouvre la petite fenêtre pour ajouter une personne.
Mais le opener.location.reload(); window.close() ne passe pas ça me fait toujours page blanche sur le pop-up :'(
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 12:14
Tu peux me mettre exactement le code de ta pop-up ?
Je ne comprends pas pourquoi tu aurais cette page blanche...
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 12:18
if (isset($_GET['pb_valider'][0]))
{
for ($i=0;$i<count($tab_pers);$i++)
{
if ($tab_pers[$i] != "")
{
$req_nom = SelectInRow("SELECT NOM_PERS, PRENOM_PERS FROM tb_pers WHERE id_pers = " . $tab_pers[$i], __LINE__);
if (isset($_SESSION['div']))
{
$cpt_diff = count($_SESSION['listepers']['nom']);
$req_service = SelectInRow("SELECT NOM_SERVICE FROM tb_SERVICE, tbl_EMPLOI WHERE id_service = IDX_SERVICE_EMPLOI AND IDX_PERS_EMPLOI = " . $tab_pers[$i], __LINE__);
$req_metier = SelectInRow("SELECT LIB_METIER FROM tbp_METIER, tb_PERS WHERE id_metier = IDX_METIER_PERS AND id_pers = " . $tab_pers[$i], __LINE__);

$_SESSION['listepers']['nom'][$cpt_diff] = f_getvalue($req_nom, "NOM_PERS");
$_SESSION['listepers']['prenom'][$cpt_diff] = f_getvalue($req_service, "PRENOM_PERS");
$_SESSION['listepers']['profession'][$cpt_diff] = f_getvalue($req_metier, "LIB_METIER");

$cpt_diff++;
}
else
$j++;
}
}
}


//Insertion d'une nouvelle personne pour le service sélectionné
$req_insert_pers = "insert into tbl_emploi (idx_pers_emploi,idx_service_emploi) values ('".$id_personne."','".$idSer."')";
$result_insert_pers = Query($req_insert_pers, __LINE__,"req_insert_pers");



echo "<script language='javascript'>window.opener.location.reload(); window.close();</script>";





voilà... la première partie c'est pour l'afficher dans l'interface et après j'insère dans ma base.
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 12:28
(bon, déjà, si tu affiches avant d'insérer, tu n'auras pas ton nouvel élément dans l'affichage)

Ensuite, dans ma version qui marche, je n'ai pas utilisé window.opener.location.reload(), mais opener.location.reload().
Ca devrait mieux marcher avec ça :)
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 12:32
toujours pareil :(
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 12:34
Bon...
Et si tu vérifies le code source de la pop-up, tu as quoi ? Rien du tout ? Tu n'as pas une erreur javascript quelque part ?
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 12:59
non étant donné que le javascript je ne l'utilise qu'à la fin pour recharger la page
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
23 juil. 2007 à 13:50
Oui mais tu mets le résultat en session avant ça, non ?
0
FaRa31 Messages postés 56 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 septembre 2007 1
23 juil. 2007 à 13:54
oui mais en fait c'est un peu inutile parceque je rentre quand même la personne dans la base et après quand je clique sur le bouton radio du service ça me l'affiche quand même puisque ça prend les personnes affectées à ce service

donc en gros les personnes qui correspondent à l'idx_service_emploi que j'ai check
0