Elidris |
Le 03/01/2007 à 14:48  |
Encéphalo plat ! |
 Bonjour, c'est encore moi pour une petite question débile^^ J'ai un bout de code qui me sert à aller recuperer tous les auteurs ainsi que le nombre de citation de cette auteur dans une table Sql et à les inserer dans un menu déroulant. Sauriez vous me dire laquelle de ces 2 requêtes est la meilleure ( question poids pour le serveur !) :
<?php
$requete = mysql_query("SELECT auteur FROM proverbe");
while ($ligne = mysql_fetch_object($requete))
{
$aut = $ligne->auteur;
$page="index.php?page=modules/page_auteur&aut=$aut";
$affiches=ucfirst($aut);
$categories_aut["$affiches"]++;
}
ksort($categories_aut);
echo '<form action="index.php?page=modules/page_resultat_auteur" target="_parent" method="post">
<div class="cadre_ghaut"><p>Recherche</p></div>
<div class="cadre_gbas"><p><br />
<select name="cat_auteur" class="formulaire" size="15" style="width:150px; background-color:#d4d9f8;">';
for (reset($categories_aut); $aut = key($categories_aut); next($categories_aut)) {
echo'<option>'.$aut.' ('.$categories_aut[$aut].')</option>'; }
echo '</select><br /><br />
<input type="submit" value=" Valider" class="boutton_valide" />
</p></div></form>';
?>
ou
<?php
$requete = mysql_query("SELECT auteur FROM proverbe");
while ($ligne = mysql_fetch_row($requete))
{
$aut = $ligne['0'];
$page="index.php?page=modules/page_auteur&aut=$aut";
$affiches=ucfirst($aut);
$categories_aut["$affiches"]++;
}
ksort($categories_aut);
echo '<form action="index.php?page=modules/page_resultat_auteur" target="_parent" method="post">
<div class="cadre_ghaut"><p>Recherche</p></div>
<div class="cadre_gbas"><p><br />
<select name="cat_auteur" class="formulaire" size="15" style="width:150px; background-color:#d4d9f8;">';
for (reset($categories_aut); $aut = key($categories_aut); next($categories_aut)) {
echo'<option>'.$aut.' ('.$categories_aut[$aut].')</option>'; }
echo '</select><br /><br />
<input type="submit" value=" Valider" class="boutton_valide" />
</p></div></form>';
?>
Voilà, et sinon existe t'il une façon de faire, meilleure que celles-ci ? merci...  -- "Les experts auront beau se mettrent tous d'accord, il peuvent se tromper." |
Anthony |
Le 03/01/2007 à 19:20  |
Fou du volant |
Salut,
Le fetch_row est le plus rapide, mais quand tu prends un tableau numérique, au lieu de faire ça : $aut = $ligne['0']; fais ça : $aut = $ligne[0];
la seconde solution est plus rapide, car 0 est traité comme un chiffre et non comme une chaîne de caractères, ce qui est plus rapide.
$categories_aut["$affiches"]++; c'est pas indispensable, mets plutôt $categories_aut[$affiches]++;
Sinon perso j'aurais fait ça :
<form action="index.php?page=modules/page_resultat_auteur" target="_parent" method="post">
<div class="cadre_ghaut"><p>Recherche</p></div>
<div class="cadre_gbas"><p><br />
<select name="cat_auteur" class="formulaire" size="15" style="width:150px; background-color:#d4d9f8;">
<?php
$requete = mysql_query('SELECT auteur FROM proverbe');
mysql_close();
while ($ligne = mysql_fetch_row($requete))
{
$page='index.php?page=modules/page_auteur&aut='.$ligne[0];
$categories_aut[ucfirst($ligne[0])]++;
}
ksort($categories_aut);
foreach($categories_aut AS $cle => $valeur)
{
echo'<option>'.$cle.' ('.$valeur.')</option>';
}
?>
</select><br /><br />
<input type="submit" value=" Valider" class="boutton_valide" />
</p></div></form>
|