Ajoutez une variable de plus a mon code php [Résolu/Fermé]

Signaler
Messages postés
107
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
12 août 2010
-
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
-
Bonjour,

j'aimerais mettre une variable qui sera id_mag mais je n'arrive pas a la mettre pouvez vous me dire ou ya une ereur sur mon code merci

j aimerais utilise cette variable pour la page suivante apeller PROCEDURE.PHP
je voudrais utiliser la variable id_mag pour pouvoir afficher mes nom techniciens

la premiere page apele home.php permet de choisir un magasin a ki on a attribuer un technicien kan je clik sur afficher je voudrais voir afficher le nom du technicien qui s'occupe du magasin

premiere page "home.php"

<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");



while ($ligne=mysql_fetch_array($resultat))
{
echo '<option>'.$ligne["nom_mag"].'</option>';
}
echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>


Seconde page quand on clik sur AFFICHER apele 'procedure.php'

<?php

$id_mag = $_POST["id_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $id_mag") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
//echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
echo '<div align="center"><strong>'.$id_mag.' '.$ligne[1].'</strong></div>';

?>

sa me met erreur ligne 22 a savoir $id_mag = $_POST["id_mag"];

Notice: Undefined index: id_mag in C:\Program Files\EasyPHP 2.0b1\www\CheckList\page\procedure.php on line 22
Requête non executée.

12 réponses

Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
Bonjour

dans ton formulaire tu appelle cette variable "nom_mag" (attribut name)

<select name="nom_mag" id="nom_mag">';

dans ton php tu essai d'appeller la variable id_mag

$id_mag = $_POST["id_mag"];

D'ou l'erreur "undefined index"

ensuite pour recuperer l'id il faut a chaque fois que tu ajoute une option, lui ajouter une valeur

echo '<option value="'.$ligne["id_mag"].'">'.$ligne["nom_mag"].'</option>';
Messages postés
107
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
12 août 2010
7
oui mais la variable nom_mag je lutilise elle aussi :) c pour sa
y a til moyen de rajouter une variable en plus en faite
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
Oui mais la ton nom_mag tu ne l'utilise a aucun moment o_O

pourquoi tu fais pas $id_mag = $_POST["nom_mag"]; ?

Messages postés
107
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
12 août 2010
7
en faite jai pas marquer la suite de mon code sur ma page procedure.php il y a aussi nom_mag regarde

<?php

// if($_POST["nom_mag"] != "") pas besoin de faire cette vérification
$nom_mag = $_POST["nom_mag"];
include('connexion.php');
echo '<div align="center"><strong>'.$nom_mag.'</strong></div>';
?>

</td>
<td width="50%">
<?php

$id_mag = $_POST["id_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $id_mag") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
//echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
echo '<div align="center"><strong>'.$id_mag.' '.$ligne[1].'</strong></div>';

?>
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
oui je vois mais le problème c que tu ne peu pas récupérer ton nom_mag comme ça dans ton sélect
il faut que tu récupère l'id comme je t'ai dis au dessus et qu avec une requête tu aille chercher le nom_mag dans ta bdd
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
oui je vois mais le problème c que tu ne peu pas récupérer ton nom_mag comme ça dans ton sélect
il faut que tu récupère l'id comme je t'ai dis au dessus et qu avec une requête tu aille chercher le nom_mag dans ta bdd
Messages postés
107
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
12 août 2010
7
oki jai compris se ke tu voulais dire donc je met sa


<?php

// if($_POST["nom_mag"] != "") pas besoin de faire cette vérification
$nom_mag = $_POST["nom_mag"];
include('connexion.php');
echo '<div align="center"><strong>'.$nom_mag.'</strong></div>';
?>

</td>
<td width="50%">
<?php

$id_mag = $_POST["nom_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $nom_mag") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
//echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
echo '<div align="center"><strong>'.$id_mag.' '.$ligne[1].'</strong></div>';

?>

le souci c'est que sa me met requete non execute mtn
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
met

or die(mysql_error());

pour avoir l'erreur SQL, tu a bien refais le select comme je t'ai dis ? avec l'attribu value car c'est ça qui est envoyé en POST

echo '<option value="'.$ligne["id_mag"].'">'.$ligne["nom_mag"].'</option>';
Messages postés
107
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
12 août 2010
7
Ma page home.php jai mis sa

<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))

{
echo '<option>'.$ligne["nom_mag"].'</option>';
}

echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>


Ma page procedure.php

<?php

$id_mag = $_POST["nom_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $nom_mag") or die (mysql_error));

while ($ligne=mysql_fetch_array($resultat))
//echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
echo '<option value="'.$ligne["id_mag"].'">'.$ligne["nom_mag"].'</option>';

?>
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
<?php
include('connexion.php');

echo '<p>Choisissez un Magasin:</p>';
echo"<form action='procedure.php' action=",$_SERVER['PHP_SELF']," method='POST'>";
echo '<select name="nom_mag" id="nom_mag">';


$resultat=mysql_query("SELECT nom_mag, id_mag FROM magasin") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
{
echo '<option value="'.$ligne["id_mag"].'" >'.$ligne["nom_mag"].'</option>';
}

echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';

?>


procedure.php

<?php

$id_mag = $_POST["nom_mag"];


include('connexion.php');

$resultat=mysql_query("SELECT nom_tec, prenom_tec FROM technicien, magasin WHERE technicien_id_tec = id_tec
AND id_mag = $nom_mag") or die (mysql_error());

while ($ligne=mysql_fetch_array($resultat))
{
echo '<div align="center"><strong>'.$ligne[0].' '.$ligne[1].'</strong></div>';
}

?>
Messages postés
107
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
12 août 2010
7
tu passerra a la maison que je te paye un coup a boire toi merci sa fonctionne je vais revoir mes variable merci encore
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
195
de rien ;)