Requetes sql et serveurs

Résolu/Fermé
heinux Messages postés 7 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 8 mars 2011 - 8 mars 2011 à 10:19
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 - 8 mars 2011 à 11:25
Bonjour,

J'aimerai avoir des conseils concernant une requête dans mon script... elle est répétitive et j'aimerai savoir si elle cela ne force pas sur le serveur ( j'ai un serveur dédié)
ma requête sert a avoir le nombre d'entrée qu'il y a dans une table... une table est voici la requête
chaque table correspond a une catégorie

 <?php

	include('config.php');	
      $nbr = mysql_query('SELECT COUNT(*) FROM table0');
      $nbr1 = mysql_query('SELECT COUNT(*) FROM table1');
      $nbr2 = mysql_query('SELECT COUNT(*) FROM table2');
      $nbr3 = mysql_query('SELECT COUNT(*) FROM table3');
      $nbr4 = mysql_query('SELECT COUNT(*) FROM table4');
      $nbr5 = mysql_query('SELECT COUNT(*) FROM table5');
      $nbr6 = mysql_query('SELECT COUNT(*) FROM table6');
      $nbr7 = mysql_query('SELECT COUNT(*) FROM table7');
      $nbr8 = mysql_query('SELECT COUNT(*) FROM table8');
      $nbr9 = mysql_query('SELECT COUNT(*) FROM table9');
      $nbr10 = mysql_query('SELECT COUNT(*) FROM table10');
      $nbr11 = mysql_query('SELECT COUNT(*) FROM table11');
      $nbr12 = mysql_query('SELECT COUNT(*) FROM  table12');
      $nbr13 = mysql_query('SELECT COUNT(*) FROM  table13');
      $nbr14 = mysql_query('SELECT COUNT(*) FROM  table14');
      $nbr15 = mysql_query('SELECT COUNT(*) FROM  table15');
      $nbr16 = mysql_query('SELECT COUNT(*) FROM  table16');
      $nbr17 = mysql_query('SELECT COUNT(*) FROM  table17');
      $nbr18 = mysql_query('SELECT COUNT(*) FROM  table18');
	  


      $array = mysql_fetch_array($nbr);
      $array1 = mysql_fetch_array($nbr1);
      $array2 = mysql_fetch_array($nbr2);
      $array3 = mysql_fetch_array($nbr3);
      $array4 = mysql_fetch_array($nbr4);
      $array5 = mysql_fetch_array($nbr5);
      $array6 = mysql_fetch_array($nbr6);
      $array7 = mysql_fetch_array($nbr7);
      $array8 = mysql_fetch_array($nbr8);
	  $array9 = mysql_fetch_array($nbr9);
	  $array10 = mysql_fetch_array($nbr10);
	  $array11 = mysql_fetch_array($nbr11);
	  $array12 = mysql_fetch_array($nbr12);
	  $array13 = mysql_fetch_array($nbr13);
	  $array14 = mysql_fetch_array($nbr14);
	  $array15 = mysql_fetch_array($nbr15);
	  $array16 = mysql_fetch_array($nbr16);
	  $array17 = mysql_fetch_array($nbr17);
	  $array18 = mysql_fetch_array($nbr18);



	?>  


ensuite l'echo

 <table id="tablo" width="400">
          <tr>
            <td><a href='lien'>catégorie1 (<?php echo $array[0] ?>)</a></td>
            <td><a href='lien'>catégorie2 (<?php echo $array1[0] ?>)</a></td>
            <td><a href='lien'>catégorie3 (<?php echo $array2[0] ?>)</a></td>
            <td><a href='lien'>catégorie4 (<?php echo $array3[0] ?>)</a></td>
            <td><a href='lien'>catégorie5 (<?php echo $array4[0] ?>)</a></td>
          </tr>
         .......................... ainsi de suite jusqu'à 18
        </table>


Si quelqu'un a une meilleurs façon de faire la requête n'hésitez pas.
Je trouve que sa fait super lourd lol mais je ne sais pas comment faire autrement
Merci

2 réponses

heinux Messages postés 7 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 8 mars 2011 2
8 mars 2011 à 10:44
Hello merci pour ta réponse mais table1 table2 etc... c'atait pour l'exemple a la place j'ai de vrai nom et qui ne sont pas numéroté donc je ne pense pas que cela puisse marcher
2
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 193
Modifié par Bertrand40 le 8/03/2011 à 10:54
Je pense que tu peux alors faire la même chose en plaçant les noms de tes tables dans un tableau.

Par exemple : $table = array(nomTable1, nomTable2, nomTable3, etc...);

Ce qui donnerait :

<table id="tablo" width="400">
<tr>
<?php
$table = array(nomTable1, nomTable2, nomTable3, etc...);

for ($i = 0; $i <= 18; $i++)
{
$table = $table[$i];
$nbr = mysql_query('SELECT COUNT(*) FROM ' . $table . '');
$array = mysql_fetch_array($nbr);

echo '
<td>
<a href="lien">catégorie' . ($i + 1) . ' (' . $array[0] . ')</a>
</td>';
}
?>
</tr>
</table>
0
heinux Messages postés 7 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 8 mars 2011 2
8 mars 2011 à 10:49
oki merci je test :)
0
heinux Messages postés 7 Date d'inscription mardi 8 mars 2011 Statut Membre Dernière intervention 8 mars 2011 2
8 mars 2011 à 11:00
cela ne fonctionne pas , cela m'affiche catégorie1 () catégorie2 () catégorie3 () catégorie4 () ... pourtant j'ai bien icnlude mon config.php et remplacer les nomTable1 par le nom de mes tables
0
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 193
8 mars 2011 à 11:07
J'avais fait une erreur sur cette ligne, est-ce que tu l'as corrigée ? (les parenthèses inutiles)
$nbr = mysql_query('SELECT COUNT(*) FROM ' . $table . '');
0
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 193
8 mars 2011 à 11:15
C'est bon, j'ai trouvé la boulette.

<table id="tablo" width="400">
<tr>
<?php
$table = array('nomTable1', 'nomTable2', 'nomTable3', etc...);

for ($i = 0; $i <= 18; $i++)
{
$nbr = mysql_query('SELECT COUNT(*) FROM ' . $table[$i] . '');
$array = mysql_fetch_array($nbr);

echo '
<td>
<a href="lien">catégorie' . ($i + 1) . ' (' . $array[0] . ')</a>
</td>';
}
?>
</tr>
</table>

Je l'ai testé, et ça fonctionne correctement :)
0
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 193
Modifié par Bertrand40 le 8/03/2011 à 10:43
Bonjour,

Je n'ai pas testé et je ne suis pas un champion.
Je pense que ceci devrait fonctionner.

<table id="tablo" width="400">
<tr>


for ($i = 0; $i <= 18; $i++)
{
$nbr = mysql_query('SELECT COUNT(*) FROM table' . $i . '');
$array = mysql_fetch_array($nbr);

echo '
<td>
<a href="lien">catégorie' . ($i + 1) . ' (' . $array[0] . ')</a>
</td>';
}

</tr>
</table>

Le jambon de Bayonne c'est bon ! Non, disons que personnellement je trouve ça bon.
0