8791 sujets

Développement web côté serveur, CMS

Bonsoir à tous, je ne suis pas un as du php/mysql mais j'aime bien chipoter Smiley smile

voila, je vais vous exposé mon soucis ...
J'ai dans ma base de donnée une table site_parametres
avec id parametre

ex :

1 Newsletter
2 Nos Liens
3 Promotion

j'aimerai avec un script php afficher sur ma page les infos qui se trouve dans ma table "site_parametres"

Exemple "affiche parametre id 1"

avec ce script j'arrive a affiché ce que je veux, mais je doute qu'il sois propre, il y aura pas moyen d'optimisé ce code ?

<?
include("config.php");
$sql_option = mysql_query("SELECT * FROM site_parametres WHERE id IN (1)");
while ($sl = mysql_fetch_array($sql_option)) { 
$parametre = $sl["parametre"];
echo("$parametre<br>");
} ?>


si c'est possible ...

Merci et bonne soirée
Modifié par IVIedia (22 Dec 2010 - 21:27)

// Appel du fichier de configuration
require_once('config.php');
// Requete SQL
$reponse = $bdd->query('SELECT * FROM site_parametres WHERE id IN (1)');
 // Boucle pour afficher les résultats
 while ($data = $reponse->fetch())
 {
 $parametre = $data["parametre"];
 echo '$parametre<br />';
 } 


Personnellement, j'aurais mis ça.
Modifié par Technologix (22 Dec 2010 - 23:51)
C'est surtout la requete qui n'est pas super ...
Déjà, toujours éviter "*", il est préférable de lister les colonnes dont on a besoin et pas plus.
De même pourquoi utiliser "IN ()" ?

Après bon, c'est surtout une question de debug/réutilisation, le fait d'utiliser directement mysql_fetch_array fait que tu ne peux pas avoir un bench de tes requetes sql etc. (en tout cas pas automatiquement).

Et si on veut chipoter, inutile de définir une variable "$parametre" si c'est pour l'affiche à la ligne en dessous, autant l'afficher directement à ce moment là.

Donc autant mettre echo $sl["parametre"] . '<br />';

PS : Technologix : echo '$parametre<br />'; ça ne marchera pas ça Smiley smile