IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

transmission de variables [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 72
    Points : 52
    Points
    52
    Par défaut transmission de variables
    Bonsoir,
    Voià quelques jours que je bute sur le fait de transmettre une variable "tableau" à une page php. Je vous détaille le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $query = mysql_query("SELECT distinct lib_ag, obj FROM structure as s, objectif as o WHERE s.dga='$indicatif' and s.lib_ag = o.lib_agence") or die (mysql_error());
    $lib_agg = array(); 
     while ($array = mysql_fetch_assoc($query)) {
    echo "<tr>";
    	echo "<td><font face=Arial size=2><strong>";
    	echo $array['lib_ag'];echo"</td>";
    Mon souci est de récupérer la variable lib_ag qui doit contenir plusieurs données et de les passer et de les lire dans la page suivante.
    Auriez-vous une idée ?
    Merci

  2. #2
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    Yop !

    T'as essayé de faire un var_dump ? Histoire de voir si quelque chose est récupéré ?

    ++
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Points : 4
    Points
    4
    Par défaut pourquoi pas ça
    Dans ta boucle "while" tu incrémente le "array" que tu as créé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    while($res = mysql_fetch_row($query))
    array_push($ton_array,$res[1]);
    ?>
    ton "array" contient donc toutes tes valeurs, tu peux le serialiser pour le passer ou tu veux (et encodage base64 pour passer dans url)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $chaine = serialize($ton_array);
    $chaine = base64_encode($chaine);
    ?>
    pour le récupérer et l'utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $tableau = unserialize(base64_decode($chaine));
    foreach($tableau as $valeur)
    print "$valeur\n";
    ?>

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    On peut nativement passer un tableau par paramètre (GET ou POST confondus).

    Exemple avec GET:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://mon.site.com/?arr[]=1&arr[]=2&arr[]=3
    Exemple avec un formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="text" name="arr[]" />
    <input type="text" name="arr[]" />
    <input type="text" name="arr[]" />
    On peut d'ailleurs nommer les index:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://mon.site.com/?arr[a]=1&arr[b]=2&arr[c]=3
    Et la profondeur est infinie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://mon.site.com/?arr[a][b][c]=1
    Exemple type: un champ de bits avec formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form>
    <input type="checkbox" name="flag[]" value="1" id="flag_1" /><label for="flag_1">Flag 1</label>
    <input type="checkbox" name="flag[]" value="2" id="flag_2" /><label for="flag_2">Flag 2</label>
    <input type="checkbox" name="flag[]" value="4" id="flag_4" /><label for="flag_4">Flag 4</label>
    <input type="checkbox" name="flag[]" value="8" id="flag_8" /><label for="flag_8">Flag 8</label>
    <input type="checkbox" name="flag[]" value="16" id="flag_16" /><label for="flag_16">Flag 16</label>
    <input type="submit" name="send" value="Ok" />
    </form>
    Coté PHP, pour construire le bitfield:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $flag = isset($_REQUEST['flag']) ? (array)$_REQUEST['flag'] : array();
    $flag = array_sum($flag);
     
    if ($flag & 16) etc...
    Sinon, comme l'a mentionné babconcept on peut encoder le tableau (serialize ou json_encode font bien l'affaire).

  5. #5
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    On peut nativement passer un tableau par paramètre (GET ou POST confondus).
    Ah ! Je savais pas ça ! Merci pour l'info
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  6. #6
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 450
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 450
    Points : 4 600
    Points
    4 600
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    On peut nativement passer un tableau par paramètre (GET ou POST confondus).
    merci pour l'info, je m'endormirai moins bete !
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 72
    Points : 52
    Points
    52
    Par défaut
    Merci pour ces réponses (même si cela vole un peu trop haut pour moi)
    Toutefois, j'ai réussi à créer (et à lire ma variable tableau) dans une page php
    print_r($lib_agg); m'affiche bien mes enregistrements.
    et il ne me manque plus qu'à la passer dans la page suivante ; et là, je me mélange les crayons avec les sessions, les echo $_POST['lib_agg'], ou les echo $lib_agg, etc...
    Pouvez-vous me guider ?
    Merci

  8. #8
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Oui voici de l'aide.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  9. #9
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 72
    Points : 52
    Points
    52
    Par défaut
    ok, merci, je vais reprendre les choses depuis le début et dans l'ordre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme transmission de variable toute bete
    Par mereyj dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2006, 21h18
  2. [Sécurité] PHP 5 transmission de variables
    Par messier79 dans le forum Langage
    Réponses: 18
    Dernier message: 09/01/2006, 15h05
  3. Transmission de variable avec GET et header
    Par spirou dans le forum Langage
    Réponses: 10
    Dernier message: 03/01/2006, 20h04
  4. [FLASH MX] Transmission de variables entre 2 swf
    Par totoche dans le forum Flash
    Réponses: 3
    Dernier message: 12/10/2005, 16h54
  5. transmission de variables
    Par nicerico dans le forum ASP
    Réponses: 14
    Dernier message: 16/08/2004, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo