begin process at 2012 02 13 08:55:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Envoyer des variables generées dynamiquement vers une autre page php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoyer des variables generées dynamiquement vers une autre page php

jeudi 23 juin 2005 à 10:42:53 | Envoyer des variables generées dynamiquement vers une autre page php

DzinVolt_Original

Bonjour,
J'ai cree un menu composé de 3 listes deroulantes dependante les une des autres (qui fonctionnent).
Les "options" sont tirées d'une base de données pour les 3 listes,
je voudrais recuperer le code (ou "id") de chaqu'un de mes choix( id_cycle, id_niveau, id_filiere) , pour le moment je peu avoir que l' "id_cycle".
Mon code est assez long j'en suis conscient mais vous vous rendrez mieu compte en copiant toute la source.


page qui cree mon menu:

<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
/* Variables de connexion : */
$serveur = "localhost";
$admin   = "root";
$mdp     = "";
$base    = "ecl";
/* On récupère si elle existe la valeur du cycle envoyée par le formulaire */
$id_cycle = isset($_POST['cycle'])?$_POST['cycle']:null;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
    <title>Choix de la classe</title>
</head>
<body>
<h3>Choisir une classe</h3>
<?php
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()
*  car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);

if($connexion != false)
{
    $choixbase = mysql_select_db($base, $connexion);
    // recherche de tou les cycle de la base.
    $sql1 = "SELECT id_cycle, nom_cycle FROM cycle ORDER BY id_cycle";
    $rech_cycles = mysql_query($sql1);
    $code_cycle = array();
    $cycle = array();
    /* On active un compteur pour les cycles */
    $nb_cycles = 0;
    if($rech_cycles != false)
    {
        while($ligne = mysql_fetch_assoc($rech_cycles))
        {
            array_push($code_cycle, $ligne['id_cycle']);
            array_push($cycle, $ligne['nom_cycle']);

            /* On incrémente de compteur */
            $nb_cycles++;
        }
    }
    ?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="ch_classe">

<select name="cycle" id="cycle" onchange="document.forms['ch_classe'].submit();">
  <option value="-1">- - - Choisissez un cycle - - -</option>
    <?php
    for($i = 0; $i < $nb_cycles; $i++)
    {
?>
  <option value="<?php echo($code_cycle[$i]); ?>"<?php echo((isset($id_cycle) && $id_cycle == $code_cycle[$i])?" selected=\"selected\"":null); ?>><?php echo($cycle[$i]); ?></option>
<?php
    }
    ?>
</select>
    <?php
    mysql_free_result($rech_cycles);
    /* On commence par vérifier si on a envoyé un numéro de cycle et le cas échéant s'il est différent de -1 */

    if(isset($id_cycle) && $id_cycle != -1)
    {
        /* Cération de la requête pour avoir les niveau de ce cycle */
        $sql2 = "SELECT id_niveau, nom_niveau FROM niveau WHERE id_cycle = ". $id_cycle ." ORDER BY id_niveau;";
        if($connexion != false)
        {
            $rech_niveau = mysql_query($sql2, $connexion);
            /* Un petit compteur pour les niveaux */
            $nn = 0;
            /* On crée deux tableaux pour les numéros et les noms des niveaux */
            $code_niveau = array();
            $nom_niveau = array();
            /* On va mettre les numéros et noms des niveau dans les deux tableaux */
            while($ligne_niveau = mysql_fetch_assoc($rech_niveau))
            {
                array_push($code_niveau, $ligne_niveau['id_niveau']);
                array_push($nom_niveau, $ligne_niveau['nom_niveau']);
                $nn++;
            }
           
            /* Maintenant on peut construire la liste déroulante */
            ?>
    <select name="niveau" id="niveau">
        <?php
            for($n = 0; $n<$nn; $n++)
            {
                ?>
    <option value="<?php echo($code_niveau[$n]); ?>"><?php echo($nom_niveau[$n]." "); ?></option>
                <?php
            }
        ?>
    </select>

<?php
    }
    /* Un petit coup de balai */
    mysql_free_result($rech_niveau);
    }

if($id_cycle >= "4") // si on a une filiere on affiche les choix ...
{
    if(isset($id_cycle) && $id_cycle != -1)
    {
        /* Cération de la requête pour avoir les filiere de ce cycle */
        $sql2 = "SELECT id_filiere, nom_filiere FROM filiere WHERE id_cycle = ". $id_cycle ." ORDER BY id_filiere;";
        if($connexion != false)
        {
            $rech_filiere = mysql_query($sql2, $connexion);
            /* Un petit compteur pour les filieres */
            $nf = 0;
            /* On crée deux tableaux pour les numéros et les noms des filieres */
            $code_filiere = array();
            $nom_filiere = array();
            /* On va mettre les numéros et noms des filieres dans les deux tableaux */
            while($ligne_filiere = mysql_fetch_assoc($rech_filiere))
            {
                array_push($code_filiere, $ligne_filiere['id_filiere']);
                array_push($nom_filiere, $ligne_filiere['nom_filiere']);
                $nf++;
            }
            /* Maintenant on peut construire la liste déroulante */
            ?>
<select name="filiere" id="filiere">
            <?php
            for($f = 0; $f<$nf; $f++)
            {
                ?>
  <option value="<?php echo($code_filiere[$f]); ?>"><?php echo($nom_filiere[$f]." "); ?></option>
                <?php
            }
?>
</select>
<?php
        }
        /* Un petit coup de balai */
        mysql_free_result($rech_filiere);
    }
}
?>


</form>

<?php
$code_classe = $id_cycle;
?>

<br>

<form action="recup.php" method="post" name="form_code_classe">
<input type="hidden" name="code_classe" value="<?php echo "$code_classe" ?>">
<input type="submit" name="ok" id="ok" value="Valider" />
</form>
<?php

    /* Terminé, on ferme la connexion */
    mysql_close($connexion);
}
else
{
    /* Si on arrive là, c'est pas bon signe, il faut vérifier les
    * paramètres de connexion, mot de passe, serveur pas démarré etc... */
?>
<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php
}
?>
</body>
</html

