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 :

Syntaxe code bdd et aléatoire


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Syntaxe code bdd et aléatoire
    Bonjour,

    C'est la première fois que je réalise un post comme celui-ci donc soyez compréhensif
    Je réalise un projet pour un cours et je ne connais que peu Php. J'ai réussi à créer les deux parties mais je n'arrive pas à les combiner :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     if (isset($_GET['console']))
    {
    $bdd = new PDO('mysql:host=localhost;dbname=171027_test', 'root', ''); /*Connexion à mon serveur local*/
    $reponse = $bdd->prepare('SELECT * FROM jeux_video WHERE console = ? ORDER BY RAND() LIMIT 1'); 
    $reponse->execute(array($_GET['console']));
     
    while ( $donnees = $reponse->fetch() )
    {
    	echo '<p>' . $donnees['console']  .  '</p>' ;
    } 
    }
    Ce code me permet d'accéder à ma base de donné et à la table jeu vidéo. Grâce au WHERE console = ? Je peux définir une première sélection (qu'il faut taper dans l'url : ?console=Nes (par exemple) et ORDER BY RAND()LIMIT 1 me permet d'afficher aléatoirement un seul résultat.

    Mon soucis vient du WHERE console = ?
    Ici il est "manuel" et j'aimerai que ce soit l'aléatoire qui détermine la catégorie à filtrer.
    J'ai chercher différentes solutions. J'ai ensuite vu en Php comment faire une liste et une sélection aléatoire dedans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $input = array("PC", "Nes", "GBA", "Megadrive", "PS2");
    $rand_keys = array_rand($input, 2);
    echo $input[$rand_keys[0]] . "\n";
    J'ai donc chercher à combiner ces deux codes mais je pense que ma syntaxe n'est pas correcte ou ce n'est peut-être pas la bonne solution.
    Je viens donc solliciter un peu d'aide ou de conseils par rapport à cela.

    Je vous remercie d'avance.
    Si jamais quelque chose n'est pas claire n'hésitez pas à le dire. Ce serait compréhensible

    Bonne journée à tous !

    Ps : Je me permets de rajouter que j'étais tombé sur ce post : https://www.developpez.net/forums/d8...here-variable/
    Très clair, avec une bonne réponse. Mais je n'ai pas réussi à l'appliquer ici :s

  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
    si tu enlèves le WHERE complétement, tu auras un jeu au hasard pour une console au hasard.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Sinon pour combiner tes deux morceaux de codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $input = array("PC", "Nes", "GBA", "Megadrive", "PS2");
    $key = array_rand($input);
    $console =  $input[$key];
     
    $bdd = new PDO('mysql:host=localhost;dbname=171027_test', 'root', ''); /*Connexion à mon serveur local*/
    $reponse = $bdd->prepare('SELECT * FROM jeux_video WHERE console = ? ORDER BY RAND() LIMIT 1'); 
    $reponse->execute(array($console));
     
    while ( $donnees = $reponse->fetch() )
    {
    	echo '<p>' . $donnees['console']  .  '</p>' ;
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [AC-2003] Erreur syntaxe code création requête
    Par C15nantes dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 29/09/2015, 17h56
  2. Erreur syntaxe code xslt
    Par kcizth dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 17/12/2013, 13h38
  3. aide syntaxe &code
    Par midoubah dans le forum MATLAB
    Réponses: 9
    Dernier message: 21/02/2012, 16h10
  4. [XL-2003] Erreur syntaxe code
    Par Jayyy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/06/2011, 08h15
  5. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03

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