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 :

[SQL] Aide sur $_GET


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 56
    Points
    56
    Par défaut [SQL] Aide sur $_GET
    Bonjour à tous,

    voila mon probleme :
    j'ai un tableau m'affichant le contenu d'une base de données. Je crée un formulaire et à chaque valeur de cette base de données j'ajoute une case a cocher me permettant de valider ou nom la valeur. J'obtiens donc un truc comme ceci :

    Valeur de la base de donnée | Option
    _________________________________

    Valeur 1 |
    Valeur 2 | X
    Valeur 3 | X

    Lorsque je valide le formulaire, j'obtiens donc dans mon url ceci :
    index.php?valeur2=ok&valeur3=ok

    Ensuite, pour mettre a jour la base de données je récupère le contenu de celle ci dans une variable $temp (peut importe le nom) et j'aimerais vérifier si chaque élément de cette variable est contenue dans l'url : donc faire un truc genre $_GET[$temp] afin d'enchainer avec une requete update, mais la vous allez me dire que ce n'est pas possible. Cependant je ne vois pas de possibilité de contourner le problème. C'est pourquoi je sollicite votre aide. Merci de vos réponses

    PS : Je n'ai malheureusement pas l'autorisation de fournir du code. J'espere avoir été assez clair

  2. #2
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Il te suffit simplement d'effectuer des test
    <?php
    if (isset($_GET&#91;'valeur1'] {
    ...
    }
    if (isset(
    $_GET&#91;'valeur2'] {
    ...
    }
    if (isset(
    $_GET&#91;'valeur3'] {
    ...
    }
    if (isset(
    $_GET&#91;'valeurn'] {
    ...
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

    Par contre je te conseillerai plutot d'utiliser la méthode post pour ton formulaire. Le proncipe reste le même sauf que tu utilise $_POST au lieu de $_GET

  3. #3
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Dans ta page de traitement, il suffit de parcourir les variables contenues dans $_GET et de construire la requête SQL d'update en conséquence non ?

  4. #4
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 56
    Points
    56
    Par défaut
    Oui mais le problème est que les valeurs de la base de données (valeur1, valeur2 etc...) sont dynamiques et que je peux récupérer quelques dizaines de valeurs donc je n'ai pas trop envie de me casser le cul avec un switch lol. Mais s'il n'existe pas d'autres solutions j'vais pas avoir le choix :p. En gros ma question était : est-il possible de passer une variable dans $_GET ou faut-il absolument une valeur en dur ?

  5. #5
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Je suis d'accord avec Yobs
    tu devrais valider si tes variable $_get ont été setté avec isset...
    mais bon comme on voit ce qui se passe dans l'url tu devrais utiliser les varaiable $_post des formulaires avec une valisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($_post['tavar'])){
    ...
    }

  6. #6
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Bonjour,

    J'ai eu un pb de ce genre à résoudre.
    Je m'en suis sorti en faisant ceci :
    Dans ta première page tu construis un tableau qui contient toutes les valeurs
    tu transfères ce tableau par $_SESSION
    Dans la page de traitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $tab = unserialize($_SESSION['truc']);
    $nb = count($tab);
    for ($i=0 ;$i<$nb; $i++){
      if (isset($_GET[$tab[$i]])){
        exécution de l'update
      }
    }
    Ceci n'est valable que si le traitement à appliquer est le même dans chacun des cas (ce qui semble le cas ici, un update de la table)

  7. #7
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Dans ce cas, alors, regarde du coté d la fonction foreach(), elle te permet de parser un tableau .

    http://fr.php.net/manual/fr/control-...es.foreach.php

  8. #8
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 56
    Points
    56
    Par défaut
    Merci de vos réponses

    J'avais aussi pensé au foreach mais le problème reste le même, a savoir que j'aurais toujours un $_GET[$truc] et ca c'est pas possible :/

    Par contre l'idée de passer le tableau dans $_SESSION me plait bien, mais le problème reste le même : "if (isset($_GET[$tab[$i]])){" ca passera pas :s
    Mais j'pense que y'a moyen de se débrouiller avec ca. Dans l'immédiat j'suis en we donc j'y réfléchirais mardi lol.

    Encore merci

  9. #9
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, pour un cas comme le tien, je pense que ce lien pourrait être utile : http://julp.developpez.com/php/formulaires/#5

    Bon développement

  10. #10
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 56
    Points
    56
    Par défaut
    Effectivement, je pense que ca va résoudre le problème. Merci Nesmontou

  11. #11
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Points : 56
    Points
    56
    Par défaut
    Pb résolu, il suffisait de créer un tableau dans le formulaire comme indiqué dans le lien fourni 2 posts plus haut :p

    Merci a tous

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

Discussions similaires

  1. [SQL] Aide sur une requête
    Par migbc dans le forum SQL
    Réponses: 3
    Dernier message: 29/11/2010, 14h52
  2. [SQL] Aide sur une requête.
    Par baniban dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/11/2007, 17h52
  3. [SQL] Aide sur requête
    Par Virgile59 dans le forum Access
    Réponses: 2
    Dernier message: 06/10/2006, 09h34
  4. [SQL] Aide sur requête PHP - SQL
    Par jrnb58 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/09/2006, 12h56
  5. [intermedia] besoin d'aide sur script PL/SQL
    Par SteelBox dans le forum PL/SQL
    Réponses: 8
    Dernier message: 05/01/2004, 19h59

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