Requetes sql et serveurs

Résolu
heinux Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

heinux Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   194
 
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   Statut Membre Dernière intervention   2
 
oki merci je test :)
0
heinux Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   194
 
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   Statut Membre Dernière intervention   194
 
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   Statut Membre Dernière intervention   194
 
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