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 :

Requête et fetch [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 326
    Points : 156
    Points
    156
    Par défaut Requête et fetch
    Bonjour à tous,

    J'ai un problème au niveau d'un fetch, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php 
         $select_req = $bdd->query('SELECT Requete FROM REQUETE WHERE Utilisateur = "'. $_SESSION['login'].'"'); //sélectionne les requetes en fonction de l'utilisateur
         $requetes = $select_req->fetch();
         print_r($requetes);
         echo '\n';
         $req_user = $bdd->query('SELECT count(Utilisateur) FROM REQUETE WHERE Utilisateur = "'. $_SESSION['login'].'"'); //nb de requetes en fonction de l'utilisateur
         print_r($req_user);
    ?>
     
    </script>
     
    <h2>Les 3 dernières requêtes enregistées</h2>
    <?php 
    while ($nb_req = $req_user->fetch())
    {
         echo $nb_req['idRequete'] ."<br>";
         echo $nb_req['Requete'] ."<br>";
    } 
    ?>
    Voici l'affichage des erreurs trouvées :

    Notice: Undefined index: idRequete in /var/www/html/CQuest_reborn/accueil.php on line 31
    Notice: Undefined index: Requete in /var/www/html/CQuest_reborn/accueil.php on line 32
    Cependant ce fichier (accueil.php) est inclus dans un autre fichier (index.php) où est présent le include('connexion.php') qui est le fichier qui permet de se connecter à la base de données.

    Pour résumé, ce que je voudrais faire c'est :
    - Récupérer les requetes en base d'un utilisateur et les affichées sur la page

    Merci d'avance pour votre aide !

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    C'est supposé renvoyer quoi selon toi une requête count ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 326
    Points : 156
    Points
    156
    Par défaut
    C'est supposé renvoyer le nb de requêtes et ça le renvoit bien. Le souci se situe au niveau de mon fetch qui est faux... Je voudrais faire afficher 3 requêtes du coup c'est pour ça que j'avais utilisé ça.

  4. #4
    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
    Si tu veux afficher les requêtes, il faut boucler sur $requetes et non pas sur $req_user.

    Au passage, avoir le même nom pour une table et une colonne de la table, ça ne doit pas être facile pour s'y retrouver
    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]

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 326
    Points : 156
    Points
    156
    Par défaut
    J'ai renommé la table pour qu'elle n'ait plus le même nom que l'attribut et voici mon fetch :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while($res = $req_select->fetch())
    {
    	list($jour,$heure)=explode(" ",$res['date_heure']);
    	echo "<tr><td>".$jour."<br/>".$heure."</td>";
    	echo "<td style='width:200px;' id = 'nomrequete".$id_ligne."' onblur=\"updateValue('".$res['NomRequete']."','NomRequete',document.getElementById('nomrequete".$id_ligne."').textContent);\">".$res['NomRequete']."</td>";				
    	echo "<td style='width:200px;' id = 'commentaire".$id_ligne."' onblur=\"updateValue('".$res['NomRequete']."','Commentaire',document.getElementById('commentaire".$id_ligne."').textContent);\">".$res['Commentaire']."</td>";
    	echo "<td style='width:150px;' id = 'date_debut".$id_ligne."' onblur=\"updateValue('".$res['NomRequete']."','date_debut',document.getElementById('date_debut".$id_ligne."').textContent;\">".$res['date_debut']."</td>";
    	echo "<td style='width:150px;' id = 'date_fin".$id_ligne."'onblur=\"updateValue('".$res['NomRequete']."','date_fin',document.getElementById('date_fin".$id_ligne."').textContent;\">".$res['date_fin']."</td>";	
    	echo "<td style='width:180px;'><button id='moddatereq' type='submit' class='valider' onClick='javascript:showChampsReq(addslashes(".$res['NomRequete']."),addslashes(".$res['Commentaire']."),addslashes(".$res['date_debut']."),addslashes(".$res['date_fin']."),200')>Modifier la requête<br><button id='delreq' type='submit' class='valider' onClick='javascript:supprimerRequete'>Supprimer</td>";
    }

    Et ça marche !

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

Discussions similaires

  1. Requête SQL : renvoyer 0 si empty fetch
    Par ep31 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/05/2010, 17h54
  2. [PDO] Fetch avec while imbrique et requête preparée
    Par mensoif dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/06/2009, 12h36
  3. [9i][OCI]Requête bloquante / fetch
    Par Herode dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 25/04/2006, 11h17
  4. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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