Page qui recupere les variable:

<html>
<body>

<?php
$code=$_POST['code_classe'];
echo "$code";
?>

</body>
</html>

Et enfin voici ma ba se de donnée:

--                -------------------------------
--                -- Base de données: `ecl` --
--                -------------------------------




-- --------------------------------------------------------

--
-- Structure de la table `cycle`
--

CREATE TABLE `cycle` (
  `id_cycle`   int(4)   NOT NULL   auto_increment,
  `nom_cycle`  varchar(50)   NOT NULL   default '',
  PRIMARY KEY  (`id_cycle`)
);

-- --------------------------------------------------------

--
-- Structure de la table `niveau`
--

CREATE TABLE `niveau` (
  `id_niveau`   char(2)   NOT NULL   default '',
  `nom_niveau`  varchar(50)   NOT NULL   default '',
  `id_cycle`    int(4)   NOT NULL   default '00',
  PRIMARY KEY  (`id_niveau`),
  KEY `id_cycle` (`id_cycle`)
);

-- --------------------------------------------------------

--
-- Structure de la table `filiere`
--

CREATE TABLE `filiere` (
  `id_filiere`   int(4)   NOT NULL   auto_increment,
  `nom_filiere`  varchar(50)   NOT NULL   default '',
  `id_cycle`     tinyint(4)   NOT NULL   default '00',
  PRIMARY KEY  (`id_filiere`),
  KEY `id_cycle` (`id_cycle`)
);

-- --------------------------------------------------------


--
-- Contenu de la table `cycle`
--

