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 :

quote ou double quote avec FPDF [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Par défaut quote ou double quote avec FPDF
    Bonjour
    Bonne année à tous,
    Je fais appel à vous car je ne trouve pas, après maintes recherches, la réponse à mon problème.
    J’utilise xp, mozilla firefox v 3.6.10, php v5.3.1, mysql v 5.1.43, easyphp v5.3.1.
    Mon problème :
    J’ai un panier(donc une commande) ok, le client valide son panier et les données sont traitées et envoyées dans 2 tables(commande et ligne_cde) par un fichier verif.php et les sessions crées sont détruites, c’est ok.
    Suite à cette validation et cette insertion, la commande(panier) s’affiche à l’écran
    dans un pdf ok. Le client pourra l’éditer et l’enregistrer.
    Pour mon pdf j’utilise la librairie FPDF.
    Pour créer ce pdf, le fichier verif.php a créé une nouvelle session avec pour seul élément le numéro de commande venant d’être créé, j’extrais ma variable $cde c’est ok.
    Dans ce pdf j’ai 2 requêtes :
    la première pour les coordonnées du client avec
    [CODE-sql]$sql="SELECT etc…FROM client, commande WHERE ….LIKE ‘$cde’ … ; [/CODE]
    c’est ok.
    Pour ma deuxième requête je récupère les lignes de ma commande avec
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdf->Table('SELECT etc … FROM ligne_cde  WHERE …LIKE "$cde"  ORDER BY type_boisson', $prop);
    et problème ! aucun message d’erreur et pas de données d’affichage de ligne de commande.

    Pour mes essais j’indiquais directement mon n° cde à la place de la variable $cde avec
    …... LIKE ‘1031’ pour ma première requête et c’était ok.
    et …LIKE "1031" Pour la deuxième requête et c’était ok.
    Toutes mes données étaient présentent et j’étais content.
    Voici enfin mon problème :
    Pourquoi lorsque je change 1031 par ma variable dans la deuxième requête il ne renvoie rien, même pas de message(les coordonnées client s’affichent bien) ?
    Est-ce que $pdf->TABLE(‘SELECT etc… accepte les variables comme élément de tri ?
    Pourquoi toutes les quotes et double quotes sont inversées ?
    J’ai repris l’exemple de la requête du script tableau avec mysql sur FPDF.
    Merci pour vos réponses.
    Voici mes 2 requêtes au complet.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Je préfère toujours écrire les requêtes dans une variable puis lancer l'exécution ensuite. Comme en plus actuellement j'utilise Zend Framework donc PDO, ça permet de binder les paramètres.

    Par contre, malgré l'utilisation de PDO, je préfère écrire mes requêtes moi-même, surtout quand elles sont complexes. C'est plus rapide que la syntaxe style ORM de PDO.

    Ce qui donne chez moi plutôt ceci :
    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
    20
    21
        public function inscritStage($login)
        {
            $select = "
                SELECT p.prs_nom, p.prs_prenom,
                    ssn.ssn_id, ssn.ssn_libelle, 
                    DATE_FORMAT(ssn.ssn_date_debut, '%d/%m/%Y') AS ssn_date_debut, 
                    DATE_FORMAT(ssn.ssn_date_fin, '%d/%m/%Y') AS ssn_date_fin,
                      e.etb_nom, c.cmn_nom, d.dpt_numero
                FROM th_utilisateur_uti AS u
                INNER JOIN te_personne_prs AS p ON p.prs_id = u.uti_id_personne
                LEFT OUTER JOIN tj_cnd_inscrire_ssn_cis AS cis ON cis_id_candidat = u.uti_id_personne
                      LEFT OUTER JOIN te_session_ssn AS ssn ON ssn.ssn_id = cis.cis_id_session
                        INNER JOIN th_stage_stg AS stg ON stg.stg_id_session = ssn.ssn_id
                              INNER JOIN te_etablissement_etb AS e ON e.etb_id = stg.stg_id_etablissement
                                INNER JOIN tr_commune_cmn AS c ON c.cmn_id = e.etb_id_commune
                                      INNER JOIN tr_departement_dpt AS d ON d.dpt_id = c.cmn_id_departement
                WHERE u.uti_login = ?
            ";
     
            return $this->_db->fetchRow($select, $login);
        } // Fin public function inscritStage($login)
    Tu remarqueras que le texte de la requête est entre guillemets.

    En programmation simple avec mysql_query, ça donnerait ce genre de truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = "
      SELECT les_colonnes
    FROM la_table
    WHERE une_colonne = '$une_variable_texte_php'
    ";
     
    mysql_query($sql) or die(mysql_error);
    Rappels :
    - En SQL, les valeurs textuelles s'écrivent entre apostrophes, pas entre guillemets.
    - Inutile d'entourer les valeurs numériques avec des apostrophes.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Par défaut
    merci pour cette réponse rapide.
    je n'avais pas penser à cette solution.
    encore merci à toi
    à une prochaine fois.
    philippe

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

Discussions similaires

  1. Insertion quote et double quote
    Par Ebisu dans le forum SQL*Loader
    Réponses: 8
    Dernier message: 08/10/2008, 17h41
  2. quote et double quote
    Par ensisoft dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/05/2008, 18h16
  3. Requete avec quote et double quote
    Par swissmade dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/08/2007, 15h01
  4. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

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