Грешка с Id

lub4o

Registered
Здравейте, имам следния код
Код:
<?php
        include 'config.php';
        $sql = mysql_query("SELECT * FROM novini") or die (mysql_error());
        while($row = mysql_fetch_assoc($sql))
        {
            echo "
           <b>Заглавие:</b> <a href='index.php?view=$row[id]'>$row[title]</a><br />

            <b>Описание:</b> $row[opisanie] <br />
            <b>Дата:</b>". date('Y-m-d', $row[data])."
            <br />
            <hr />
            
            ";
        }
        $id = $_GET['view'];
        if(!isset($id) || !is_numeric($id) || $id < 1)
        {
            echo 'Невалидно ID';
        }else
        {

           $sql = mysql_query("SELECT * FROM novini WHERE id = '$id'") or die (mysql_error());
           while($row = mysql_fetch_assoc($sql))
           {
               echo "$row[title]";
           
           }

        }

        ?>

Всичко е ок, как да направя ако ID-то го няма в базата данни да ми вади грешка, няма такава новина
 
$sql = "SELECT * FROM novini WHERE id = '$id'";

$q = mysql_query($sql) or die (mysql_error());

if (mysql_num_rows($q){

while($row = mysql_fetch_assoc($q)) {

echo "$row[title]";

}

} else {

echo "Няма такава новина.";

}
 
При положения ,че селектираш само една новина, защо ти е цикъл ? По-добре е извеждането на всяка новина да е в друга страница, а не в тази която показваш всичките новини, но може пък да имаш нещо друго в предвид не знам. Виж това дали ще ти свърши работа:

Код:
<?php
        include 'config.php';
        $sql = mysql_query("SELECT * FROM novini") or die (mysql_error());
        while($row = mysql_fetch_assoc($sql))
        {
            echo "
           <b>Заглавие:</b> <a href='index.php?view=$row[id]'>$row[title]</a><br />

            <b>Описание:</b> $row[opisanie] <br />
            <b>Дата:</b>". date('Y-m-d', $row[data])."
            <br />
            <hr />
            
            ";
        }
$id = $_GET['view'];
$sql = mysql_query("SELECT * FROM novini WHERE id = '$id'") or die (mysql_error());
$row = mysql_fetch_assoc($sql);
        if(!isset($id) || !is_numeric($id) || $id < 1 || $id != $row['id'])
        {
            echo 'Невалидно ID';
        }else
        {        
               echo "$row[title]";        
        }

        ?>
 

Back
Горе