INSERT INTO `cycle` VALUES ('01', 'Ecole maternelle');
INSERT INTO `cycle` VALUES ('02', 'Ecolle primaire');
INSERT INTO `cycle` VALUES ('03', 'College');
INSERT INTO `cycle` VALUES ('04', 'Lycee general');
INSERT INTO `cycle` VALUES ('05', 'Lycee technique');
INSERT INTO `cycle` VALUES ('06', 'Lycee professionnel');
INSERT INTO `cycle` VALUES ('07', 'Etudes superieurs');


--
-- Contenu de la table `niveau`
--

INSERT INTO `niveau` VALUES ('01', 'Petite section', '01');
INSERT INTO `niveau` VALUES ('02', 'Moyenne section', '01');
INSERT INTO `niveau` VALUES ('03', 'Grande section', '01');
INSERT INTO `niveau` VALUES ('04', 'Cp', '02');
INSERT INTO `niveau` VALUES ('05', 'Ce1', '02');
INSERT INTO `niveau` VALUES ('06', 'Ce2', '02');
INSERT INTO `niveau` VALUES ('07', 'Cm1', '02');
INSERT INTO `niveau` VALUES ('08', 'Cm2', '02');
INSERT INTO `niveau` VALUES ('09', '6 eme', '03');
INSERT INTO `niveau` VALUES ('10', '5 eme', '03');
INSERT INTO `niveau` VALUES ('11', '4 eme', '03');
INSERT INTO `niveau` VALUES ('12', '3 eme', '03');
INSERT INTO `niveau` VALUES ('13', 'Seconde', '04');
INSERT INTO `niveau` VALUES ('14', 'Premiere', '04');
INSERT INTO `niveau` VALUES ('15', 'Terminal', '04');
INSERT INTO `niveau` VALUES ('16', 'Premiere', '05');
INSERT INTO `niveau` VALUES ('17', 'Terminal', '05');
INSERT INTO `niveau` VALUES ('18', '1ere année', '06');
INSERT INTO `niveau` VALUES ('19', '2eme année', '06');
INSERT INTO `niveau` VALUES ('20', '1ere année', '07');
INSERT INTO `niveau` VALUES ('21', '2eme année', '07');


--
-- Contenu de la table `filiere`
--

INSERT INTO `filiere` VALUES ('01', 'ES', '04');
INSERT INTO `filiere` VALUES ('02', 'S', '04');
INSERT INTO `filiere` VALUES ('03', 'L', '04');
INSERT INTO `filiere` VALUES ('04', 'SMS', '05');
INSERT INTO `filiere` VALUES ('05', 'STAE', '05');
INSERT INTO `filiere` VALUES ('06', 'STI', '05');
INSERT INTO `filiere` VALUES ('07', 'STL', '05');
INSERT INTO `filiere` VALUES ('08', 'STT', '05');
INSERT INTO `filiere` VALUES ('09', 'Hotelerie', '05');
INSERT INTO `filiere` VALUES ('10', 'Musique et Danse', '05');
INSERT INTO `filiere` VALUES ('11', 'CAP', '06');
INSERT INTO `filiere` VALUES ('12', 'BEP', '06');
INSERT INTO `filiere` VALUES ('13', 'Bac Pro', '06');
INSERT INTO `filiere` VALUES ('14', 'BTS', '07');
INSERT INTO `filiere` VALUES ('15', 'Prepa', '07');

vendredi 24 juin 2005 à 08:24:14 | Re : Envoyer des variables generées dynamiquement vers une autre page php

GillesWebmaster

Membre Club


Bonjour ,
Je me suis mis a votre problème, c'est long mais je persévère...
P.S: Vous utilisez quelle version de MySql?
GillesWebmaster


 

samedi 25 juin 2005 à 11:14:00 | Re : Envoyer des variables generées dynamiquement vers une autre page php

DzinVolt_Original

