Discussion: requête multi tables

  1. #21
    Candidat au Club
    Profil pro
    Inscrit en
    août 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2013
    Messages : 16
    Points : 4
    Points
    4

    Par défaut

    J'ai testé cette requête simple, et je n'obtiens qu'une page blanche.

    Je précise qu'elle fonctionne dans phpmyadmin.

  2. #22
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 416
    Points : 20 798
    Points
    20 798

    Par défaut

    Et tu en conclus quoi ?
    Rien, apparemment...

    Et comme tu ne montres pas ton code PHP/SQL, nous non plus.
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #23
    Candidat au Club
    Profil pro
    Inscrit en
    août 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2013
    Messages : 16
    Points : 4
    Points
    4

    Par défaut

    Il s'agit de cette requête-ci :

    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
    <?php
     
        $strConnection = 'mysql:host=localhost;dbname=BIBLIOTHEQUE'; //Ligne 1
        $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2
        $pdo = new PDO($strConnection, 'Neelix', 'kahless', $arrExtraParam); //Ligne 3; Instancie la connexion
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Ligne 4
     
     
     
    $reponse = $pdo->prepare("SELECT TOME, TITRE, COUVERTURE, RESUME
    	FROM T_TITRES
    	WHERE COLLECTION_ID = :collection_id");
    $reponse->execute(array(':collection_id' => 1)); // (pour test, mettre un id existant effectivement en Bdd)
    $nombre_results = $reponse->rowCount();
    echo 'nombre de resultats : '.$nombre_results;
    ?>

  4. #24
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 416
    Points : 20 798
    Points
    20 798

    Par défaut

    Il te faut apprendre à faire toi-même le débogage de base.

    1/ Je t'ai fait un exemple de try / catch pour afficher les erreurs SQL...
    A mettre pour le script de connexion et celui de la requete.

    2/ Et tu peux rajouter pour les erreur PHP (en début de script) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    error_reporting(E_ALL); 	// en TEST !!
    3/ Généralement, et pour éviter de copier 10000 fois le script de connexion, on le met dans un fichier externe, qu'on appelle après avec require(...).

    Ca donne :
    connexion.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    try {
        $strConnection = 'mysql:host=localhost;dbname=BIBLIOTHEQUE'; //Ligne 1
        $arrExtraParam = array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',  // encodage UTF-8
            PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION // activation des erreurs SQL
        );
        $pdo = new PDO($strConnection, 'Neelix', 'kahless', $arrExtraParam); //Ligne 3; Instancie la connexion
     
    } catch(PDOException $e){ echo 'ERREUR PDO connexion'; }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    error_reporting(E_ALL); 	// en TEST !!
     
    require('connexion.php');
     
    try {
    	$reponse = $pdo->prepare("SELECT TOME, TITRE, COUVERTURE, RESUME
    		FROM T_TITRES
    		WHERE COLLECTION_ID = :collection_id");
    	$reponse->execute(array(':collection_id' => 1)); // (pour test, mettre un id existant effectivement en Bdd)
    	$nombre_results = $reponse->rowCount();
    	echo 'nombre de resultats : '.$nombre_results;
    } catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #25
    Candidat au Club
    Profil pro
    Inscrit en
    août 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2013
    Messages : 16
    Points : 4
    Points
    4

    Par défaut

    Bon ben je suis le roi des idiots.

    Il suffisait de me connecter avec les bons paramètres à la base de données. Je n'étais pas connecté avec PDO.

    Quand à la requête qui est à l'origine du post la voici, pleinement fonctionnelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $reponse = $pdo->prepare("SELECT T_TITRES.TOME, T_TITRES.TITRE, AUTEUR, EDITEUR, BIBLIOTHEQUE, COLLECTION, SOUSCOLLECTION
    	FROM T_TITRES
    			JOIN T_AUTEURS ON T_TITRES.AUTEUR_ID = T_AUTEURS.AUTEUR_ID
    			JOIN T_EDITEURS ON T_TITRES.EDITEUR_ID = T_EDITEURS.EDITEUR_ID
    			JOIN T_BIBLIOTHEQUE ON T_TITRES.BIBLIOTHEQUE_ID = T_BIBLIOTHEQUE.BIBLIOTHEQUE_ID
    			jOIN T_COLLECTIONS ON T_TITRES.COLLECTION_ID = T_COLLECTIONS.COLLECTION_ID
    			LEFT JOIN T_SOUSCOLLECTIONS ON T_TITRES.SOUSCOLLECT_ID = T_SOUSCOLLECTIONS.SOUSCOLLECT_ID
    				WHERE T_TITRES.COLLECTION_ID = :collection_id
    				AND T_TITRES.SOUSCOLLECT_ID IS NULL");
    	$reponse->execute(array(':collection_id' => $selectCollection));
    Merci à tous pour votre mobilisation.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème de requête multi tables
    Par arnold002 dans le forum Requêtes
    Réponses: 1
    Dernier message: 14/03/2010, 09h24
  2. problème requête - 2 tables - count - distinct
    Par avironix2 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/12/2007, 11h16
  3. problème de requête multi-table
    Par dergips dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/07/2007, 19h21
  4. Problème requête ALTER TABLE
    Par 1tsiMat dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 29/06/2006, 14h16
  5. Problème DELETE multi-tables
    Par Gwipi dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/05/2006, 09h48

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