A voir également:
- Requetes sql multiples
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix ✓ - Forum MySQL
- Jointure sql ✓ - Forum MySQL
- Prestashop déclinaisons multiples ✓ - Forum Webmastering
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
2 réponses
Bien sûr, puisque cette façon de coder est bête, incompréhensible, longue et ardue. Les programmeurs souhaitant tout le contraire ont mis au point plusieurs techniques.
Voilà la solution à ton problème.
Mais voilà que certains trucs me sautent aux yeux à la lecture de ton code initial. Quelques astuces...
Voilà la solution à ton problème.
require('bdd.php'); //Inutile de sélectionner les IDs, plutôt compter les //colonnes correspondates aux critères de recherche... //Il est aussi préférable, plutôt que d'entrer true ou false //dans la bdd, de modifier ces valeurs explicites en language logique, //où false = 0 alors que true = 1. Lors de la création de la strucure //de la table, selectionne le type BOOLEAN, ce qui aura pour effet //de créer un champs de type TINYINT(1) où tu entreras ces valeurs. //[WHERE value = 0 est ainsi l'équivalent de WHERE value = \'false\'] $reponse = $bdd->query(' SELECT (SELECT COUNT(*) FROM comment WHERE value = 0) AS commentairesNonValides, (SELECT COUNT(*) FROM livre WHERE value = 0) AS livresNonValides'); //Là-haut, essaie de garder une certaine logique. Tu as mis commentairesNonValides //pour la table comment, alors je place livre[s]NonValide[s] pour la table livre. //Plus besoin d'une boucle puisque //la requête ne retourne qu'une seule ligne. $donnees = $reponse->fetch(); if($donnees['commentairesNonValides']>0){ echo '<p align="center">Vous avez ' . $donnees['commentairesNonValides'] . ' commentaires non validés pour les produits !</p>'; } if($donnees['livresNonValides']>0){ echo '<p align="center">Vous avez ' . $donnees['livresNonValides'] . ' commentaires non validés dans le livre d\'or!</p>'; } $reponse->closeCursor();
Mais voilà que certains trucs me sautent aux yeux à la lecture de ton code initial. Quelques astuces...
//Pourquoi? Lorsque tu «require», une seule fois suffit, //et la page est inclue dans le script! require('bdd.php'); //Ligne 1 (UTILE) require('bdd.php'); //Ligne 13 (INUTILE) //Lorsque tu souhaites afficher des variables et du texte, //tu entoures la chaîne de double quotes, soit des guillemets. //(sans oublier les «backward slash» qui viennent avant les guillements désirés DANS la chaîne!) echo "<p align=\"center\">Vous avez $commentairesNonValides commentaires non validés pour les produits !</p>"; //Ici, là-haut, j'aurais pu utiliser cette méthode echo "<p align=\"center\">Vous avez {$donnees['commentairesNonValides']} commentaires non validés pour les produits !</p>"; //...mais je préfère l'écrire comme je l'ai fait là-haut //lorsque je manipule des tableaux.
Bonjour,
Oui, il y a moyen,
Recherche sur Google: PDO Prépare.
Une requête préparée est une requête qui est en constante interaction avec ta base de donnée.
J'espère t'avoir aider.
Cordialement
--
Oui, il y a moyen,
Recherche sur Google: PDO Prépare.
Une requête préparée est une requête qui est en constante interaction avec ta base de donnée.
J'espère t'avoir aider.
Cordialement
--
bon tout d'abord je tiens a te remercier pour ton aide, tu explique tres bien et tes scripts sont tres claires :)
tout d'abord j'ai utilisé require une seule fois et bizzarement j'ai recu une parse error -_- c'est pour cela que je le met deux fois
je n'ai pas utilisé d'antislash parce que j'ai utilisé des guillemets et des apostrophes
voici un exemple
STP pour ton script en haut,
euh je ne maitrise pas ce genre de chose donc je sais pas, mais j'ai limpression que tu as oublié une parenthse au debut (juste pour confirmer et apprendre la bonne syntaxe)
aussi tu explique tres bien je voudrais encore te derenger unpeu
est ce possible en se conectant une seul fois sur une bdd d'ecrire plusieurs requetes qui lisent, inserent, et modifient des valeurs sur pluisuers tables mysql
et merci bcp :)
Pour l'histoire des guillemets, bah c'est très bien. Je préfère utiliser des guillemets malgré les antislashs tout simplement parce que mon HTML est codé ainsi. C'est uniquement dans le but d'être conforme au reste, mais ça ne change absolument rien au final.
Enfin, pour le truc qui lit, insère puis modifie sur plusieurs tables, je suis navré, mais je n'en sais rien. Il est à noter toutefois que la programmation permet de quasi tout faire et que ses possibilités sont bien plus infinies qu'on ne pourrait le croire.
Je crois que l'important n'est pas forcément de toujours éviter les connections aux bdd, mais de coder proprement et se limiter au nécessaire. Il faut dire que cette requête là-haut ne dure qu'une infime fraction de seconde et ne représente ainsi aucun risque. Il me semble bien plus crucial de savoir élaborer une structure adéquate pour nos besoins. Le monde des bdd est large et complexe, et tous ceux qui le défie s'y confronte.
je suis d'accord avec vous, il ne faut se limiter qu'au necessaire.
en tout cas si je trouve une reponse a ma question je la métré ici ;)
merci eyt bon courage