Requetes sql et serveurs

Résolu
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

  1. 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
    1. 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
    2. oki merci je test :)
      0
    3. 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
    4. 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
    5. 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
  2. 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