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

Langage PHP Discussion :

Quel est l'argument "tout" dans une variable


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut Quel est l'argument "tout" dans une variable
    Hello,

    J'ouvre un nouveau sujet car la demande me semble différente bien que complémentaire de mon précédent sujet:
    http://www.developpez.net/forums/d64...r/test-champs/

    J'ai cette ligne de code dans mon script:
    $sql = "SELECT * FROM liste WHERE categorie1='$categorie1' AND ville='$ville'";
    Je passe l'argument de la variable par ce biais:
    <a href="requetelisteurl.php?categorie1=camions&ville=Nice"><img alt="Minivan" src="images/mini/camions.png" border="0"></a>
    Je voudrais savoir par quoi dois je remplacr Nice si je veux que toutes les villes s'affichent?

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    il faut faire quelque chose dans ce style là, je n'ai pas chercher à utiliser la méthode get ou autre, je te laise le soin de le faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if($ville != "")
    {
         $afficherVille = "AND ville=\"$ville\"";
    }
    else
    {
         $afficherVille = "";
    }
     
    $sql = "SELECT * FROM liste WHERE categorie1='$categorie1' $afficherVille";
    Tu peux très bien rajouter du texte dans une varibles, comme tu le fais pour $categorie1 ou $ville.

    Ce qui veut dire par conséquent qu'avant tu peux traiter ces chaines, vérifier si il y a des éléments qui vont faire que tu vas supprimer ou afficher une chose.


    GoT

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    GE...NIAL!


    Les résultats de la requêtes correspondent à ma base.
    Seul hic, un message d'erreur lié au GET quand la variable est vide:

    $ville = mysql_real_escape_string($_GET["ville"]);
    si vide donne:
    Notice: Undefined index: ville in C:\Program Files\EasyPHP 2.0b1\www\requetelisteurl.php on line 37
    Un gestion des cas erreurs à traiter j'imagine?

    Thanks!!

    Marco

  4. #4
    Membre averti Avatar de sacricri
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 384
    Points
    384
    Par défaut
    Citation Envoyé par idamarco Voir le message
    Un gestion des cas erreurs à traiter j'imagine
    oui avec un truc dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_GET['ville']){ $ville = mysql_real_escape_string($_GET["ville"]); }else{ $ville=""; }
    symfony power user !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Attends... C'est peut etre moi qui a fait une connerie...


    Je dois faire des tests mais n'ai plus le temps pour le moment...
    Dans ce cas, ce serait un "GE...NIAL" sans bemol donc.


    Je te tiens au courant.

  6. #6
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Généralités sur les if qui dépendent d'une variable, des conditions qui paraissent voisines recouvrent ces choses précises...

    if (isset($_GET["ville"]){


    est probablement la façon la plus juste de poser ta condition dans le cadre de ton programme évidemment.

    La variable existe, elle a été déclarée. En clair dans ton programme, quelqu'un a cliqué sur le lien...

    Si l'on dit
    if($ville!=NULL){

    évidemment pas de parenthèses à null...

    La variable $ville existe, quelle que soit sa valeur... Ceci est donc vrai dès qu'on a cliqué (dans le cadre de ton programme) si j'ai bien compris. Mais tu comprends bien que ça n'a rien d'automatique cette fois.

    Et enfin si l'on dit
    if($ville!=''){

    C'est très différent malgré les apparences. On a entré une valeur dans la variable, et c'est un vide. Par exemple sur un formulaire, tu fais saisir à quelqu'un son nom, il clique dans la zone, il entre son nom, puis, l'efface et envoie... La variable ne sera pas NULL comme s'il n'avait pas touché à la zone, mais "" (valeur vide)...

    Donc pour une saisie de formulaire de ce type (je sais que là ce n'est pas ton cas mais si c'est pour d'autres ou pour toi plus tard), il faut parfois mettre avant d'affecter la variable nom un test du genre

    if(($GET['nom']!=NULL) &&($GET['nom']!='')){
    $nom=$GET['nom'];
    }

    Voili voilou, juste pour savoir ce que l'on fait...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 227
    Points : 81
    Points
    81
    Par défaut
    Merci pour la précision Dentrite.

    Pour revenir à ta ligne de code GoTrUnKo, ca marche nickel!


    Merci encore à tous

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/08/2007, 13h33
  2. Quel est le nom du Bouton "OK" dans une Alert JS
    Par tromaltsec dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/08/2007, 16h59
  3. Réponses: 3
    Dernier message: 24/10/2005, 16h59

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