Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Скрипт справочника (http://forum.oszone.net/showthread.php?t=109539)

Artem-Samsung 19-06-2008 16:01 830161

Скрипт справочника
 
PHP код:

<?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 830241

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

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;
    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 830263

Большое спасибо ))) Понял ошибку.


Время: 14:17.

Время: 14:17.
© OSzone.net 2001-