8791 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un souci de conservation d'une variable lors d'un rafraichissement de la page, je m'explique:
Dans mon premier fichier (listeApp.php), j'ai une liste de liens générés par une boucle:
while($data = mysql_fetch_array($requete)) { 
...
echo'<tr><td width="25%"><a href=\'javascript&#058; MM_openBrWindow("editContrat.php?App='.$data['idapp'].'","","scrollbars=yes,resizable=yes,width=700,height=500")\'>'.$data['CiviliteApp'].' '.$data['NomApp'].' '.$data['PrenomApp'].'</a></td><td>';
...';
}

Chacun de ces liens envoie une variable 'App' contenant un identifiant, que je récupère dans le fichier 'editContrat.php' et que j'insère dans une requête pour afficher certaines informations relatives à cet identifiant:
if(isset($_GET['App']) && !empty($_GET['App'])){
    $idApp = $_GET['App'];
}
...
$select = 'SELECT * FROM suiviapprentis WHERE idapp= \''.$idApp.'\';';
$requete = mysql_query($select) or die('Erreur SQL! Nous avons un problème avec la base de données. Il sera résolu dans peu de temps <br>'.$select.'<br>'.mysql_error());
$data1 = mysql_fetch_array($requete);
...
// affichage des données:
<?php echo $data1['Diplome']; ?>

Jusque là, pas de problème, mais plus loin dans la page, j'ai un formulaire contenant deux listes dynamiques liées. La première, qui ordonne le rafraichissement de la page afin d'afficher les données de la seconde. Et c'est à ce moment là que je me perds mes premières données (<?php echo $data1['Diplome']; ?>) puisque $idApp est vidée
<select name="diplome" id="diplome" onchange="document.forms['editContrat'].submit();">
          ...
</select>

Comment palier à cela ?
merci,
Modifié par albius (21 Apr 2008 - 10:36)
Modérateur
Salut,

Je vois une répétition superflue à mon sens :


if(isset($_GET['App']) && !empty($_GET['App'])){

    $idApp = $_GET['App'];

}


Tu dis si $_GET à une variable et tu lui demandes si $_GET n'est pas vide.

Je ne suis pas encore un pro en la matière mais peut être par l'intermédiaire d'un petit cookie pour garder tes données.

@+
Modifié par Nolem (21 Apr 2008 - 15:18)