Envoyer des donnees par la method get avec la balise get

Fermé
ENSELME - Modifié par NHenry le 25/08/2015 à 19:55
jordane45 Messages postés 38446 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 février 2025 - 25 août 2015 à 22:40
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 15194 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 23 février 2025 353
25 août 2015 à 19:56
Ce n'est pas
$GET['cod_mis']
mais
$_GET['cod_mis']

Petit rappel, l'extension mysql est obsolète
0
je viens de faire $_GET['cod_mis'] mais ca ne marche tjrs pas
0
NHenry Messages postés 15194 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 23 février 2025 353
25 août 2015 à 20:36
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 38446 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 février 2025 4 739
25 août 2015 à 22:40
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