я выложу несколько страниц в старом формате и в новом. Посмотрите, исправте, посоветуйте.
<? include ("blocks/bd.php");
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Доска объявлений</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF" class="main_border">
<? include("blocks/header.php"); ?>
<tr>
<td valign="top">
<? include("blocks/nav.php"); ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<? include("blocks/lefttd.php"); ?>
<td valign="top">
<h2>Доска объявлений</h2>
<table align='center' class="kab" cellspacing="0" cellpadding="0">
<tr>
<td>
<br>
<table><tr><td>
<p> <a href='new_obyava.php'>
<img class="dobav" src='img/includ/dato.png'>
</a></td>
<?php
$result10 = mysql_query ("SELECT COUNT(*) FROM kuplu",$db);
$sum = mysql_fetch_array($result10);
$result101 = mysql_query ("SELECT ALL(view) FROM kuplu WHERE view=view",$db);
$sum3 = mysql_fetch_array($result101);
echo "<td> <span class='stat'>Всего объявлений: ($sum[0])</span> </p></td></tr></table>
";
?>
<table width="100%">
<tr>
<td><br>
<?
$num = 10;
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM kuplu");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>
<?
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>
<?
/* Пробую еще один запрос на куплю продам */
$result8 = mysql_query ("SELECT * FROM kuplu ORDER BY id DESC LIMIT $start, $num",$db);
if (!$result8)
{
echo "<p>Запрос не прошел, parabolan@rambler.ru код ошибки: </p>";
exit (mysql_error());
}
if (mysql_num_rows($result8) > 0)
{
$myrow8 = mysql_fetch_array($result8);
$new_view = $myrow8["view"] + 1;
$update = mysql_query("UPDATE kuplu SET view='$new_view' WHERE id='$id'",$db);
do
{
printf ("
<table class='post_2'>
<tr>
<td class='das'><img class='strel' align='left' src='img/includ/xmar.png'>
<a class='nav_link78' href='v_obyavlenie.php?id=%s'>%s</a>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td class='trw'>
<a href='v_obyavlenie.php?id=%s'> <img class='mini2a' align='left' src='%s' alt='%s'></a>
</td>
<td class='k'>
<div class='m_text'>%s</div>
<div class='post_adds'><strong>Город:</strong> %s
<img src='img/includ/konvert.png'>
<strong>Email:</strong> <a href='mailto:%s'>Отправить письмо</a>
<img src='img/includ/tel.png'>
<strong>Тел:</strong> %s</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class='niz'> <div class='post_view'>
<img class='gal' src='img/includ/gal.png'>
Дата розмещения: %s
<img src='img/includ/lupa.png'>
Просмотров: %s |
Добавил: <span class='polz'>%s</span>
</div></td>
</tr>
</table><br>",$myrow8["id"],$myrow8["title"],$myrow8["id"],$myrow8["fupload"],$myrow8["title"],$myrow8["text"],
$myrow8["city"],$myrow8["mail"],$myrow8["tel"],$myrow8["dater"],$myrow8["view"],$myrow8["author"]
);
}
while ($myrow8 = mysql_fetch_array($result8));
?>
</td>
</tr>
</table>
<br>
<?
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}
else
{
echo "<p>не вишло</p>";
exit ();
}
?>
</td>
</tr>
</table><br>
<? include("blocks/reklama.php"); ?> </td>
</tr>
</table></td>
</tr>
<? include("blocks/footer.php"); ?>
</table>
</body>
</html>
новый формат, только здесь наверное ошибки
<? include ("blocks/bd.php");
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Доска объявлений</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF" class="main_border">
<? include("blocks/header.php"); ?>
<tr>
<td valign="top">
<? include("blocks/nav.php"); ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<? include("blocks/lefttd.php"); ?>
<td valign="top">
<h2>Доска объявлений</h2>
<table align='center' class="kab" cellspacing="0" cellpadding="0">
<tr>
<td>
<br>
<table><tr><td>
<p> <a href='new_obyava.php'>
<img class="dobav" src='img/includ/dato.png'>
</a></td>
<?php
$result10 = mysql_query ("SELECT COUNT(*) FROM kuplu",$db);
$sum = mysql_fetch_array($result10);
$result101 = mysql_query ("SELECT ALL(view) FROM kuplu WHERE view=view",$db);
$sum3 = mysql_fetch_array($result101);
echo "<td> <span class='stat'>Всего объявлений: ($sum[0])</span> </p></td></tr></table>
";
?>
<table width="100%">
<tr>
<td><br>
<?
$num = 10;
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM kuplu");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>
<?
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>
<?
/* Пробую еще один запрос на куплю продам */
$result8 = mysql_query ("SELECT * FROM kuplu ORDER BY id DESC LIMIT $start, $num",$db);
$new_view = $myrow8["view"] + 1;
$update = mysql_query("UPDATE kuplu SET view='$new_view' WHERE id='$id'",$db);
while ($myrow8 = mysql_fetch_array($result8))
{
printf ("
<table class='post_2'>
<tr>
<td class='das'><img class='strel' align='left' src='img/includ/xmar.png'>
<a class='nav_link78' href='v_obyavlenie.php?id=%s'>%s</a>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td class='trw'>
<a href='v_obyavlenie.php?id=%s'> <img class='mini2a' align='left' src='%s' alt='%s'></a>
</td>
<td class='k'>
<div class='m_text'>%s</div>
<div class='post_adds'><strong>Город:</strong> %s
<img src='img/includ/konvert.png'>
<strong>Email:</strong> <a href='mailto:%s'>Отправить письмо</a>
<img src='img/includ/tel.png'>
<strong>Тел:</strong> %s</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class='niz'> <div class='post_view'>
<img class='gal' src='img/includ/gal.png'>
Дата розмещения: %s
<img src='img/includ/lupa.png'>
Просмотров: %s |
Добавил: <span class='polz'>%s</span>
</div></td>
</tr>
</table><br>",$myrow8["id"],$myrow8["title"],$myrow8["id"],$myrow8["fupload"],$myrow8["title"],$myrow8["text"],
$myrow8["city"],$myrow8["mail"],$myrow8["tel"],$myrow8["dater"],$myrow8["view"],$myrow8["author"]
);
?>
</td>
</tr>
</table>
<br>
<?
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}
?>
</td>
</tr>
</table><br>
<? include("blocks/reklama.php"); ?> </td>
</tr>
</table></td>
</tr>
<? include("blocks/footer.php"); ?>
</table>
</body>
</html>
Спустя 2 минуты, 19 секунд (7.07.2010 - 17:29) DedMorozzz написал(а):
В вопрос не вникал, но наверое надобно сие http://phpforum.ru/index.php?showtopic=219...=0entry205655
Спустя 8 минут, 28 секунд (7.07.2010 - 17:38) Basili4 написал(а):
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
замени на
$id=isset($_GET['id'])?(int)$_GET['id']:1;
вот это убей
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
<? - не используй короткий тип тега на некоторых хостах он может быть отключен только <?php
@$page = $_GET['page']; не используй @ - забивание вывода ошибок ошибки должны быть обработаны
$page=isset($_GET['page']?(int)$_GET['page']:1;
вообщем тут править и править
if (!isset($id)) {$id = 1;}
замени на
$id=isset($_GET['id'])?(int)$_GET['id']:1;
вот это убей
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
<? - не используй короткий тип тега на некоторых хостах он может быть отключен только <?php
@$page = $_GET['page']; не используй @ - забивание вывода ошибок ошибки должны быть обработаны
$page=isset($_GET['page']?(int)$_GET['page']:1;
вообщем тут править и править
Спустя 17 минут, 8 секунд (7.07.2010 - 17:55) Gabriel написал(а):
if (!preg_match("|^[\d]+$|", $id)) exit ("<p>Неверный формат запроса! Проверьте URL!");
$temp = mysql_fetch_array($result00);
дальше даже всматриваться не стал.
1 как сказали выше число али нет можно проверить без регулярок (intval(), is_numeric(),.......).
2 зачем использовать mysql_fetch_array();? прекрасно подходит mysql_fetch_row(); ну а коли юзаем его для большого кл-ва данных то либо поставить 2й параметр, либо использовать mysql_fetch_assoc();
3 а printf лутше заменить на echo ну или print.
Спустя 3 минуты, 43 секунды (7.07.2010 - 17:59) DedMorozzz написал(а):
Ппц, ну вы даёте, такие портянки читать

Спустя 6 минут, 4 секунды (7.07.2010 - 18:05) Basili4 написал(а):
Как то заметил что Попов везде использует printf. я спициально искал хоть какую дитературу чтоб было рекомендовано для обычного вывода использовать printf не нашел спрашивается где он (Попов) у кого учился. Ну не может же так чел прийти ни начать писать кривой код кто же его научил. Я долго думал может я гоню но не одной причины использовать printf не видел эти %s в тексте теряются на 1 2 3. Не понимаю я его вообще ни как.
Спустя 12 минут, 15 секунд (7.07.2010 - 18:17) Gabriel написал(а):
DedMorozzz
я не читал я пробежал колесиком мышки
Basili4
да зечем искать литературу с рекомендациями для использования данной функции для вывода обычного текста? достаточно зайти на php.net и почитать про нее.
я не читал я пробежал колесиком мышки

Basili4
да зечем искать литературу с рекомендациями для использования данной функции для вывода обычного текста? достаточно зайти на php.net и почитать про нее.
Цитата |
printf (PHP 4, PHP 5) printf — Output a formatted string |
а чего он там форматирует фик его знаетЬ.
Спустя 1 час, 14 минут, 43 секунды (7.07.2010 - 19:32) KaFe написал(а):
Цитата (Basili4 @ 7.07.2010 - 15:05) |
Как то заметил что Попов везде использует printf. |
Человек просто много работал с C наверное

Спустя 4 минуты, 15 секунд (7.07.2010 - 19:36) Basili4 написал(а):
KaFe
И...... как связан c с printf там нет простого не форматированного вывода в консоль ????????
И...... как связан c с printf там нет простого не форматированного вывода в консоль ????????
Спустя 20 минут, 28 секунд (7.07.2010 - 19:56) Ice написал(а):
там есть cout
Спустя 11 минут, 45 секунд (7.07.2010 - 20:08) Guest написал(а):
$id=isset($_GET['id']?(int)$_GET['id']:1;
не катит, пишет ошибку
Parse error: syntax error, unexpected '?', expecting ',' or ')' in Z:\home\localhost\www\ALLDOG\obyavlenie.php on line 4
Спустя 2 минуты, 11 секунд (7.07.2010 - 20:10) twin написал(а):
Я встречал пару лет назад прямо такой же код. С do... while, printf и прочими изысками. Источника сейчас не найду конечно, но он явно оттуда схватил.
Просто он, не разбираясь особо, перевел первый попавшийся самоучитель в видеокурс.
Guest
Скобочки посчитай.
Просто он, не разбираясь особо, перевел первый попавшийся самоучитель в видеокурс.
Guest
Скобочки посчитай.
Спустя 15 минут, 29 секунд (7.07.2010 - 20:26) Guest написал(а):
гляньте так, ну чето пишет Неверный формат запроса! Проверьте URL! и по моиму тут со скобками проблемы
<?php include ("blocks/bd.php");
if (!preg_match("|^[\d]+$|", $id)) exit ("<p>Неверный формат запроса! Проверьте URL!");
$id=isset($_GET['id'])?(int)$_GET['id']:1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Доска объявлений</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF" class="main_border">
<?php include("blocks/header.php"); ?>
<tr>
<td valign="top">
<?php include("blocks/nav.php"); ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php include("blocks/lefttd.php"); ?>
<td valign="top">
<h2>Доска объявлений</h2>
<table align='center' class="kab" cellspacing="0" cellpadding="0">
<tr>
<td>
<br>
<table><tr><td>
<p> <a href='new_obyava.php'>
<img class="dobav" src='img/includ/dato.png'>
</a></td>
<?php
$result10 = mysql_query ("SELECT COUNT(*) FROM kuplu",$db);
$sum = mysql_fetch_row($result10);
$result101 = mysql_query ("SELECT ALL(view) FROM kuplu WHERE view=view",$db);
$sum3 = mysql_fetch_row($result101);
echo "<td> <span class='stat'>Всего объявлений: ($sum[0])</span> </p></td></tr></table>
";
?>
<table width="100%">
<tr>
<td><br>
<?php
$num = 10;
// Извлекаем из URL текущую страницу
$page=isset($_GET['page'])?(int)$_GET['page']:1;
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM kuplu");
$temp = mysql_fetch_row($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
?>
<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>
<?php
/* Пробую еще один запрос на куплю продам */
$result8 = mysql_query ("SELECT * FROM kuplu ORDER BY id DESC LIMIT $start, $num",$db);
$new_view = $myrow8["view"] + 1;
$update = mysql_query("UPDATE kuplu SET view='$new_view' WHERE id='$id'",$db);
while ($myrow8 = mysql_fetch_assoc($result8))
{
print "<table class='post_2'>
<tr>
<td class='das'><img class='strel' align='left' src='img/includ/xmar.png'>
<a class='nav_link78' href='v_obyavlenie.php?id={$myrow8['id']}'>{$myrow8['title']}</a>
</td>
</tr>
<tr> <td><table> <tr> <td class='trw'>
<a href='v_obyavlenie.php?id={$myrow8['id']}'> <img class='mini2a' align='left' src='{$myrow8['fupload']}' alt='{$myrow8['title']}'></a>
</td>
<td class='k'>
<div class='m_text'>{$myrow8['text']}</div>
<div class='post_adds'><strong>Город:</strong> {$myrow8['city']}
<img src='img/includ/konvert.png'>
<strong>Email:</strong> <a href='mailto:{$myrow8['mail']}'>Отправить письмо</a>
<img src='img/includ/tel.png'>
<strong>Тел:</strong> {$myrow8['tel']}</div> </td> </tr> </table></td></tr><tr>
<td class='niz'> <div class='post_view'>
<img class='gal' src='img/includ/gal.png'>
Дата розмещения: {$myrow8['dater']}
<img src='img/includ/lupa.png'>
Просмотров: {$myrow8['view']} |
Добавил: <span class='polz'>{$myrow8['author']}</span> </div></td> </tr>
</table><br>"
?>
</td>
</tr>
</table>
<br>
<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=obyavlenie.php?id='.$id.'&page=1>Первая</a> | <a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'><<</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>>></a> | <a href=obyavlenie.php?id='.$id.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=obyavlenie.php?id='.$id.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=obyavlenie.php?id='.$id.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=obyavlenie.php?id='.$id.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}
?>
</td>
</tr>
</table><br>
<?php include("blocks/reklama.php"); ?> </td>
</tr>
</table></td>
</tr>
<?php include("blocks/footer.php"); ?>
</table>
</body>
</html>
Спустя 1 час, 22 секунды (7.07.2010 - 21:26) Guest написал(а):
со скобками разобрался, вот только пишет:
Неверный формат запроса! Проверьте URL!
Неверный формат запроса! Проверьте URL!
Спустя 21 минута, 30 секунд (7.07.2010 - 21:48) Slays написал(а):
тебе же сказали убрать preg_match
Спустя 10 часов, 32 минуты, 39 секунд (8.07.2010 - 08:20) Lenarfate написал(а):
мужики, это жесть!)
Спустя 1 час, 37 минут, 52 секунды (8.07.2010 - 09:58) Guest написал(а):
ну по коду вы можете что нить сказать, хорош или плох?
Спустя 5 минут, 20 секунд (8.07.2010 - 10:04) DedMorozzz написал(а):
Хм...Попов и хороший код? Что ты этим хочешь сказать? 
Иль это аля "тонкий" троллинг? )

Иль это аля "тонкий" троллинг? )
Спустя 5 минут, 22 секунды (8.07.2010 - 10:09) Basili4 написал(а):
Цитата (Guest @ 8.07.2010 - 10:58) |
ну по коду вы можете что нить сказать, хорош или плох? |
ты после Попова переделал только цикл а там еще много чего править. Тут даже дело не в тебе. тебе лучше всего не исправлять код после попова а заново написать у него что не строчка так ГК.
Спустя 16 минут, 15 секунд (8.07.2010 - 10:25) Guest написал(а):
я напишу, мне бы все ошибки старого кода, или образец нового, например с выше представленного мною кода.
Спустя 17 минут, 27 секунд (8.07.2010 - 10:43) amazing написал(а):
Вменяемые имена переменным и запросам думаю не помешали бы...
А то result00 и т.д...
А то result00 и т.д...
Спустя 9 минут, 29 секунд (8.07.2010 - 10:52) Guest написал(а):
а какая разница?
Спустя 4 минуты, 7 секунд (8.07.2010 - 10:56) amazing написал(а):
кхм... легче читать и понимать код...
Спустя 4 минуты, 20 секунд (8.07.2010 - 11:01) DedMorozzz написал(а):
Да никакой. Но если все бы так делали, то твой мобильный телефон был бы модели 12F00ck-62. И жил бы ты по адресу 0001#ch(1200FF)Z81, в квартире 0001#ch(1200FF)Z81-1500FFFF. А так всё ништяк. Везде имена должы соотецтвовать контенту и должны быть "говорящими"
Спустя 2 минуты, 12 секунд (8.07.2010 - 11:03) Basili4 написал(а):
Спустя 2 дня, 39 минут, 40 секунд (10.07.2010 - 11:42) Odessyt написал(а):
У меня на сайте стоит постраничная навигация (тоже из курса Попова) и всё работало без проблем, но я столкнулся с непонятным мне багом: если страниц больше одной и в переменную $region попадает одно слово целиком - то всё ОК, если же переменная состоит из двух слов с пробелом между ними - то выводится только первое слово, а вся ссылка после него обрезается
Пример: $region Pattaya - http://www.dta.odessa.ua/hotel.php?region=Pattaya&page=2 (Всё правильно)
$region Куала Lumpur - должно выводиться так: http://www.dta.odessa.ua/hotel.php?region=Kuala Lumpur&page=2 , а выводится только http://www.dta.odessa.ua/hotel.php?region=Kuala
Я никак не могу понять, что именно обрезает ссылку на пробеле. Если в этом кто-то разобрался - откликнитесь, плиз!!! - очень нужна помощь
Пример: $region Pattaya - http://www.dta.odessa.ua/hotel.php?region=Pattaya&page=2 (Всё правильно)
$region Куала Lumpur - должно выводиться так: http://www.dta.odessa.ua/hotel.php?region=Kuala Lumpur&page=2 , а выводится только http://www.dta.odessa.ua/hotel.php?region=Kuala
Я никак не могу понять, что именно обрезает ссылку на пробеле. Если в этом кто-то разобрался - откликнитесь, плиз!!! - очень нужна помощь
<?
$result77 = mysql_query("SELECT str FROM options", $db);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM hotel WHERE region = '$region' ");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query ("SELECT * FROM hotel WHERE region ='$region' ORDER BY name LIMIT $start, $num",$db);
$myrow = mysql_fetch_array ($result);
do {
$result15 = mysql_query ("SELECT COUNT(*) FROM comments WHERE post ='$myrow[id]'",$db);
$r2 = mysql_fetch_array ($result15);
$r = $myrow["rating"]/$myrow["q_vote"];
$r = intval($r);
printf(
"<table></table>");
}
while ($myrow = mysql_fetch_array ($result));
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=hotel.php?region='.$region.'&page=1>Первая</a> | <a href=hotel.php?region='.$region.'&page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 1) .'>Следующая</a> | <a href=hotel.php?region='.$region.'&page=' .$total. '>Последняя</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = ' <a href=hotel.php?region='.$region.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class='country_name_ht'>";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
?>
Спустя 12 минут, 58 секунд (10.07.2010 - 11:55) Ice написал(а):
в ссылке не может содержаться пробел
Упд.: зашел на Ваш сайт - слово Travel пишется через а, если имеется ввиду путешествие.
Упд.: ссылка http://www.dta.odessa.ua/hotel.php?region=...a+lumpur&page=2 отрабатывает нормально
Упд.: зашел на Ваш сайт - слово Travel пишется через а, если имеется ввиду путешествие.
Упд.: ссылка http://www.dta.odessa.ua/hotel.php?region=...a+lumpur&page=2 отрабатывает нормально
Спустя 39 минут, 19 секунд (10.07.2010 - 12:35) twin написал(а):
Блин. Попов даже стырить по человечески не смог...
Выкинь это дерьмо немедленно. Править - себе дороже.
Выкинь это дерьмо немедленно. Править - себе дороже.
Спустя 1 час, 39 минут, 25 секунд (10.07.2010 - 14:14) Basili4 написал(а):
Цитата (twin @ 10.07.2010 - 13:35) |
Выкинь это дерьмо немедленн |
Ни когда не слышал чтоб twin так выражался наверно точно дерьмо

Спустя 6 минут, 50 секунд (10.07.2010 - 14:21) Basili4 написал(а):
мне вот эти кусочки кода доставляют
а еслиб ему нужно было 100 сылок на страницы выводить он би 100 раз эти строки копировал
Помоему попов не долечившийся Кутузов или Наполеон но точно из больницы с мягкими стенами. А код пишет через призму своего мироощущения.
if($page + 5 <= $total) $page5right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=hotel.php?region='.$region.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>
а еслиб ему нужно было 100 сылок на страницы выводить он би 100 раз эти строки копировал

Спустя 42 минуты, 56 секунд (10.07.2010 - 15:04) inpost написал(а):
Это не его код, он сам говорил, что откуда-то взял постраничную навигацию +)
Спустя 7 минут, 3 секунды (10.07.2010 - 15:11) Odessyt написал(а):
Цитата (Ice @ 10.07.2010 - 08:55) |
в ссылке не может содержаться пробел Упд.: зашел на Ваш сайт - слово Travel пишется через а, если имеется ввиду путешествие. Упд.: ссылка http://www.dta.odessa.ua/hotel.php?region=...a+lumpur&page=2 отрабатывает нормально |
Спасибо за ответ. (1) Стыдно за такую дурацкую опечатку - исправлю.
(2) Если ссылки не могут содержать пробел, то почему нормально работают такие:
http://www.dta.odessa.ua/hotel.php?region=Kuala Lumpur
Может пробел в ссылке всё же возможен? Дело в том, что такие названия часто используются в поиске (Названия Стран, отелей, экскурсий и т.д.) как же быть?
Спустя 5 минут, 57 секунд (10.07.2010 - 15:17) Basili4 написал(а):
заменить пробел на %20
Спустя 5 минут, 18 секунд (10.07.2010 - 15:22) twin написал(а):
urlencode()
Спустя 1 час, 19 минут, 49 секунд (10.07.2010 - 16:42) Odessyt написал(а):
Цитата (Basili4 @ 10.07.2010 - 12:17) |
заменить пробел на %20 |
Если в базе меняю Kuala Lumpur на Kuala%20Lumpur, то при запросе так и выводится: Kuala%20Lumpur
Пример: http://www.dta.odessa.ua/hotel_of_region.p...ountry=Malaysia
Спустя 2 минуты, 5 секунд (10.07.2010 - 16:44) Odessyt написал(а):
Цитата (twin @ 10.07.2010 - 12:22) |
urlencode() |
С этим я ещё не сталкивался и что с ним делать?
Спустя 1 час, 36 минут, 59 секунд (10.07.2010 - 18:21) twin написал(а):
Ну для начала прочитать про неё в мануале. Или хотябы тут. Очень недурственный перевод.
Спустя 37 минут, 36 секунд (10.07.2010 - 18:59) qpayct написал(а):
всётаки главное для Попова(я так думаю) - не уметь кодить, а уметь продавать. сразу невольно вспомнился Бил Гейтс......
Попову респект!
Попову респект!
Спустя 23 минуты, 55 секунд (10.07.2010 - 19:23) Odessyt написал(а):
Цитата (twin @ 10.07.2010 - 15:21) |
Ну для начала прочитать про неё в мануале. Или хотябы тут. Очень недурственный перевод. |
Спасибо Большое!!! Ваш совет явился решением. Я в PHP пока новичок и это мой первый сайт - не судите строго. Ещё раз всем большое спасибо за помощь и участие!!!
Спустя 3 часа, 58 минут, 46 секунд (10.07.2010 - 23:21) twin написал(а):
Цитата |
Ваш совет явился решением. |
Жалко, что только этот совет...
Спустя 13 часов, 43 минуты (11.07.2010 - 13:04) Odessyt написал(а):
Цитата (twin @ 10.07.2010 - 20:21) | ||
Жалко, что только этот совет... |
Почему жалко? И что Вы имеете в виду "только этот совет" ?