Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Усовершенсвовать скрипт
 
 автор: napTu3aH   (05.08.2005 в 10:08)   письмо автору
 
 

Написал такой скриптик. Я только начинаю может подскажите все ли я правильно сделал. На локальной машине все работает нормально, вот только незнаю насколько быстро это будет работать когда выложу на сайт.
Меня беспокоит быстродействие скрипта если в базе будет 300-500 записей и в каждой около 50 характеристик.


<?
include "config.php";

$result mysql_query("SELECT * FROM $table");
$fields mysql_num_fields($result);
$rows mysql_num_rows($result);

for(
$k=0$k<$rows$k++) {
$name mysql_result($result$k1);
echo 
"<A href = index.php?id=$k>$name</A> ";
}

echo 
"<br><br>";
$fname mysql_result($result$id1);
$url="$ImgDir/$fname";
echo 
"<IMG src=$url width=170 height=240 border=0><br>";

for(
$i=1$i<$fields$i++) {
$char mysql_result($result$id$i);
echo 
"$char <br>\n";
}

?>


И еще 1 вопрос: что мне добавить, если человек заходит на эту страничку 1-й раз
и еще не выбрал никакую запись, т.е переменная

$id

еще не указана. Что бы в таком случае ему выводилась либо сам список записей или альтернативная страничка.

пробовал через

if(!$id)
echo "не выбрана запись";
else
{
мой скрипт 
}

мне выводит в обоих случаях "не выбрана запись" :(

заранее спасибо

   
 
 автор: cheops   (05.08.2005 в 11:40)   письмо автору
 
   для: napTu3aH   (05.08.2005 в 10:08)
 

>Меня беспокоит быстродействие скрипта если в базе будет 300-500 записей и в
>каждой около 50 характеристик.
1) Если хотите стать гуру в программировании - нужно гнать такие беспокойства от себя. Оптимизировать скрипт следует только в том случае, если наблюдаются серьёзные проблемы с производительностью уже на рабочем месте скрипта. Преждевременная оптимизация называется корифеями программирования как один из самых тяжких грехов :))). Так как многочисленные исселедования показали - программисты никогда заранее не могут угадать место, где скрипт проводит больше всего времени (более того, эти места регулярно изменяются в связи с развитием технологии), прибегая к преждевременной оптимизации кода - они создают менее читабельный и более закрученный код в местах, где это вовсе и не требуется.

2) А вы попробуйте проверять установлена переменная или нет при помощи функции isset
<?php
  
if(!isset($id)) exit("не выбрана запись"); 
  
// мой скрипт 
?>

   
 
 автор: napTu3aH   (05.08.2005 в 12:01)   письмо автору
 
   для: cheops   (05.08.2005 в 11:40)
 

С isset все работает отлично
спасибо за совет

А насчет оптимизации
в моем скрипте ПХП перебирает почти всю таблицу
я хотел сделать через

$result = mysql_query("SELECT * FROM $table") where id="$id"


но он выдает мне ошибку, подскажите пожалуйста где я ошибся

   
 
 автор: Akira   (05.08.2005 в 12:05)   письмо автору
 
   для: napTu3aH   (05.08.2005 в 12:01)
 


$result = mysql_query("SELECT * FROM $table where id="$id")

   
 
 автор: cheops   (05.08.2005 в 12:05)   письмо автору
 
   для: napTu3aH   (05.08.2005 в 12:01)
 

SQL-запрос следует записать следующим образом
<?php
  $result 
mysql_query("SELECT * FROM $table where id='$id'");
?>

Чтобы не путаться и было легче отлаживать часто прибегают к следующей конструкции
<?php
  $query 
"SELECT * FROM $table where id='$id'";
  
$result mysql_query($query);
?>

   
 
 автор: napTu3aH   (05.08.2005 в 12:12)   письмо автору
 
   для: cheops   (05.08.2005 в 12:05)
 

спасибо буду пробовать

и если не затруднит еще один маленький вопросик немного не в тему:
есть сайты например
[url]zssm.zp.ua[/url]
на которых после урла сайта ничего не пишеться
по каким бы ты ссылкам не ходил(внутри сайта)
содержимое адресной строки не меняетсья.
Как и с помощью чего это реализовано?

Заранее спасибо

   
 
 автор: [CHOL]Scorpion   (05.08.2005 в 12:28)   письмо автору
 
   для: napTu3aH   (05.08.2005 в 12:12)
 

ну так то что в адресе пишешь, пиши в сессию, возвращай на стартовую .. на которой будут проверяться данные сессии .. получится страница одна, а содержимое разное ...

только не советую, если сайт рассчитан на широкие массы, которые привлекаются во многом с других сайтов .. ведь иж просто не реально проиндексировать ... не говоря уже о том что дать точную ссылку тоже не реально.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования