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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    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 émérite 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
    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
    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 averti
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    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 émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    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 chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    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 émérite 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
    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 averti
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    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

+ 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