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 :

php et requete sql selectionner


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut php et requete sql selectionner
    bonsoir,
    je viens vers vous avoir une idée de votre par sur un script que j'aimerai créer
    je vois bien ceux que je souhaite faire, mais je ne sais pas si c'est la bonne solution

    je m'explique :
    je souhaiterais pouvoir modifier une parti du contenu d'une requête sql en fonction d'un choix par formulaire post qui envoi sur un switch en php.
    la parti de la requête que je doit modifier ce trouve en fin de requête c'est "limit 10"
    sur la totalité de la requête qui est la suivante qui est :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT ID,pseudo,message, DATE_FORMAT(date_post, \'%Hh%i le %d/%m/%Y\') AS date_post_fr FROM chat ORDER BY ID DESC LIMIT 10);

    je souhaite le modifie de sorte a ceux que limit change en 10, 15, 20, 25, 30, ou tous

    j'avais dans l'idée de faire un switch php avec les requête différente en fonction des 6 choix possible

    question1 : est-il possible oui ou non de remplacer le code de la requête par $reponse = $dbb->query('$_POST['choix']'); ??

    question2 : es ce que selon vous cette solution est faisable étant débutant ou dois-je envisager autre chose ??
    que le switch je peu le faire mais avant de me lancer dans cette voie j'aimerai avoir votre avis afin d’évité de perdre inutilement du temps

    merci de vos réponse et de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux simplement ajouter la valeur choisie dans ta chaine de requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $query = 'SELECT ID,pseudo,message, DATE_FORMAT(date_post, "%Hh%i le %d/%m/%Y") AS date_post_fr FROM chat ORDER BY ID DESC'
     
    if (isset($_POST['choix'])) {
       $limit = (int)$_POST['choix'];
     
       // si tu veux vraiment un multiple de 5 tu peux arrondir
       $limit = 5 * ceil($limit / 5);
     
       $query .= ' LIMIT ' . intval($_POST['choix'];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Envoyer les données envoyées par un utilisateur directement dans une requête SQL c'est une faille de sécurité béante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // ne jamais jamais jamais faire ca
    $dbb->query('$_POST['choix']');
    Tu n'as pas forcément besoin d'un switch pour ce que tu veux faire

    Par ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // on transforme le $_GET['limite'] en entier pour éviter tout problème
    $limiteDemandee = (int)$_GET['limite'];
     
    // le in_array vérifie que $_GET['limite'] a une valeur acceptable
    // si in_array renvoie true, la valeur est prise en compte, sinon on met 10 par défaut
    // j'utilise un operateur ternaire pour faire plus concis
    $limiteAppliquee = (in_array($limiteDemandee , array(10, 15, 20, 25, 30,1000))?$limiteDemandee:10;
     
    // on execute la requete
    $bdd->query("SELECT ID,pseudo,message, DATE_FORMAT(date_post, \'%Hh%i le %d/%m/%Y\') AS date_post_fr FROM chat ORDER BY ID DESC LIMIT $limiteAppliquee ");

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // ne jamais jamais jamais faire ca
    $dbb->query('$_POST['choix']');
    Oui enfin ... ce code ne fonctionnerait pas de toute façon
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Points : 63
    Points
    63
    Par défaut
    merci de vos reponse
    j'avais un doute sur l'envoi de la donneé du switch pour remplacer la requete
    merci encore je vais tester ca
    +1

Discussions similaires

  1. [MySQL] recuperation variable php pour requete sql
    Par noche29 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/03/2011, 14h36
  2. [MySQL] PHP et requetes SQL
    Par mjs21 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 13/06/2008, 14h39
  3. [SQL] Menu deroulant PHP dynamique requete SQL
    Par pit2121 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/12/2007, 16h16
  4. [MySQL] php et requete sql mal executée
    Par sunshine33 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/04/2007, 12h16
  5. [Tableaux] affichage tableau php apres requete sql count
    Par heteroclite dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 20h53

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