Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка при выводе большого массива данных 
:(
    Опции темы
Владимир777
Дата 29.3.2006, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



работаю на локальном mysql сервере
есть простой скрипт
Код

<?
  include "../dbconf.inc.php";
 include "../config.php";

#include "header.htm";

/*
 $request = 'UPDATE delf_company
             SET click=click+1
             WHERE id='.$id;
 $result  = mysql_query($request);
*/

$id =  $_GET['id']; # добавлено SKV

 $request = 'SELECT title
             FROM delf_price
             WHERE id='.$id;

 $result  = mysql_query($request);
 $row     = mysql_fetch_array($result);

 echo '<div class="sx8" style="margin-bottom:10px;">Прайс-лист "'.$row[title].'"</div>';

 #$orderby = "title";
 $request = 'SELECT *
             FROM delf_price
             WHERE parent='.$id;

 $result  = mysql_query($request);
?>

<table width="100%" border="0" cellpadding="5" cellspacing="0" class="sx1"><tr>
 <td class="td1">Наименование</td>
 <td class="td1">Дополнительно</td>
 <td class="td1">Фасовка</td>
 <td class="td1">Производ.</td>
 <td class="td1">Ед.изм.</td>
 <td class="td1">Опт</td>
 <td class="td1">Розница</td>
</tr>

<?
 while ($row = mysql_fetch_array($result))
 {
  echo '<tr style="">
         <td class="td1">'.$row[title].'&nbsp;</td>
         <td class="td1">'.$row[cdata].'&nbsp;</td>
         <td class="td1">'.$row[packaging].'&nbsp;</td>
         <td class="td1">'.$row[producer].'&nbsp;</td>
         <td class="td1">'.$row[type].'&nbsp;</td>
         <td class="td1">'.$row[price_opt].'&nbsp;</td>
         <td class="td1">'.$row[price_roz].'&nbsp;</td>
        </tr>';
 }           
 echo '</table>';

 
?>


проблема если выборка больше 400 строк explorer пишет невозможно отобразить страницу
может надо исправить настройки в apache?
PM MAIL   Вверх
Darhazer
Дата 29.3.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: 7
Всего: 29



Надо max_execution_time сделать по больше


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
Владимир777
Дата 29.3.2006, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



в httpdconf не нашел, где поискать
Добавлено @ 11:17
max_execution_time = 30
а скрипт вылетает секунд через 5
PM MAIL   Вверх
smartov
Дата 29.3.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Владимир777,
set_time_limit(XXX);

XXX - кол-во секунд
PM MAIL   Вверх
Владимир777
Дата 29.3.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



где эту строчку посмотреть или добавить?
PM MAIL   Вверх
Guedda
Дата 29.3.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Там же.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Владимир777
Дата 29.3.2006, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



в php.ini

max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 16M ; Maximum amount of memory a script may consume (8MB)
set_time_limit = 30
mssql.timeout = 30


вылетает все равно

в броузере строки начинают появляться по 10-20, потом пропадают такое дерганье происходит раз 5-7 и невозможно отобразить страницу
PM MAIL   Вверх
smartov
Дата 29.3.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Владимир777,
Блин. Да в код ее вставлять.
Функция это!
Код

<?php

set_time_limit(500);

//----- а дальше твой код ------//

function THIS_IS_KUCHA_TVOEGO_KODA($RTFM)
{
  while (true)
  {
     echo "I will read ".$RTFM." before asking questions";
  }
}

THIS_IS_KUCHA_TVOEGO_KODA('PHP MANUAL');

?>

PM MAIL   Вверх
Владимир777
Дата 29.3.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



вставлял не помогло
поменял код
Код

$request = 'SELECT title, cdata,packaging,producer,type,price_opt,price_roz
             FROM delf_price
             WHERE parent='.$id;

 $result  = mysql_query($request)or
                    die("There was a MySQL error".mysql_error());
    $nrows  = mysql_num_rows($result);
    if ($nrows>0) {
                    
 #while ($row = mysql_fetch_array($result))
 while(list($title,$cdata,$packaging,$producer,$type,$price_opt,$price_roz) = mysql_fetch_row($result)) 
 {
 
 echo ("</td><td>$title  </td><td>$cdata  </td><td>$packaging  </td><td>$producer  </td><td>$type  </td><td>$price_opt  </td><td>$price_roz</td></tr>");
 
 }           
 echo "</table>\n";
   } else 
        echo "<center><font color='Red'>Нет информации</font></center><br><br>";




и все заработало почему хочется же разобраться? блин а у меня все выборки берутся из массива , что
все переделывать???
PM MAIL   Вверх
smartov
Дата 29.3.2006, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Так ты покажи что было до
что после
что поменял
PM MAIL   Вверх
Владимир777
Дата 29.3.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



было

Код

$request = 'SELECT *
             FROM delf_price
             WHERE parent='.$id;

 $result  = mysql_query($request);

 while ($row = mysql_fetch_array($result))
 {
  echo '<tr style="">
         <td class="td1">'.$row[title].'&nbsp;</td>
         <td class="td1">'.$row[cdata].'&nbsp;</td>
         <td class="td1">'.$row[packaging].'&nbsp;</td>
         <td class="td1">'.$row[producer].'&nbsp;</td>
         <td class="td1">'.$row[type].'&nbsp;</td>
         <td class="td1">'.$row[price_opt].'&nbsp;</td>
         <td class="td1">'.$row[price_roz].'&nbsp;</td>
        </tr>';
 }           
 echo '</table>';


теперь до 700 строки работает а потом затыкается (((
PM MAIL   Вверх
Владимир777
Дата 11.4.2006, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



упростил вопрос
скрипт
Код

$bufOut = ""; 
    while ($row = mysql_fetch_array($result)) 
 { 
   $bufOut .= $row['title'].' '.$row['cdata'].' '.$row['packaging'].' '.$row['producer'].' '.$row['type'].' '.$row['price_opt'].' '.$row['price_roz'].' '; 
 } 
  echo $bufOut;



выводит более 1000 строк, но мне нужен вывод в табличном виде и с чекбоксами
Я в этом же скрипте добавляю:

Код

?> 
<form action="/search/psearch.php" method="POST"> 
<table width="100%" style="margin-left: 2px" margin-right: 2px; margin-bottom: 2px border="1" cellpadding="3" cellspacing="0" class="sx6_big"><tr style="font-weight: bold;"> 
<td width="30%" >Наименование</td> 
<td width="10%">Дополнительно</td> 
<td >Фасовка</td> 
<td >Производ.</td> 
<td >Ед.изм.</td> 
<td >Опт.цена</td> 
<td >Роз.цена</td> 
<td width="15%" >Фирма</td> 
<td width="10%" >Телефон</td> 
<td>Выбор</td></tr> 

<? 

$bufOut = ""; 
while ($row = mysql_fetch_array($result)) 
{ 
$bufOut .= '<td>'.$row['ptitle'].'&nbsp;</td> 
        <td>'.$row['cdata'].'&nbsp;</td> 
        <td>'.$row['packaging'].'&nbsp;</td> 
        <td>'.$row['producer'].'&nbsp;</td> 
<td>'.$row['type'].'&nbsp;</td>  
<td>'.$row['price_opt'].'&nbsp;</td> 
        <td>'.$row['price_roz'].'&nbsp;</td> 
<td><a href="/company/?id='.$row['id'].'" target="_blank" class="sx5">'.$row['ctitle'].'</a></td><td>'.$row['phone'].'</td> 
    <td><input type="checkbox" name="nameId[]" value='.$row['id_price'].' checked> 
        </td></tr>'; 
} 
echo $bufOut; 

echo "</table>\n"; 
?><br><p align="right"><input type=submit name=submit value="Выбрать"></p> 

</form><?  


Выводится только около 200 строк и IE затыкается на все время на разных местах выводимых строк,
может быть дело тэгах таблицы?
PM MAIL   Вверх
smartov
Дата 11.4.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Скрипт в сети?
Линка есть?
PM MAIL   Вверх
Владимир777
Дата 12.4.2006, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 10.3.2006

Репутация: нет
Всего: нет



скрипт на локальном сервере, самый простой вид

Код

<? 
 include "../dbconf.inc.php"; 
 include "../config.php"; 

 ?> 
<head> 
        <title>111</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
          </head> 
<? 

 $request = 'SELECT title, cdata,packaging,producer,type,price_opt,price_roz 
             FROM delf_price'; 

 $result  = mysql_query($request)or 
                    die("There was a MySQL error".mysql_error()); 
    $nrows  = mysql_num_rows($result); 
     
     

    if ($nrows>0) { 
    ?> 
<table width="100%" style="margin-left: 2px" margin-right: 2px; margin-bottom: 2px border="1" cellpadding="3" cellspacing="0" class="sx6_big"><tr style="font-weight: bold;">  
<td width="30%" >Наименование</td>  
<td width="10%">Дополнительно</td>  
<td >Фасовка</td>  
<td >Производ.</td>  
<td >Ед.изм.</td>  
<td >Опт.цена</td>  
<td >Роз.цена</td></tr>  
         
    <?                 
$bufOut = ""; 
#while (($row = mysql_fetch_array($result))) 
# { 
#  $bufOut .= $row['title'].' '.$row['cdata'].' '.$row['packaging'].' '.$row['producer'].' '.$row['type'].' '.$row['price_opt'].' '.$row['price_roz']."\n"; 
# } 
#echo $bufOut; 

while ($row = mysql_fetch_array($result)) 
 { 
  $bufOut .=   '<td>'.$row['title'].'&nbsp;</td> 
         <td>'.$row['cdata'].'&nbsp;</td> 
         <td>'.$row['packaging'].'&nbsp;</td> 
         <td>'.$row['producer'].'&nbsp;</td> 
         <td>'.$row['type'].'&nbsp;</td>   
         <td>'.$row['price_opt'].'&nbsp;</td> 
         <td>'.$row['price_roz'].'&nbsp;</td></tr>'; 
 } 
  
 echo $bufOut; 
  
echo '/table>'; 
  
   } else  
        echo "<center><font color='Red'>Нет информации</font></center><br><br>";  
     
?> 



неработает, пытается вывести строчки, опять экран пустой , опять пытается вывести, дергается секунд 10 потом затыкается на какой нибудь строчке посередине, внешний вид в прикрепленном файле
чуть изменить скрипт


Код

<? 
 include "../dbconf.inc.php"; 
 include "../config.php"; 
  
 ?> 
<head> 
        <title>111</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
          </head> 
<? 

 $request = 'SELECT title, cdata,packaging,producer,type,price_opt,price_roz 
             FROM delf_price'; 

 $result  = mysql_query($request)or 
                    die("There was a MySQL error".mysql_error()); 
    $nrows  = mysql_num_rows($result); 
     
    if ($nrows>0) { 
     
$bufOut = ""; 
while (($row = mysql_fetch_array($result))) 
 { 
  $bufOut .= $row['title'].' '.$row['cdata'].' '.$row['packaging'].' '.$row['producer'].' '.$row['type'].' '.$row['price_opt'].' '.$row['price_roz']."\n"; 
 } 
echo $bufOut; 
  
   } else  
        echo "<center><font color='Red'>Нет информации</font></center><br><br>";  
     
?> 


убрал табличный вид работает за доли секунды, как это объяснить?

наверно у меня дело в настройках php.ini
или httpd.conf
или в компонентах
php-5.0.4-Win32
apache_2.0.54-win32-x86-no_ssl.msi
mysql-5.0.9-beta-win32.zip

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  oshibka.rar 10,36 Kb
PM MAIL   Вверх
smartov
Дата 12.4.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Владимир777, уй товарищ.
Во первых у тебя в коде куча ошибок. И html код получится невалидный.

1) Например там где у тебя должны начинаться строки таблицы ты сразу начинаешь с td
А как же tr открыть?
Код
while ($row = mysql_fetch_array($result)) 
 { 
  $bufOut .=   '<td>'.$row['title'].'&nbsp;</td> 


2) Это новый тег такой?
Код
echo '/table>'; 


3) Стыдно. Тебе даже vingrad ошибки подсветил....
Код
<table width="100%" style="margin-left: 2px" margin-right: 2px; margin-bottom: 2px border="1"

Вся эта пофигень должна быть в теге style!
Код
<table width="100%" style="margin-left: 2px;margin-right: 2px; margin-bottom: 2px" border="1"


4) Зачем все складировать в одну переменку? (bufOut) Ну все равно же никак дальше не обрабатываешь. Выплевывай сразу все в output. (т.е. от bufOut можно избавиться)

ну и 5) таблицы это конечно круто и удобно. Но таблицы ВСЕГДА тормозят при больших объемах данных. Особенно если все это - одна огромная таблица. Делай или div-aми вообще или по крайней мере каждый ряд (или каждые 10-20 рядов) должны быть отдельной таблицей. Firefox огромные таблицы вообще плохо переваривает...
Добавлено @ 10:44
Посмотрел приложенный файл ошибка
Ты б хоть сам сначала просмотрел. Там же невалидный html как я и говорил. Куча ошибок
А сам документ весь полностью и целиком на месте.
Догрузился он ВЕСЬ. Так что PHP ни в чем не виноват.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.