|
|
|
| Приветствую... у меня к вам оч важный и срочный вопрос... один из скриптов... скорее всего этот делает огромную нагрузку на сервер... просьба посмотреть и указать на недочёты и на неправильности....
<?
$id = $_GET['id'];
require("config.php");
mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($name) or die(mysql_error());
$query="SELECT title, id_cat FROM category WHERE id=$id";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$title = $row['title'];
$id_cat = $row['id_cat'];
}
$url[] = $id;
while ($id_cat != 1) {
$query="SELECT id_cat, id FROM category WHERE id=$id_cat";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$id_cat = $row['id_cat'];
$id = $row['id'];
$url[] = $id;}
}
krsort($url);
foreach($url as $index => $val)
{
$query="SELECT title FROM cid WHERE id=$val";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$title = $row['title'];
echo " > ";
echo "<a href=\"file.php?id=$val\"><span lang=\"ru\">$title</span></a>";}
}
mysql_close();
?>
|
скорее всего всё всегда из за циклов... или нада каждый раз прописывать коннект при поиске в таблице и каждый раз его закрывать.... вобще оч надо чтобы кто нибудь указал ошибки чтобы в дальнейшем их никогда не повторил.... заранее огромное спасибо | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 17:42)
| | Наверное даже стоит немного изменить мой вопрос... стоит ли при каждом $query делать mysql_connect и mysql_close??? может это значительно уменьшит нагрузку на сервер... | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 18:43)
| | было бы неплохо знать что делает этот скрипт :)
хотя бы вот эта часть: (лучше конечно укажите, что вы хотите получить работой всего скрипта... )
while ($id_cat != 1) {
$query="SELECT id_cat, id FROM category WHERE id=$id_cat";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$id_cat = $row['id_cat'];
$id = $row['id'];
$url[] = $id;}
а каждый раз подключаться к базе, наверное, не стоит... это скорее всего замедлит работу, чем ускорит... хотя заметить этого вы наверно не успеете :) | |
|
|
|
|
|
|
|
для: kasmanaft
(08.03.2006 в 18:58)
| | ну наконец то есть ответ =) а то мне оч оч оч оч нада как можно скорее подправить ошибки =) этот скрипт реализует показ следа на сайте то есть Главная > Категория 1 > Категория 2 > Категория 3 etc =) id это номер конечной категории на сайте... для каждой категории прописывается подкатегория id_cat =) то есть этот скрипт по канечной категории id приходит к первоначальной и всё это записывается в $url =) ну а далее идёт сортировка так как если её не сделать вывод будет такой Главная > Категория 3 > Категория 2 > Категория 1 =) ссылка Главное статична....
И чтобы ввести в курс дела про нагрузку на свервер у меня в одном пхп-файле открывается несколько соединений... то есть есть не сколько конструкций вида
$id = $_GET['id'];
require("config.php");
mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($name) or die(mysql_error());
<!-- code; -->
mysql_close();
|
сначала я подумал что именно эти несколько соединений нагружают сервер... но после каждого коннекта прописывается и закрытие... именно поэтому я остановился на том скрипте который я привёл в самом начале... | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 19:14)
| | раз все молчат, а помощь оч оч оч оч нужна :) постораючь помочь чем смогу :)
как я понял, скрипт работает... верно?
(а если он работает, причем правильно....... вроде бы в нем нет ничего такого, что могло бы так сильно загрузить сервер) | |
|
|
|
|
|
|
|
для: kasmanaft
(08.03.2006 в 19:50)
| | да =) конечно =) всё работает... но создаёт нагрузку на сервер... из за чего создаются траблы с хостингом... поэтому мне надо найти ошибки как можно скорее =) и огромное спасибо что отзываетесь и пытаетесь помочь =) | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 19:55)
| | вообще админ хоста говорит что создаются 2-3 соединения и тогда уже мускл просто падает... хотя я стараюсь всё писать правильна... но опыта именно в пхп немного... хватает в других языках... так что может стоит показать ещё два скрипта во всём коде... максимум в коде у меня три соединения.... | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 19:58)
| | вообще-то лучше наврное сделать как все (если что не бить, насчет всех :))
и в файле config.php устанавливать соединение... один раз. | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 19:58)
| | и ещё раз огромное спасибо kasmanaft... может проще будет если вы мне на мыло кинете номер вашей аськи... так решить проблему будет удобнее... правда это уж слишком нагло уже просить такой помощи... но всё же... | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 20:07)
| | а можно ли поподробнее про конфиги??? =) у меня там прописано лишь хост юзер пассверд и имя бд.... | |
|
|
|
|
|
|
|
для: eclipse
(08.03.2006 в 20:10)
| | послал адрес аськи.....
все правильно... я говорю, что правильнее (или может быть удобнее) было бы сделать файл config.php (который у вас вроде бы имеется) в котором и устанавливать соединение с базой...
давайте по аське... | |
|
|
|