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] Problème de variable dans un lien


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 35
    Par défaut [SQL] Problème de variable dans un lien
    Bonjour,

    j'ai un petit problème concernant une variable php que j'affiche dans un lien html

    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="noir" href="afficher.php?page=recherchefournisseur&action=modifier&pag=<?php echo $pag?>&ID_FOURNISS=<?php echo $tabdonnees['ID_FOURNISS'][$i]; ?>&where=<?php echo $where ?>">M</a>
    la variable $where est initialisée plus dans mon code php et le problème apparait seulement lorsque cette est construite de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $where = "$nomchamps like '%$lignechamps%'";
    Alors j'ai remarqué que en passant ma souris sur le lien il apparait au niveau du where :
    where=$nomchamps like '«%' pour un alphanumérique
    et
    where=$nomchamps like '''%' pour un numerique.

    Ce qui est étrange c'est que ce problème se manifeste lorsque j'interroge une base mysql et ça marche sans problème sur une base sql server.

    Est-ce que ça vient de là ? Suis-je totalement dans le faux? Dois-je protéger le caractère "%"?

    PS : Si il manque des choses dans mon explication je les mettrai.

    Merci et bonne journée.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Peut etre suis je dans le faux mais je pense que tu ferais mieux de faire un coup de urlencode() pour afficher ton lien ( et récupérer le contenu avec la fonction inverse : urldecode() ).

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 35
    Par défaut
    je vais tester merci.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 35
    Par défaut
    Alors je viens de tester ce que tu m'as conseillé

    avant le lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $where = urlencode($where);
    après reception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($_GET["where"] != null) $where = urldecode($_GET["where"]);
    else $where = " ";
    echo $where." debut<br>";
    voici le résultat sans le stripslashes():
    NOM_FOURNISS like \'«%\' debut

    pourtant l'url a l'air bonne :
    afficher.php?page=recherchefournisseur&action=modifier&pag=1&ID_FOURNISS=8&where=+NOM_FOURNISS+like+%27%25ab%25%27
    et quand je passe ma souris sur le lien ça s'affiche mieux, mais le resultat est le même qu'au début.
    Cependant on avance merci pour ton aide Raideman, c'était une étape que je ne faisait pas mais qui doit bien servir, on en apprend tous les jours .

  5. #5
    Membre averti Avatar de Shinn77
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut
    Alors euh... moi je comprend pas ce que tu veux que ça t'affiche.

    Dans ton exemple actuel, ta variable $where doit contenir quoi au juste ? histoire qu'on voit ce qui se passe.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 35
    Par défaut
    Sorry

    Alors la variable $where doit contenir en gros la condition de ma requête sql

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $where = "$nomchamps like '%$variable%' ";
    et ça m'affiche ça (contenu de la variable $where en faisant un echo juste apres ça):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (($_GET["where"] != null)) $where = urldecode($_GET["where"]);
    else $where = " ";
    echo $where."debut<br>";
    NOM_FOURNISS like \'«%\'

Discussions similaires

  1. Problème avec le paramètrage d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2011, 13h07
  2. [MySQL] Problème avec la récupération d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/06/2011, 13h58
  3. Problème de variable dans une requête SQL
    Par Namzicos dans le forum SQL
    Réponses: 2
    Dernier message: 27/01/2010, 14h38
  4. Problème de variable dans une Requête SQl
    Par steph77 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/08/2009, 15h16
  5. Réponses: 3
    Dernier message: 06/05/2007, 20h11

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