Если я правильно понял, поле number - это AUTO_INCREMENT INT? Тогда stripslashes и т. д. для него совершенно излишни... Я бы сделал так:
CODE:<?php
$bd = mysql_pconnect('localhost', 'divnru_brend', '***') or die("Не соединилось!!!");
mysql_select_db('divnru_brend')or die("Не найдена БД");
$query = "select * from main";
$id_specified=FALSE;
if (isSet($_GET['id']))
{
$id=(int)$_GET['id'];
if ($id)
{
$id_specified=TRUE;
$query.=' where number = '.$id;
}
else
$query.=' where number > 0';
}
else
$query.=' where number > 0';
$result = mysql_query($query) or die("Запрос ошибочный");
if ($id_specified)
{
if (mysql_num_rows($result)!=1)
echo "Ошибка: не найдена работа!";
else
{
$row = mysql_fetch_array($result);
echo '<b>'.$row['number']);
echo '.</b> ';
echo htmlspecialchars(stripslashes($row['name']));
echo ', ';
echo htmlspecialchars(stripslashes($row['author']));
echo ', ';
echo htmlspecialchars(stripslashes($row['public']));
echo '</a><br>';
}
}
else
while ($row = mysql_fetch_array($result))
{
echo "<a href=\"$_SERVER['PHP_SELF']?id=$row[number]\"><b>";
echo $row['number'];
echo '.</b> ';
echo htmlspecialchars(stripslashes($row['name']));
echo ', ';
echo htmlspecialchars(stripslashes($row['author']));
echo ', ';
echo htmlspecialchars(stripslashes($row['public']));
echo '</a><br>';
}
?> |