heu ...
j'utilise easy php 1.7 pour mes test en local.
il me semble qu'il est composé de :
Apache 1.3.27
PHP 4.3.3
MySQL 4.0.15
PhpMyAdmin 2.5.3.

Merci de bien vouloir s'occuper de moi 

samedi 25 juin 2005 à 12:16:35 | Re : Envoyer des variables generées dynamiquement vers une autre page php

GillesWebmaster

Membre Club


Bonjour ,
oui ca avance mais c'est assey complexe et j'ai horreur de reprendre les sources des autres mais je m'y attèles et je persèvère...


GillesWebmaster

lundi 27 juin 2005 à 08:12:24 | Re : Envoyer des variables generées dynamiquement vers une autre page php

DzinVolt_Original

Merci c'est  tres gentil,
car je suis en stage et je suis un peu "bliqué a cause de ca.

D.zinVolt.

lundi 27 juin 2005 à 23:30:56 | Re : Envoyer des variables generées dynamiquement vers une autre page php

sunshine2004

$id_cycle = isset($_POST['cycle'])?$_POST['cycle']:null;


explique moi en detail cette ligne
car j'ai appliqué ton code a mon probleme et rien
mardi 28 juin 2005 à 08:44:11 | Re : Envoyer des variables generées dynamiquement vers une autre page php

DzinVolt_Original

Deja, quel est ton probleme?
Ensuite isset() permet de retourner true si la variable var est définie et  faulse sinon.
Si une variable a été désaffectée avec la fonction unset(), la fonction isset() renverra faulse.

Enfin tous ca ne fais pas avancer mon probleme... niarf

D.zinVolt.


Cette discussion est classée dans : insert, niveau, into, values, cycle


Répondre à ce message

Sujets en rapport avec ce message

REQUETE DE TRI [ORDER BY] [ par ] Bonjour !Je souhaiterais pouvoir classer mes données selon 3 critères : par nom de fiche, par date ou par thème.Les requêtes seules fonctionnent (quan Requete MySQL [ par vbguigui ] Voici ma requete :$requete="INSERT INTO tablemessages VALUES('$contenu')";quand mon contenu est "test" alors ca marche : "INSERT INTO tablemessages VA insertion multiple dans mysql_query() [ par Urukai1 ] Bonjour, je souhaite inserer plusieurs tuples sur plusieurs tables en meme temps, ce que je souahite faire c un commit comme sous oracle en gros "in Probléme au niveau de récupération de valeur psot [ par khafis ] Avant tout je m'explique : j'ai deux zones de liste multiple,  la premiére se remplit directement par la base de donnée , la deusiéme  sert  à recupér Problème de SQL [ par The_Wide_World ] HelloVoila une question qui concerne plus MySQL...J'ai cette commande : SELECT DISTINCT u.id, u.pseudo, g.Idprojet FROM User u LEFT JOIN Groupe g ON ( Optimisation [ par skiso ] je sais que mon script n'est pas optimal et comporte surement des erreurs, je veux savoir es que je suis sur la bonne voie, si c'est pas le cas je veu L'ordre dans les requêtes :-? [ par yazerty55 ] Bonjour,Grâce à l'aide de phpcs j'ai réussi à créer un fonction qui affiche la liste des catégories d'un petit annuaire que je suis en train de créer. Liste Déroulante + Order [ par xeroxiss ] Bonjour à tous ! J'ai créer 2 petites listes déroulantes remplient d'une longue série de divers marques de pc.Elle sont donc "liées" à une bdd. Ce que Saisie Automatique Sql [ par xeroxiss ] Bonjour à tout les petits ternautes rois du php ! Voila j'ai un petit soucis tout simple (je pense)... J'ai un formulaire en php, contenant des liste Remplir une table avec le contenu d'un fichier txt [ par boscoauhunier ] Je désire remplir une table avec le contenu d'un fichier txt Ma table se structure ainsi Structure de la table `dico` CREATE TABLE `dico` ( `id`


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales