Envoyer des donnees par la method get avec la balise get

ENSELME -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, j'ai pu afficher les donnees de ma base de donnees par select,mon probleme j'aimerai recuperer le code par la methode GET
voici mon code
1)code pour envoyer les donnees par methode get

<select name="" style="height:30px;">
<option></option>
<?php
 session_start();
include"../connexion/connexion.php";
$link = mysql_connect($local,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT  `vehicule`.`code_veh`,`vehicule`.`im_veh` FROM `attribuer`,`mission`,`vehicule` WHERE `mission`.`cod_mis`="'.$GET['cod_mis'].'" AND `attribuer`.`cod_mis`=`mission`.`cod_mis` AND `vehicule`.`code_veh`=`attribuer`.`code_veh`';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { 
    while($row = mysql_fetch_array($result)) {
       
 
    echo '<option value="?cod_mis='.$row[0].'">'.$row[1].'</option>';  
    }
}
mysql_free_result($result);

?>
</select>

2)recuperation de mon code

<select name="mission" style="height:30px;">
<option></option>
<?php
 session_start();
include"../connexion/connexion.php";
ini_set('display_errors','off');
$link = mysql_connect($local,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT  `vehicule`.`code_veh`,`vehicule`.`im_veh` FROM `attribuer`,`mission`,`vehicule` WHERE `mission`.`cod_mis`="'.$GET['cod_mis'].'" AND `attribuer`.`cod_mis`=`mission`.`cod_mis` AND `vehicule`.`code_veh`=`attribuer`.`code_veh`';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) { 
    while($row = mysql_fetch_array($result)) {
       
 
    echo '<option value="'.$row[0].'">'.$row[1].'</option>';  
    }
}
mysql_free_result($result);

?>
</select>


mais la recuperation ne s'effectue pas correctement


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Ce n'est pas
$GET['cod_mis']
mais
$_GET['cod_mis']

Petit rappel, l'extension mysql est obsolète
0
ENSELME
 
je viens de faire $_GET['cod_mis'] mais ca ne marche tjrs pas
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
As-tu affiché et vérifié la requête utilisée (celle calculée par PHP) ?
As-tu une description plus précise ?

As-tu lu le rappel concernant MySql dans mon message ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Par contreBonjour,

Voici le code remis en forme et "corrigé"
<?php
//-------------------------------------------------------------------------------//
// Code à mettre tout en haut de ta page !
//-------------------------------------------------------------------------------//

//Démarrage Session
session_start();

//Infos de connexion à la BDD
require_once "../connexion/connexion.php";

//ini_set('display_errors','off'); // Le temps des tests... il faut AFFICHER les erreurs 
error_reporting(E_ALL);

$link = mysql_connect($local,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//-------------------------------------------------------------------------------//

// Récupération "propre" des variables
$cod_mis = !empty($_GET['cod_mis']) ? $_GET['cod_mis'] : NULL;

//Le temps des tests :
if(!$cod_mis){
   print_r($_GET);
}

?>

<select name="mission" style="height:30px;">
<option></option>
<?php
if($cod_mis){
 $sql = "SELECT  V.code_veh
                ,V.im_veh 
             FROM attribuer A
                  ,mission M
                  ,vehicule V 
             WHERE M.cod_mis='".$cod_mis."' 
             AND A.cod_mis=M.cod_mis 
             AND V.code_veh=A.code_veh";
 $result = mysql_query($sql,$link) or die ('Erreur : '.mysql_error() . "<br> Requete : ".$sql );
 $total = mysql_num_rows($result);

 if($total) { 
   while($row = mysql_fetch_array($result)) {
     echo '<option value="'.$row[0].'">'.$row[1].'</option>';  
   }
 }
 mysql_free_result($result);
}
?>
</select>


Comme tu peux le voir j'y ai ajouté :
- La récupération "propre" des variables
- la mise en forme de la requête avec des retours à la ligne histoire de la rendre plus lisible et l'utilisation d'Alias pour la rendre plus "légère"
- Un test pour voir si ta variable était bien reçue dans ta page....


Par contre.. comme te l'a indiqué NHenry ... tu utilises l'ancienne extensions de mysql.
Je t'invite fortement à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

.


Et enfin... je ne comprends pas bien ton premier message ...
Tu dis.. en 1 ... montrer le code qui est sencé envoyer les données ??? Oo
Je ne vois pas, dans ce code.. de formulaire utilisant la méthode post ... ou un javascript qui pourrait éventuellement le faire.....
Donc peux tu nous montrer le code qui te sert à ENVOYER ta variable GET à ton "second code" (celui que je viens de te corriger) ?

0