Se connecter avec
S'enregistrer | Connectez-vous

You are not allowed to do this.

Optimiser une base de donnée

Dernière réponse : dans Programmation
Expert Programmation

Salut, alors voilà j'ai créer une gallerie possédant 7 rubriques et 64 photos ces 64 photos sont rediriger via imageshark elle ne sont donc pas sur mon ftp. La base de donnée de la gallerie fais +ou- 16ko, j'ai une autre base de donnée pour les téléchargement celle si fais +ou- 42ko, mon problème c'est qu'a l'ouverture d'une rubrique de la gallerie c'est assez lent il faut +ou- 5 secondes pour que sa s'ouvre, alors que la pages téléchargement ne prend qu'une fraction de seconde, alors que la base de donnée et plus volimineuse :heink: 

Est-ce possible d'optimiser la base de donner de la gallerie pour que se soit plus rapide? ou alors ma solution sera de créer une deuxième? merci de votre aide

Autres pages sur : optimiser base donnee

Lassé par la pub ? Créez un compte
Expert Programmation

C'est du nuked klan, en fait j'ai une table pour les catégorie et une table pour les images! je suis malheureusement obligé d'héberger sur imagesharck vu que je ne dispose que de 200Mo, pour le code source tu peux aller voir sur mon site rubrique galerie! merci
Expert Programmation

crazycat@idn a dit :
Met nous ton code, on pourra peut-être relever un soucis.

allstar27 a dit :
C'est du nuked klan, en fait j'ai une table pour les catégorie et une table pour les images!


Tu crois réellement que je vais installer un nuked machin et trouver le module que tu as pu mettre pour le corriger?
Alors, soit tu met une copie du code qui te semble merdoyer ici, soit tu attends que Vinz42 s'occupe de ton cas.
Expert Programmation

Bon bein voilà alors

  1. <?php
  2.  
  3. if (!defined("INDEX_CHECK"))
  4. {
  5. die ("<div style=\"text-align: center;\">You cannot open this page directly</div>");
  6. }
  7.  
  8. global $nuked, $language, $user;
  9. translate("modules/Gallery/lang/" . $language . ".lang.php");
  10. include("modules/Gallery/config.php");
  11.  
  12. if (!$user)
  13. {
  14. $visiteur = 0;
  15. }
  16. else
  17. {
  18. $visiteur = $user[1];
  19. }
  20. $ModName = basename(dirname(__FILE__));
  21. $level_access = nivo_mod($ModName);
  22. if ($visiteur >= $level_access && $level_access > -1)
  23. {
  24. compteur("Gallery");
  25.  
  26. function view_screen($sid)
  27. {
  28. global $nuked;
  29.  
  30. $sql = mysql_query("SELECT titre, url FROM " . GALLERY_TABLE . " WHERE sid = '" . $sid . "'");
  31. list($titre, $url) = mysql_fetch_array($sql);
  32. $titre = stripslashes($titre);
  33. $titre = htmlentities($titre);
  34.  
  35. $name = strrchr($url, '/');
  36. $name = substr($name, 1);
  37. $name_enc = rawurlencode($name);
  38. $url = str_replace($name, $name_enc, $url);
  39.  
  40. echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>\">\n"
  41. . "<html xmlns=\"<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>\" xml:lang=\"fr\">\n"
  42. . "<head><title>" . $titre . "</title>\n"
  43. . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n"
  44. . "<meta http-equiv=\"content-style-type\" content=\"text/css\" />\n"
  45. . "<link title=\"style\" type=\"text/css\" rel=\"stylesheet\" href=\"themes/" . $theme . "/style.css\" /></head>\n"
  46. . "<body style=\"background: " . $bgcolor2 . ";margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;\">\n"
  47. . "<div style=\"text-align: center;\"><a href=\"javascript: self.close()\"><img style=\"border: 0;\" src=\"" . $url . "\" alt=\"\" title=\"" . _CLICTOCLOSE . "\" /></a></div></body></html>";
  48.  
  49. }
  50.  
  51. function cat($cat)
  52. {
  53. global $nuked, $bgcolor1, $bgcolor2, $bgcolor3, $img_cat, $img_none, $image_resize;
  54.  
  55. $counter = 0;
  56.  
  57. $sql = mysql_query("SELECT cid, titre, description FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '" . $cat . "'");
  58. $nb_subcat = mysql_num_rows($sql);
  59.  
  60. if ($nb_subcat > 0)
  61. {
  62. echo "<table width=\"100%\" cellspacing=\"5\" cellpadding=\"0\" border=\"0\">\n";
  63.  
  64. $sql = mysql_query("SELECT cid, titre, description FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '" . $cat . "' ORDER BY position, titre");
  65. while (list($catid, $parentcat, $parentdesc) = mysql_fetch_array($sql))
  66. {
  67. $parentcat = stripslashes($parentcat);
  68. $parentdesc = stripslashes($parentdesc);
  69.  
  70. $parentcat = htmlentities($parentcat);
  71. $parentdesc = htmlentities($parentdesc);
  72.  
  73. $parentdesc = BBcode($parentdesc);
  74. $parentdesc = icon($parentdesc);
  75.  
  76. $sql_img = mysql_query("SELECT url, url2, date FROM " . GALLERY_TABLE . " WHERE cat = '" . $catid . "' ORDER BY sid DESC");
  77. $nb_imgcat = mysql_num_rows($sql_img);
  78. list($url, $url2, $date) = mysql_fetch_array($sql_img);
  79.  
  80. if ($url2 != "" && $url2 != "http://")
  81. {
  82. $image = $url2;
  83. }
  84. else
  85. {
  86. $image = $url;
  87. }
  88.  
  89. $name = strrchr($image, '/');
  90. $name = substr($name, 1);
  91. $name_enc = rawurlencode($name);
  92. $image = str_replace($name, $name_enc, $image);
  93.  
  94. if ($date)
  95. {
  96. $date = strftime("%x", $date);
  97. $last_date = _LASTADD . " " . $date;
  98. }
  99. else
  100. {
  101. $last_date = "";
  102. }
  103.  
  104. if ($catid != $last_catid)
  105. {
  106. $counter++;
  107.  
  108. if ($counter == 1)
  109. {
  110. echo "<tr>";
  111. }
  112.  
  113. echo "<td style=\"width: 50%;\" valign=\"top\">\n"
  114. . "<table style=\"background: " . $bgcolor1 . ";border: 1px solid " . $bgcolor3 . ";\" width=\"100%\" cellspacing=\"1\" cellpadding=\"5\" border=\"0\">\n"
  115. . "<tr><td colspan=\"2\"><a href=\"index.php?file=Gallery&op=categorie&cat=" . $catid . "\"><b>" . $parentcat . "</b></a></td></tr>\n"
  116. . "<tr><td style=\"width: 50px;background: " . $bgcolor2 . ";\" align=\"center\" valign=\"middle\">";
  117.  
  118. if ($image != "")
  119. {
  120. echo "<a href=\"index.php?file=Gallery&op=categorie&cat=" . $catid . "\">" . img_size($image, $img_cat, $parentcat, $image_resize) . "</a>";
  121. }
  122. else
  123. {
  124. echo "<a href=\"index.php?file=Gallery&op=categorie&cat=" . $catid . "\">" . img_size($img_none, $img_cat, $parentcat, $image_resize) . "</a>";
  125. }
  126.  
  127. echo "</td><td style=\"height: 100%;background: " . $bgcolor2 . ";\">\n"
  128. . "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
  129.  
  130. if ($parentdesc != "") echo "<tr><td>" . $parentdesc . "</td></tr>\n";
  131.  
  132. echo "<tr><td>" . $nb_imgcat . " " . _SCREENINDB;
  133.  
  134. if ($last_date != "") echo "<br />" . $last_date;
  135.  
  136. echo "</td></tr></table></td></tr></table></td>\n";
  137.  
  138. if ($counter == 2)
  139. {
  140. $counter = 0;
  141. echo "</tr>";
  142. }
  143.  
  144. $last_catid = $catid;
  145. }
  146. }
  147.  
  148. if ($counter == 1) echo "<td style=\"width: 50%;border: 1px solid " . $bgcolor3 . ";\"> </td></tr>\n";
  149.  
  150. echo "</table>\n";
  151. }
  152. }
  153.  
  154.  
  155. function categorie($cat)
  156. {
  157. global $nuked;
  158.  
  159. opentable();
  160.  
  161. if ($nuked['gallery_title'] != "")
  162. {
  163. $title = $nuked['gallery_title'];
  164. }
  165. else
  166. {
  167. $title = _GALLERY;
  168. }
  169.  
  170. $sql = mysql_query("SELECT titre, description, parentid FROM " . GALLERY_CAT_TABLE . " WHERE cid = '" . $cat . "'");
  171. list($cat_titre, $cat_desc, $parentid) = mysql_fetch_array($sql);
  172. $cat_titre = stripslashes($cat_titre);
  173. $cat_desc = stripslashes($cat_desc);
  174.  
  175. $cat_titre = htmlentities($cat_titre);
  176. $cat_desc = htmlentities($cat_desc);
  177.  
  178. $cat_desc = BBcode($cat_desc);
  179. $cat_desc = icon($cat_desc);
  180.  
  181. if ($parentid > 0)
  182. {
  183. $sql_parent = mysql_query("SELECT titre FROM " . GALLERY_CAT_TABLE . " WHERE cid = '" . $parentid . "'");
  184. list($parent_titre) = mysql_fetch_array($sql_parent);
  185. $parent_titre = stripslashes($parent_titre);
  186. $parent_titre = htmlentities($parent_titre);
  187.  
  188. echo "<br /><div style=\"text-align: center;\"><a href=\"index.php?file=Gallery\" style=\"text-decoration:none\"><big><b>" . $title . "</b></big></a> > <a href=\"index.php?file=Gallery&op=categorie&cat=" . $parentid . "\" style=\"text-decoration:none\"><big><b>" . $parent_titre . "</b></big></a> > <big><b>" . $cat_titre . "</b></big></div><br />\n";
  189. }
  190. else
  191. {
  192. echo "<br /><div style=\"text-align: center;\"><a href=\"index.php?file=Gallery\" style=\"text-decoration:none\"><big><b>" . $title . "</b></big></a> > <big><b>" . $cat_titre . "</b></big></div><br />\n";
  193. }
  194.  
  195. if ($cat_desc != "")
  196. {
  197. echo "<div style=\"text-align: center;\">" . $cat_desc . "</div><br />\n";
  198. }
  199.  
  200. cat($cat);
  201. classe($cat);
  202.  
  203. closetable();
  204. }
  205.  
  206. function description($sid)
  207. {
  208. global $nuked, $user, $visiteur, $orderby, $bgcolor1, $bgcolor2, $bgcolor3, $img_width, $image_resize;
  209.  
  210. if ($nuked['gallery_title'] != "")
  211. {
  212. $title = $nuked['gallery_title'];
  213. }
  214. else
  215. {
  216. $title = _GALLERY;
  217. }
  218.  
  219. opentable();
  220.  
  221. $upd = mysql_query("UPDATE " . GALLERY_TABLE . " SET count = count + 1 WHERE sid = '" . $sid . "'");
  222.  
  223. $sql = mysql_query("SELECT cat, titre, description, autor, url, url_file, date, count FROM " . GALLERY_TABLE . " WHERE sid = '" . $sid . "'");
  224. list($cat, $titre, $description, $autor, $url, $url_file, $date, $count) = mysql_fetch_array($sql);
  225. $titre = stripslashes($titre);
  226. $description = stripslashes($description);
  227. $autor = stripslashes($autor);
  228.  
  229. $titre = htmlentities($titre);
  230. $description = htmlentities($description);
  231. $autor = htmlentities($autor);
  232.  
  233. $name = strrchr($url, '/');
  234. $name = substr($name, 1);
  235. $name_enc = rawurlencode($name);
  236. $url = str_replace($name, $name_enc, $url);
  237.  
  238. if (!$name) $name = "N/A";
  239.  
  240. if ($date) $date = strftime("%x %H:%M", $date);
  241. else $date = "N/A";
  242.  
  243. if ($url_file != "")
  244. {
  245. $button = "<br /><div style=\"text-align: center;\"><input type=\"button\" value=\"" . _DOWNFILE . "\" onclick=\"window.open('" . $url_file . "')\" /><div><br />\n";
  246. }
  247. else
  248. {
  249. $button = "<br />\n";
  250. }
  251.  
  252. $sql2 = mysql_query("SELECT titre, parentid FROM " . GALLERY_CAT_TABLE . " WHERE cid = '" . $cat . "'");
  253. list($cat_name, $parentid) = mysql_fetch_array($sql2);
  254. $cat_name = stripslashes($cat_name);
  255. $cat_name = htmlentities($cat_name);
  256.  
  257. if ($cat == 0)
  258. {
  259. $category = _NONE;
  260. }
  261. else if ($parentid > 0)
  262. {
  263. $sql3 = mysql_query("SELECT titre FROM " . GALLERY_CAT_TABLE . " WHERE cid = '" . $parentid . "'");
  264. list($parent_name) = mysql_fetch_array($sql3);
  265. $parent_name = stripslashes($parent_name);
  266. $parent_name = htmlentities($parent_name);
  267.  
  268. $category = "<a href=\"index.php?file=Gallery&op=categorie&cat=" . $parentid . "\">" . $parent_name . "</a> -> <a href=\"index.php?file=Gallery&op=categorie&cat=" . $cat . "\">" . $cat_name . "</a>";
  269. }
  270. else
  271. {
  272. $category = "<a href=\"index.php?file=Gallery&op=categorie&cat=" . $cat . "\">" . $cat_name . "</a>";
  273. }
  274.  
  275.  
  276. if ($orderby == "name")
  277. {
  278. $sql_next = mysql_query("SELECT sid FROM " . GALLERY_TABLE . " WHERE cat = '" . $cat . "' AND titre > '" . $titre . "' ORDER BY titre LIMIT 0, 1");
  279. list($nextid) = mysql_fetch_array($sql_next);
  280.  
  281. $sql_last = mysql_query("SELECT sid FROM " . GALLERY_TABLE . " WHERE cat = '" . $cat . "' AND titre < '" . $titre . "' ORDER BY titre DESC LIMIT 0, 1");
  282. list($lastid) = mysql_fetch_array($sql_last);
  283. }
  284. else if ($orderby == "count")
  285. {
  286. $sql_next = mysql_query("SELECT sid FROM " . GALLERY_TABLE . " WHERE cat = '" . $cat . "' AND count < '" . $count . "' ORDER BY count DESC LIMIT 0, 1");
  287. list($nextid) = mysql_fetch_array($sql_next);
  288.  
  289. $sql_last = mysql_query("SELECT sid FROM " . GALLERY_TABLE . " WHERE cat = '" . $cat . "' AND count > '" . $count . "' ORDER BY count LIMIT 0, 1");
  290. list($lastid) = mysql_fetch_array($sql_last);
  291. }
  292. else if ($orderby == "note")
  293. {
  294. $sql_note = mysql_query("SELECT AVG(vote) FROM " . VOTE_TABLE . " WHERE vid = '" . $sid . "' AND module = 'Gallery'");
  295. list($note) = mysql_fetch_array($sql_note);
  296.  
  297. $sql_next = mysql_query("SELECT L.sid, AVG(V.vote) AS note FROM " . GALLERY_TABLE . " AS L LEFT JOIN " . VOTE_TABLE . " AS V ON L.sid = V.vid AND V.module = 'Gallery' WHERE L.cat = '" . $cat . "' GROUP BY L.sid HAVING note < '" . $note . "' ORDER BY note DESC LIMIT 0, 1");
  298. list($nextid) = mysql_fetch_array($sql_next);
  299.  
  300. $sql_last = mysql_query("SELECT L.sid, AVG(V.vote) AS note FROM " . GALLERY_TABLE . " AS L LEFT JOIN " . VOTE_TABLE . " AS V ON L.sid = V.vid AND V.module = 'Gallery' WHERE L.cat = '" . $cat . "' GROUP BY L.sid HAVING note > '" . $note . "' ORDER BY note LIMIT 0, 1");
  301. list($lastid) = mysql_fetch_array($sql_last);
  302. }
  303. else
  304. {
  305. $orderby = "news";
  306.  
  307. $sql_next = mysql_query("SELECT sid FROM " . GALLERY_TABLE . " WHERE cat = '" . $cat . "' AND sid < '" . $sid . "' ORDER BY sid DESC LIMIT 0, 1");
  308. list($nextid) = mysql_fetch_array($sql_next);
  309.  
  310. $sql_last = mysql_query("SELECT sid FROM " . GALLERY_TABLE . " WHERE cat = '" . $cat . "' AND sid > '" . $sid . "' ORDER BY sid LIMIT 0, 1");
  311. list($lastid) = mysql_fetch_array($sql_last);
  312. }
  313.  
  314.  
  315. if ($nextid != "")
  316. {
  317. $next = "<small><a href=\"index.php?file=Gallery&op=description&sid=" . $nextid . "&orderby=" . $orderby . "\">" . _NEXTIMG . "</a> ></small>";
  318. }
  319.  
  320.  
  321. if ($lastid != "")
  322. {
  323. $prev = "<small>< <a href=\"index.php?file=Gallery&op=description&sid=" . $lastid . "&orderby=" . $orderby . "\">" . _LASTIMG . "</a>  </small>";
  324. }
  325.  
  326. echo "<br />\n";
  327.  
  328. if ($visiteur >= admin_mod("Gallery"))
  329. {
  330. echo"<script type=\"text/javascript\">\n"
  331. ."<!--\n"
  332. ."\n"
  333. . "function delimg(titre, id)\n"
  334. . "{\n"
  335. . "if (confirm('" . _SCREENDELETE . " '+titre+' ! " . _CONFIRM . "'))\n"
  336. . "{document.location.href = 'index.php?file=Gallery&page=admin&op=del_screen&sid='+id;}\n"
  337. . "}\n"
  338. . "\n"
  339. . "// -->\n"
  340. . "</script>\n";
  341.  
  342. echo "<div style=\"text-align: right;\"><a href=\"index.php?file=Gallery&page=admin&op=edit_screen&sid=" . $sid . "\"><img style=\"border: 0;\" src=\"images/edition.gif\" alt=\"\" title=\"" . _EDIT . "\" /></a>"
  343. . " <a href=\"javascript:delimg('" . addslashes($titre) . "', '" . $sid . "');\"><img style=\"border: 0;\" src=\"images/delete.gif\" alt=\"\" title=\"" . _DEL . "\" /></a></div>\n";
  344. }
  345.  
  346. echo "<br /><div style=\"text-align: center;\"><a href=\"index.php?file=Gallery\" style=\"text-decoration:none\"><big><b>" . $title . "</b></big></a></div><br />\n"
  347. . "<table style=\"margin-left: auto;margin-right: auto;text-align: left;\" cellpadding=\"20\" cellspacing=\"0\" border=\"0\">\n"
  348. . "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\">"
  349. . "<a href=\"#\" onclick=\"javascript:window.open('index.php?file=Gallery&nuked_nude=index&op=view_screen&sid=" . $sid . "','Gallery','toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,copyhistory=no,width=800,height=600,top=30,left=0')\">"
  350. . img_size($url, $img_width, _CLICTOSCREEN, $image_resize) . "</a></td></tr></table><br />\n"
  351. . "<table style=\"margin-left: auto;margin-right: auto;text-align: left;\" width=\"90%\" cellpadding=\"3\" cellspacing=\"0\">\n"
  352. . "<tr><td align=\"left\">" . $prev . "</td><td align=\"right\">" . $next . "</td></tr></table>\n"
  353. . "<table style=\"margin-left: auto;margin-right: auto;text-align: left;background: " . $bgcolor2 . ";\" width=\"90%\" cellpadding=\"3\" cellspacing=\"3\" border=\"0\">\n"
  354. . "<tr style=\"background: " . $bgcolor2 . ";\"><td style=\"border: 1px solid " . $bgcolor3 . ";\" align=\"center\"><big><b>" . $titre . "</b></big></td></tr>\n";
  355.  
  356. if ($description != "")
  357. {
  358. $description = BBcode($description);
  359. $description = icon($description);
  360.  
  361. echo "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\">" . $description . "</td></tr>\n"
  362. . "<tr style=\"background: " . $bgcolor2 . ";\"><td> </td></tr>";
  363. }
  364.  
  365. echo "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\"><b>" . _CAT . " :</b> " . $category . "</td></tr>\n";
  366.  
  367. if ($autor != "")
  368. {
  369. echo "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\"><b>" . _AUTHOR . " :</b> " . $autor . "</td></tr>\n";
  370. }
  371.  
  372. echo "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\"><b>" . _ADDTHE . " :</b> " . $date . "</td></tr>\n"
  373. . "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\"><b>" . _FILENAME . " :</b> " . $name . "</td></tr>\n"
  374. . "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\"><b>" . _SEEN . " :</b> " . $count . " " . _TIMES . "</td></tr>\n"
  375. . "<tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\">";
  376.  
  377. include ("modules/Comment/index.php");
  378. com_index("Gallery", $sid);
  379.  
  380. echo "</td></tr><tr style=\"background: " . $bgcolor1 . ";\"><td style=\"border: 1px dashed " . $bgcolor3 . ";\">";
  381.  
  382. include ("modules/Vote/index.php");
  383. vote_index("Gallery", $sid);
  384.  
  385. echo "</td></tr></table>" . $button;
  386.  
  387. closetable();
  388. }
  389.  
  390. function index()
  391. {
  392. global $nuked, $bgcolor1, $bgcolor2, $bgcolor3, $nb_subcat, $orderby, $p;
  393.  
  394. if ($nuked['gallery_title'] != "")
  395. {
  396. $title = $nuked['gallery_title'];
  397. }
  398. else
  399. {
  400. $title = _GALLERY;
  401. }
  402.  
  403. opentable();
  404.  
  405. echo "<br /><div style=\"text-align: center;\"><big><b>" . $title . "</b></big></div>\n"
  406. . "<div style=\"text-align: center;\"><br />\n"
  407. . "[ " . _INDEXGALLERY . " | "
  408. . "<a href=\"index.php?file=Gallery&op=classe&orderby=news\" style=\"text-decoration: underline\">" . _NEWSIMG . "</a> | "
  409. . "<a href=\"index.php?file=Gallery&op=classe&orderby=count\" style=\"text-decoration: underline\">" . _TOPIMG . "</a> | "
  410. . "<a href=\"index.php?file=Suggest&module=Gallery\" style=\"text-decoration: underline\">" . _SUGGESTIMG . "</a> ]</div><br />\n";
  411.  
  412. $sql_nbimages = mysql_query("SELECT sid FROM " . GALLERY_TABLE . "");
  413. $nb_images = mysql_num_rows($sql_nbimages);
  414.  
  415. $sql_nbcat = mysql_query("SELECT cid FROM " . GALLERY_CAT_TABLE . "");
  416. $nb_cat = mysql_num_rows($sql_nbcat);
  417.  
  418. if ($nb_cat > 0)
  419. {
  420. echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td>";
  421.  
  422. $sql_cat = mysql_query("SELECT cid, titre, description FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '0' ORDER BY position, titre");
  423. while (list($cid, $titre, $description) = mysql_fetch_array($sql_cat))
  424. {
  425. $titre = stripslashes($titre);
  426. $description = stripslashes($description);
  427.  
  428. $titre = htmlentities($titre);
  429. $description = htmlentities($description);
  430.  
  431. $description = BBcode($description);
  432. $description = icon($description);
  433.  
  434. $sql_img = mysql_query("SELECT sid, date FROM " . GALLERY_TABLE . " WHERE cat = '" . $cid . "' ORDER BY sid DESC LIMIT 0, 1");
  435. $nb_imgcat = mysql_num_rows($sql_img);
  436. list($sid, $date) = mysql_fetch_row($sql_img);
  437.  
  438. $sql_img_tt = mysql_query("SELECT sid FROM " . GALLERY_TABLE . ", " . GALLERY_CAT_TABLE . " WHERE cat = cid AND (parentid = '" . $cid . "' OR cid = '" . $cid . "')");
  439. $nb_imgcat_tt = mysql_num_rows($sql_img_tt);
  440.  
  441. $sql_nbcat = mysql_query("SELECT cid FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '" . $cid . "'");
  442. $nb_nbcat = mysql_num_rows($sql_nbcat);
  443.  
  444. if ($date != "")
  445. {
  446. $date = strftime("%x", $date);
  447. $last_date = "" . _LASTADD . " $date";
  448. }
  449. else
  450. {
  451. $last_date = "";
  452. }
  453.  
  454. echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"border: 1px solid " . $bgcolor3 . ";\"><tr><td>\n"
  455. . "<table style=\"background: " . $bgcolor2 . ";\" width=\"100%\" cellspacing=\"1\" cellpadding=\"5\" border=\"0\">\n"
  456. . "<tr><td style=\"width: 80%;background: " . $bgcolor1 . ";\"><a href=\"index.php?file=Gallery&op=categorie&cat=" . $cid . "\"><big><b>" . $titre . "</b></big></a></td>\n"
  457. . "<td style=\"width: 10%;background: " . $bgcolor1 . ";\">" . $nb_imgcat_tt . " " . _SCREENINDB . "</td>\n";
  458.  
  459. if ($nb_nbcat)
  460. {
  461. echo "<td style=\"width: 10%;background: " . $bgcolor1 . ";\">" . $nb_nbcat . " " . _NBCAT . "</td>";
  462. }
  463.  
  464. echo "</tr></table></td></tr><tr><td>";
  465.  
  466. if ($nb_nbcat == 0)
  467. {
  468. echo "<table width=\"100%\"><tr><td> </td></tr><tr><td align=\"center\">" . $description . "</td></tr><tr><td> </td></tr></table>\n";
  469. }
  470. else
  471. {
  472. cat($cid);
  473. }
  474.  
  475. echo "</td></tr></table><br />\n";
  476. }
  477.  
  478. echo "</td></tr></table>\n";
  479. }
  480. else
  481. {
  482. echo "<br />";
  483. }
  484.  
  485. classe("0");
  486.  
  487. if ($nb_cat > 0 || $nb_images > 0) echo "<br /><div style=\"text-align: center;\"><small>( <i>" . _THEREIS . " " . $nb_images . " " . _SCREENINDB . " & " . $nb_cat . " " . _NBCAT . " " . _INDATABASE . "</i> )</small></div><br /><br />\n";
  488. else echo "<div style=\"text-align: center;\">" . _NOSCREENINDB . "</div><br /><br />\n";
  489.  
  490. closetable();
  491. }
  492.  
  493. function classe($cat)
  494. {
  495. global $nuked, $p, $bgcolor1, $bgcolor2, $bgcolor3, $op, $orderby, $img_screen1, $img_screen2, $img_screen3, $image_resize;
  496.  
  497. $nb_img_guest = $nuked['max_img'];
  498. $nb_img_line = $nuked['max_img_line'];
  499.  
  500. if ($cat > 0)
  501. {
  502. $sql = mysql_query("SELECT cid FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '" . $cat . "'");
  503. $nb_subcat = mysql_num_rows($sql);
  504. }
  505. else
  506. {
  507. $nb_subcat = 0;
  508. }
  509.  
  510. if ($op == "classe")
  511. {
  512.  
  513. if ($nuked['gallery_title'] != "")
  514. {
  515. $title = $nuked['gallery_title'];
  516. }
  517. else
  518. {
  519. $title = _GALLERY;
  520. }
  521.  
  522. echo "<br /><div style=\"text-align: center;\"><big><b>" . $title . "</b></big></div>\n"
  523. . "<div style=\"text-align: center;\"><br />\n"
  524. . "[ <a href=\"index.php?file=Gallery\" style=\"text-decoration: underline\">" . _INDEXGALLERY . "</a> | ";
  525.  
  526. if ($orderby == "news")
  527. {
  528. echo _NEWSIMG . " | ";
  529. }
  530. else
  531. {
  532. echo "<a href=\"index.php?file=Gallery&op=classe&orderby=news\" style=\"text-decoration: underline\">" . _NEWSIMG . "</a> | ";
  533. }
  534.  
  535. if ($orderby == "count")
  536. {
  537. echo _TOPIMG . " | ";
  538. }
  539. else
  540. {
  541. echo "<a href=\"index.php?file=Gallery&op=classe&orderby=count\" style=\"text-decoration: underline\">" . _TOPIMG . "</a> | ";
  542. }
  543.  
  544. echo "<a href=\"index.php?file=Suggest&module=Gallery\" style=\"text-decoration: underline\">" . _SUGGESTIMG . "</a> ]</div><br />\n";
  545. }
  546.  
  547. if ($cat != "") $where = "WHERE L.cat = '" . $cat . "'";
  548. else $where = "";
  549.  
  550.  
  551. if ($orderby == "name")
  552. {
  553. $order = "ORDER BY L.titre";
  554. }
  555.  
  556. else if ($orderby == "count")
  557. {
  558. $order = "ORDER BY L.count DESC";
  559. }
  560.  
  561. else if ($orderby == "note")
  562. {
  563. $order = "ORDER BY note DESC";
  564. }
  565.  
  566. else
  567. {
  568. $orderby = "news";
  569. $order = "ORDER BY L.sid DESC";
  570. }
  571.  
  572. $sql = mysql_query("SELECT L.sid, L.titre, L.url, L.url2, L.date, AVG(V.vote) AS note FROM " . GALLERY_TABLE . " AS L LEFT JOIN " . VOTE_TABLE . " AS V ON L.sid = V.vid AND V.module = 'Gallery' " . $where . " GROUP BY L.sid " . $order);
  573. $count = mysql_num_rows($sql);
  574.  
  575. if ($count > 1 && $cat != "")
  576. {
  577. echo "<table style=\"margin-left: auto;margin-right: auto;text-align: left;\" width=\"90%\">\n"
  578. . "<tr><td align=\"right\"><small>" . _ORDERBY . " : ";
  579.  
  580. if ($orderby == "news")
  581. {
  582. echo "<b>" . _DATE . "</b> | ";
  583. }
  584. else
  585. {
  586. echo "<a href=\"index.php?file=Gallery&op=" . $op . "&orderby=news&cat=" . $cat . "\">" . _DATE . "</a> | ";
  587. }
  588.  
  589. if ($orderby == "name")
  590. {
  591. echo "<b>" . _NAME . "</b> | ";
  592. }
  593.  
  594. else
  595. {
  596. echo "<a href=\"index.php?file=Gallery&op=" . $op . "&orderby=name&cat=" . $cat . "\">" . _NAME . "</a> | ";
  597. }
  598.  
  599. if ($orderby == "count")
  600. {
  601. echo "<b>" . _TOPFILE . "</b> | ";
  602. }
  603. else
  604. {
  605. echo "<a href=\"index.php?file=Gallery&op=" . $op . "&orderby=count&cat=" . $cat . "\">" . _TOPFILE . "</a> | ";
  606. }
  607.  
  608. if ($orderby == "note")
  609. {
  610. echo "<b>" . _NOTE . "</b> ";
  611. }
  612. else
  613. {
  614. echo "<a href=\"index.php?file=Gallery&op=" . $op . "&orderby=note&cat=" . $cat . "\">" . _NOTE . "</a> ";
  615. }
  616.  
  617. echo "</small></td></tr></table>\n";
  618. }
  619.  
  620.  
  621. if ($count > 0)
  622. {
  623. if (!$p) $p = 1;
  624. $start = $p * $nb_img_guest - $nb_img_guest;
  625.  
  626. echo "<table style=\"margin-left: auto;margin-right: auto;text-align: left;\" width=\"90%\" cellspacing=\"5\" cellpadding=\"10\" border=\"0\">\n"
  627. . "<tr><td style=\"background: " . $bgcolor1 . ";border: 1px solid " . $bgcolor3 . ";\" colspan=\"" . $nb_img_line . "\">";
  628.  
  629. if ($count > $nb_img_guest)
  630. {
  631. $url_page = "index.php?file=Gallery&op=" . $op . "&cat=" . $cat . "&orderby=" . $orderby;
  632. number($count, $nb_img_guest, $url_page);
  633. }
  634. else
  635. {
  636. echo " ";
  637. }
  638.  
  639. echo "</td></tr>\n";
  640.  
  641. $l = 0;
  642. $pourcent = 100 / $nb_img_line;
  643. $seek = mysql_data_seek($sql, $start);
  644. for($i = 0;$i < $nb_img_guest;$i++)
  645. {
  646. if (list($sid, $titre, $url, $url2, $date) = mysql_fetch_row($sql))
  647. {
  648.  
  649. if ($url2 != "" && $url2 != "http://")
  650. {
  651. $img = $url2;
  652. }
  653. else
  654. {
  655. $img = $url;
  656. }
  657.  
  658. if ($nb_img_line > 4)
  659. {
  660. $img_w = $img_screen3;
  661. }
  662. else if ($nb_img_line > 3)
  663. {
  664. $img_w = $img_screen2;
  665. }
  666. else
  667. {
  668. $img_w = $img_screen1;
  669. }
  670.  
  671. $name = strrchr($img, '/');
  672. $name = substr($name, 1);
  673. $name_enc = rawurlencode($name);
  674. $img = str_replace($name, $name_enc, $img);
  675.  
  676. $titre = stripslashes($titre);
  677. $titre = htmlentities($titre);
  678.  
  679. if ($date != "") $alt = _ADDTHE . " " . strftime("%x %H:%M", $date);
  680. else $alt = $titre;
  681.  
  682. if ($sid != $last_sid)
  683. {
  684. $l++;
  685. if ($l == 1)
  686. {
  687. echo "<tr>";
  688. }
  689.  
  690. echo "<td style=\"width: " . $pourcent . "%;background: " . $bgcolor1 . ";border: 1px solid $bgcolor3;\" align=\"center\">"
  691. . "<a href=\"index.php?file=Gallery&op=description&sid=" . $sid . "&orderby=" . $orderby . "\">" . img_size($img, $img_w, $alt, $image_resize) . "</a><br />\n"
  692. . "<a href=\"index.php?file=Gallery&op=description&sid=" . $sid . "&orderby=" . $orderby . "\"><b>" . $titre . "</b></a></td>\n";
  693.  
  694. if ($l == $nb_img_line)
  695. {
  696. $l = 0;
  697. echo "</tr>";
  698. }
  699.  
  700. $last_sid = $sid;
  701. }
  702. }
  703. }
  704.  
  705. if ($l > 0)
  706. {
  707. for ($j = $l;$j < $nb_img_line;$j++)
  708. {
  709. echo "<td style=\"width: " . $pourcent . "%;background: " . $bgcolor1 . ";border: 1px solid $bgcolor3;\"> </td>\n";
  710. }
  711.  
  712. echo "</tr>\n";
  713. }
  714.  
  715. if ($nb_subcat == 0 && $count == 0) echo "<tr><td align=\"center\" colspan=\"$nb_img_line\">" . _NOSCREEN . "</td></tr>\n";
  716.  
  717. echo "<tr><td style=\"background: " . $bgcolor1 . ";border: 1px solid $bgcolor3;\" colspan=\"$nb_img_line\">";
  718.  
  719. if ($count > $nb_img_guest)
  720. {
  721. $url_page = "index.php?file=Gallery&op=" . $op . "&cat=" . $cat . "&orderby=" . $orderby;
  722. number($count, $nb_img_guest, $url_page);
  723. }
  724. else
  725. {
  726. echo " ";
  727. }
  728.  
  729. echo "</td></tr></table><br />\n";
  730.  
  731. }
  732. else
  733. {
  734. if ($nb_subcat == 0 && $cat > 0) echo "<div style=\"text-align: center;\"><br />" . _NOSCREEN . "</div><br /><br />\n";
  735. if ($op == "classe") echo "<div style=\"text-align: center;\"><br />" . _NOSCREENINDB . "</div><br /><br />\n";
  736. }
  737.  
  738. }
  739.  
  740.  
  741. function img_size($image, $largeur, $title, $image_resize)
  742. {
  743. if ($image_resize == "off") $test = 0;
  744. else if (eregi("http://", $image) && $image_resize == "local") $test = 0;
  745. else $test = 1;
  746.  
  747. if (!eregi("%20", $image) && $test == 1) list($w, $h, $t, $a) = @getimagesize($image);
  748. if ($w != "" && $w <= $largeur) $width = "width=\"" . $w . "\" ";
  749. else $width = "width=\"" . $largeur . "\" ";
  750. $image_resize = "<img style=\"border: 1px solid #000000;\" src=\"" . $image . "\" " . $width . "alt=\"\" title=\"" . $title . "\" />";
  751. return($image_resize);
  752. }
  753.  
  754. switch ($op)
  755. {
  756. case "view_screen":
  757. view_screen($sid);
  758. break;
  759.  
  760. case "description":
  761. description($sid);
  762. break;
  763.  
  764. case "categorie":
  765. categorie($cat);
  766. break;
  767.  
  768. case "classe":
  769. opentable();
  770. classe($cat);
  771. closetable();
  772. break;
  773.  
  774. default:
  775. index();
  776. break;
  777. }
  778.  
  779. }
  780. else if ($level_access == -1)
  781. {
  782. opentable();
  783. echo "<br /><br /><div style=\"text-align: center;\">" . _MODULEOFF . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a><br /><br /></div>";
  784. closetable();
  785. }
  786. else if ($level_access == 1 && $visiteur == 0)
  787. {
  788. opentable();
  789. echo "<br /><br /><div style=\"text-align: center;\">" . _USERENTRANCE . "<br /><br /><b><a href=\"index.php?file=User&op=login_screen\">" . _LOGINUSER . "</a> | <a href=\"index.php?file=User&op=reg_screen\">" . _REGISTERUSER . "</a></b><br /><br /></div>";
  790. closetable();
  791. }
  792. else
  793. {
  794. opentable();
  795. echo "<br /><br /><div style=\"text-align: center;\">" . _NOENTRANCE . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a><br /><br /></div>";
  796. closetable();
  797. }
  798.  
  799. ?>

sans voir en detail, je vois qu'il y a pas mal de requete, dont certaine qui peuvent etre evitée ou fusionnée avec d'autres
exemple:
  1. $sql = mysql_query("SELECT cid, titre, description FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '" . $cat . "'" );
  2. $nb_subcat = mysql_num_rows($sql);
  3.  
  4. if ($nb_subcat > 0)
  5. {
  6. echo "<table width=\"100%\" cellspacing=\"5\" cellpadding=\"0\" border=\"0\">\n";
  7.  
  8. $sql = mysql_query("SELECT cid, titre, description FROM " . GALLERY_CAT_TABLE . " WHERE parentid = '" . $cat . "' ORDER BY position, titre" );


pareil pour la requete ou tu recuperes le titre de la catégories parente

slt voila je ne pas tout compris*
mais si les images sont chez shack ou sur ton ftp ça ne change rien a la base sql si y il un probleme sur la base meme un point d plus ça ne marche pas la page php ="demande" a mysql"fichier txt "= adresse ex "http://www.images.fr" donc tout ça pour dire que la taille de l'image n'as rien a voir avec la lonteur de l'apercu si l'image aparait c bon t'as base a bien acheminé les info into blabla bla...enfin je vais suivre le message car je ne comprend pas le probleme a plus

et moi j'ai donne point de trop comme ex
c sur que si tu fait une page avec 15img avec les dim=200 par 200 t'as page vas plus vite que une page de 60img avec de dim =200 par 200
c normal
que vien faire la base sql puis on parle de la base d donner mysql ça sert a quoi ton code php c le code de la table que faut poster fichier txt ex:
table_imgallstar27
into vachar blabla blabla....etc
enfin voila

lol
ok
cool je cherche a comprendre c tout mais si vous parler de la base mysql je me dit que le code txt de la base c mieux pour comprendre car le topic parle de sql mais si tu veux donne le code php oule code css que vas avec le php pas de probleme c ton topic man :hello:  desole si je :fou: 
enfin bonne continuation

"mon problème c'est qu'a l'ouverture d'une rubrique de la gallerie c'est assez lent il faut +ou- 5 secondes pour que sa s'ouvre"
ex:
seveur web demande l'image ou serveur mysql>le serveur mysql demande a serveur shack c rapide c que du txt ou verification mais le retour c pas la meme car c tes images que le serveur envoi donc plus long

"alors que la pages téléchargement ne prend qu'une fraction de seconde"

c normal car t'envoi l'image chez le serveur shack image par image et a ton servuer sql un simple txt donc super rapide voila
si ça peux t'aider pas de petite colere entre nous cher ami a+
Expert Programmation

En fait, ce qui ralentit tout, c'est que ton php va chercher les tailles des images (donc fait une série de requètes sur les images).
Effectivement, les héberger toi-même accélèrerait le processus, l'autre option étant de modifier ta table et d'ajouter les infos sur les images pour que le script n'ait pas à aller les chercher à chaque fois.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde