- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
<?php
if (isset($_GET['cat'])) {$cat = $_GET['cat']; }
if (!isset($cat)) {$cat = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $cat)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
$result = mysql_query("SELECT * FROM wc_news_cat WHERE id='$cat'");
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору<br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
/* Выводим новости */
$result = mysql_query("SELECT id,cat,title,news,view,data,author FROM wc_news WHERE cat='$cat'");
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору<br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
}
do
{
printf ("<table align='center' class='news'>
<tr>
<td class='news_title'>
<p class='news_name'><a href='news.php?id=%s'>%s</a></p>
<p class='news_adds'>Дата добавления: %s</p>
<p class='news_adds'>Автор урока: %s</p></td>
</tr>
<tr>
<td>%s <p class='news_view'>Просмотров: %s </p></td>
</tr>
</table><br><br>",$myrow["id"],$myrow["title"],$myrow["author"],$myrow["news"], $myrow["view"]);
}
while ($myrow = mysql_fetch_array($result));
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>
guest 22.10.2009 16:15 # 0
ниасилил
нисмешно
cheef 22.10.2009 20:17 # +1
!preg_match("|^[\d]+$|", $cat)
кагбэ
is_number($cat)
Ildar 22.10.2009 20:21 # 0
guest 26.10.2009 08:45 # 0
2) смысл? преобразуйте $_GET['cat'] в число intval() и работайте с нормальным целым
p.s. хотя бы как-нибудь разделите логику и вывод данных, ну очень уж некрасиво выглядит код. что вы будете делать, если поменяется верстка?
shitcoder 26.10.2009 16:19 # 0
Yozheg 23.10.2009 00:43 # 0
И еще, в чем религиозный смысл юзать printf, когда можно воспользоваться обычной конкатенацией строк?
guest 23.10.2009 21:28 # 0
shitcoder 26.10.2009 16:21 # 0
ну прям как в книжках по программированию!
4auka 24.10.2009 01:57 # 0
можно заменить на $result = mysql_query("SELECT * FROM wc_news WHERE cat='$cat'");
запрос кстати выполнен будет быстрее
guest 25.10.2009 11:35 # 0
guest 25.10.2009 20:24 # 0
аффтар не знал о ctype_digit()
guest 26.10.2009 08:34 # 0
guest 26.10.2009 09:27 # 0
всегда хватало is_numeric.
Ildar 26.10.2009 10:37 # 0
Терь понел, что код ужасный, буду лучш на модх сайты делать.