cs_math11
Messages postés47Date d'inscriptionmardi 9 août 2005StatutMembreDernière intervention31 mai 2012
-
31 mai 2012 à 15:42
cs_math11
Messages postés47Date d'inscriptionmardi 9 août 2005StatutMembreDernière intervention31 mai 2012
-
31 mai 2012 à 18:09
Salut,
Actuellement occupé sur un projet de gestion de données, j'ai un problème pour récupérer la valeur de la variable de session (id).
En effet, le script suivant affiche un tableau de données extraites de la base, avec la possibilité d'en sélectionner une afin de créer un fichier pdf.
Mon problème, lorsque je clique sur le lien, la valeur de l'id ne change pas, elle reste à la valeur du dernier élément du tableau.
Que faire pour remédier à ce problème?
session_start();
// Connexion au serveur
require ("./connect.php");
$connexion = mysql_connect (SERVEUR,NOM,PASSE);
$db = mysql_select_db("gestion") ;
// Création de la requête
$sql="SELECT * FROM contentieux";
//exécution de la requête:
$requete = mysql_query( $sql, $connexion );
//Affichage des données
//Affichage de l'entête des colonnes
echo ('
');
echo ('<script language="JavaScript" src="order.js">');
echo ('<!--');
echo ('//-->');
echo ('</script>');
echo '<caption>Liste des contentieux en cours</caption>----
N°dossier |Nom |Prénom |N° facture |Montant facture |Adresse |Ville |Action |Etat |';
//Boucle d'affichage des données
while( $result = mysql_fetch_array( $requete )){
if ($result['Etat'] =='1')
{
$etat = \"transmis\";
}
else
{
$etat = \"en cours\";
}
$_SESSION['id'] = $result['id'];
//$_SESSION['id'] = '1';
echo '----
',''.$result['id'].', ',''.$result['Nom'].', ',''.$result['Prenom'].', ',''.$result['Num_fact'].', ',''.$result['Mont_facture'].', ',''.$result['Adresse'].', ',''.$result['Ville'].', ',''.$_SESSION['id'].'Générer PDF, '.$etat.', ',''.\"\n\";
//echo '----
',''.$result['id'].', ',''.$result['Nom'].', ',''.$result['Prenom'].', ',''.$result['Num_fact'].', ',''.$result['Mont_facture'].', ',''.$result['Adresse'].', ',''.$result['Ville'].', ',''.$_SESSION['id'].', '.$etat.', ',''.\"\n\";
}
echo '
<hr align="center" size="1" width="95%">
';
Lyle56
Messages postés240Date d'inscriptionjeudi 1 mai 2008StatutMembreDernière intervention19 juillet 20122 31 mai 2012 à 16:50
Re-Bonjour,
Déjà, tu n'as pas besoin de ta variable de session, vue que tu lance un script.
Donc tu te débarasse de la variable $_SESSION['id'] et tu utilise le $result['id']
Ensuite dans ton script test.php tu fait un $_GET['id'] (qui correspond à la partie ?id=$result['id'] du lien sélectionné)
Maintenant si tu ne veut pas que ton $result['id'] transite en clair dans l'url tu as la possibilité de faire passer un index de tableau.
Ta variable $_SESSION['id'] contient alors un Array et ta boucle se transforme :
$arrInMemory = array();
$rowInArray = 0;
while( $result = mysql_fetch_array( $requete )){
if ($result['Etat'] =='1') {
$etat = "transmis";
}
else {
$etat = "en cours";
}
array_push($arrInMemory ,$result['id']);
echo [Le même que avant sauf que tu remplace les $_SESSION['id'] par $rowInArray]
$rowInArray++;
}
$_SESSION['id'] = $arrInMemory;
Dans ton script test.php?id=XX le $_GET['id'] te donne l'index a récupéré dans le array qui est en session.
Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
Lyle56
Messages postés240Date d'inscriptionjeudi 1 mai 2008StatutMembreDernière intervention19 juillet 20122 31 mai 2012 à 16:10
Bonjour,
C'est normal;
Ta boucle "écrase" la valeur de $_SESSION['id'].
Après je ne comprend pas ce que tu souhaite faire exactement, mais à mon avis il y as un petit soucis de conception/compréhension derrière tout cela...
Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.