|
|
|
|
|
для: cree
(24.03.2008 в 23:20)
| | Извините, но вы неправы:
<?
$str = 123456789789;
echo (int)$str;
?>
|
Что выводит? | |
|
|
|
|
|
|
|
для: cree
(24.03.2008 в 23:20)
| | А какой запрос нужно писать что-бы контент выводился так как нужно ?? | |
|
|
|
|
|
|
|
для: Usta
(24.03.2008 в 00:29)
| | Вот зачем использовать для приведения полученной переменной к числу череж ж..пу (прошу прощения), то бишь через регулярки?
лучше уж так:
$_GET['id_page'] = empty($_GET['id_page']) ? 0 : (int) $_GET['id_page'];
или, кому данный пример сложен:
$_GET['id_page'] = (int) @$_GET['id_page']; | |
|
|
|
|
|
|
|
для: Atheist
(23.03.2008 в 11:26)
| | Спасибо за mysql_fetch_assoc() почитал в книжке, это проще.
А что касается:
>> "SELECT id_article,name FROM articles WHERE id_page=".$_GET['id_page']." AND hide = 'show' "
>Уязвимость (попробуй найти сам).
>
>> <a href=index.php?id_page=".$_GET['id_page']."
>Другая уязвимость (попробуй найти сам).
Тут наверное нужно написать
if(isset($_GET['id_page'])) $page = $_GET['id_page'];
if (!preg_match("|^[\d]+$|", $id_page)) { exit ("<p>Неверный формат запроса! Проверьте URL!"); }
|
--- ---
WHERE id_page=$page AND hide = 'show'
|
-----
и тоже самое <a href=index.php?id_page=$id_page; | |
|
|
|
|
|
|
|
для: Usta
(23.03.2008 в 05:48)
| | > if(mysql_num_rows($ctg)>0)
Эта проверка тут не нужна.
> $catig = mysql_fetch_array($ctg)
Используй mysql_fetch_assoc.
> "SELECT id_article,name FROM articles WHERE id_page=".$_GET['id_page']." AND hide = 'show' "
Уязвимость (попробуй найти сам).
> <a href=index.php?id_page=".$_GET['id_page']."
Другая уязвимость (попробуй найти сам).
В целом, стоит еще посмотреть везде ли стоят индексы, где надо. А так больше особо в скорости не выиграешь. Если только заменить два запроса на один многотабличный. Но не уверен, что скорость от этого как-то заметно изменится.
[поправлено модератором] | |
|
|
|
|
|
|
| 1) Подскажите как можно этот код сжать, или тут идет нормальный запрос от БД? В принципе грузит он не так уж и медленно, но на локальном хосте скорость одна, а в инете будит другая.
<?
// Выводим группы категорий
$query = "SELECT id_artpage,name FROM artpage WHERE hide = 'show' ";
$ctg = mysql_query($query);
if (!$ctg) puterror("Ошибка при обращении к Выводом меню");
if(mysql_num_rows($ctg)>0)
{
while($catig = mysql_fetch_array($ctg))
{
echo "\n<div class='doljn' id='sot'><a href=index.php?id_page=".$catig['id_artpage'].">".$catig['name']."</a></div>\n";
////// ВЫВОДИМ ПОДМЕНЮ
if ($_GET['id_page'] == $catig['id_artpage'])
{
$query1 = "SELECT id_article,name FROM articles
WHERE id_page=".$_GET['id_page']."
AND hide = 'show' ";
$ctg1 = mysql_query($query1);
// if( mysql_num_rows($ctg) >0 )
{
while($cat = mysql_fetch_array($ctg1))
{
echo "\t<div class='pid'><a href=index.php?id_page=".$_GET['id_page']."&id_article=".$cat['id_article'].">".$cat['name']."</a></div>\n ";
} // Конец цикла while
} // Конец if(mysql_num_rows($ctg)>0)
}
//////////////////////////
// КОНЕЦ ВЫЫОДА ПОДМЕНЮ
}
}
?>
|
| |
|
|
|
|