PDA

Показать полную графическую версию : [решено] Скрипт справочника


Artem-Samsung
19-06-2008, 16:01
<?php
include('config.php');
$english = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "G", "K", "L",
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
$i=0;
do {
$myrow = mysql_query("
SELECT `id`, `title`, `cont` FROM `de_spravochnik1` WHERE title LIKE '".$english[$i]."%' ORDER BY `title`
");
$result = mysql_fetch_array($myrow);
$count = mysql_num_rows($myrow);
if ($count != 0) {
do
{
echo $english[$i].":<br />";
echo $result['title']."<br />";
} while($result = mysql_fetch_array($myrow));
$i++;}
} while ($i<26);
?>


Написал скрипт, по идее которого, должен получиться зачаточная версия справочника.
Данные в который вбивать при помощи Базы Данных.
В таблице сейчас два поля:
aaaa - на английском
и
фффф - на русском.

Выводит:

A:
aaaa

Fatal error: Maximum execution of 30 seconds exceeded in spravochnik.php on line 11

После чего весь сайт вооще лагать начинает.
В чем проблем? Подскажите пожалуйста

bruder
19-06-2008, 16:53
проблема в бесконечном цикле. Для цикла нужна $i , а она увеличивается в IF-е, так делать нельзя. Я тестировать не могу, но попробуй так

include('config.php');
$english = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "G", "K", "L",
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
$i=0;
foreach($english as $letter){
$myrow = mysql_query("
SELECT `id`, `title`, `cont` FROM `de_spravochnik1` WHERE title LIKE '".$letter."%' ORDER BY `title`
");
$result = mysql_fetch_array($myrow);
$count = mysql_num_rows($myrow);
if ($count != 0) {
do
{
echo $letter.":<br />";
echo $result['title']."<br />";
} while($result = mysql_fetch_array($myrow));
}
}

Artem-Samsung
19-06-2008, 17:14
Большое спасибо ))) Понял ошибку.




© OSzone.net 2001-2012