0

Hi Guys,
I am developing a Music Database system.
This is a 'Song.php' page. It will be a Detailed page of a each song. Ex : song.php?id=1

<?php

if(!empty($_GET['id']))
    {
        $sid = mysql_real_escape_string ($_GET['id']);
    }
    // if song id is null, user will redirect to the full song list
    else 
        header ("Location: songlist.php");
?>
<?php
// including database connection
include ('datab.php');

$songs = mysql_query("SELECT * FROM `songs` WHERE `id`='$sid'")or die(mysql_error());
if(mysql_num_rows($songs)> 0)
{
    while($row = mysql_fetch_array($songs)){


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $row['name']; ?> - Music Onz</title>
</head>

<body>

</body>
<?php
}

}
?>
</html>

I want to add message "Invalid or Deleted" if system return 0 after this code

$songs = mysql_query("SELECT * FROM `songs` WHERE `id`='$sid'")or die(mysql_error());

I know I have to write else part to

if(mysql_num_rows($songs)> 0)
     {

but, I have no idea where to place else part :(
Please help me guys

2
Contributors
6
Replies
23
Views
3 Years
Discussion Span
Last Post by Benjamin_11
0

I need some clarification, but happy to help. Where do you want to add the message? Are you updating the DB table or writing it to the screen?

0

BTW this is easily accomplished using PDO (you'll need the $conn part):

Example from the manual:

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

    /* Check the number of rows that match the SELECT statement */
  if ($res->fetchColumn() > 0) {

        /* Issue the real SELECT statement and work with the results */
         $sql = "SELECT name FROM fruit WHERE calories > 100";
       foreach ($conn->query($sql) as $row) {
           print "Name: " .  $row['NAME'] . "\n";
         }
    }
    /* No rows matched -- do something else */
  else {
      print "No rows matched the query.";
    }
}

$res = null;
$conn = null;
?>

Edited by Benjamin_11

0

I need some clarification, but happy to help. Where do you want to add the message? Are you updating the DB table or writing it to the screen?

Thank You for your reply.

Simply we are doing this way. Aren't we?

$songs = mysql_query("SELECT * FROM `songs` WHERE `id`='$sid'")or die(mysql_error());
if(mysql_num_rows($songs)> 0)
    {
    echo $row['name'];
    }
    else
    {
       echo "Invalid / Deleted!"
    }

But in this case I can't use that. Because there is while($row = mysql_fetch_array($songs)){

in between if{ }

Therefore I need your help to place else party

0

Why not just set a vaiable to whatever string you want and echo it if the IF statement fails?

$var = "Invalid / Deleted!";
if (mysql_num_rows($songs)> 0){
echo $row['name'];
}else{
echo $var;
}

Edited by Benjamin_11

0

Why not just set a vaiable to whatever string you want and echo it if the IF statement fails?

Then where should I write while($row = mysql_fetch_array($songs)){ part?

0

You can have the IF/ELSE run inside the WHILE. If not the query related variables wont be available.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.