php独特的语法

今天写一个程序的时候遇到一个很有意思的问题,这个和php独特的语法有关,首先我们看一下代码是怎么写的。

<?php 
$db = mysql_connect('localhost','root','Ctrip07185419') or die('can not connect to databas');
mysql_select_db('moviesite',$db) or die(mysql_error($db));

if(!isset($_GET['do']) || $_GET['do'] != 1)
{
    switch($_GET['type'])
    {
        case 'movie':
        echo 'Are you sure you want to delete this movie?<br />';
        break;
        case 'people':
        echo 'Are you sure you want to delete this people?<br />';
        default:
        break;
    }
    echo '<a href="'.$_SERVER['REQUEST_URI'].'&do=1">Yes</a> or <a href="admin.php">no</a>';
}
else
{
    switch($_GET['type'])
    {
        case 'people':
            $query = ' update people set movie_leadactor = 0 where movie_leadactor = '.$_GET['id'];
            $result = mysql_query($query , $db) or die(mysql_error($db));
            $query = ' delete from people where people_id='.$_GET['id'];
            $result = mysql_query($query , $db) or die(mysql_error($db));
                    
?>
<p style="text-align:'center'">Your person has been deleted</p>
<a href="admin.php">Return to Index</a>
<?php 
        break;
        case 'movie':
            $query = 'delete from movie where movie_id='.$_GET['id'];
            $result = mysql_query($query , $db) or die (mysql_error($db));
?>
<p style="text-align:'center'">Your movie has been deleted</p>
<a href="admin.php">Return to Index</a>
<?php
        break;
        default:
        break;
    }
}
?>

注意这里的switc语句,在删除movie或people之后我们要输出成功信息并返回列表页面,一般情况下我们习惯把break语句紧跟在switch下面的主体部分,于是开始的时候我写成这样了

else
{
    switch($_GET['type'])
    {
        case 'people':
            $query = ' update people set movie_leadactor = 0 where movie_leadactor = '.$_GET['id'];
            $result = mysql_query($query , $db) or die(mysql_error($db));
            $query = ' delete from people where people_id='.$_GET['id'];
            $result = mysql_query($query , $db) or die(mysql_error($db));
        break;            
                    
?>
<p style="text-align:'center'">Your person has been deleted</p>
<a href="admin.php">Return to Index</a>

把break放在了case下面的语句下面,这样会导致不能输出删除成功信息,

<p style="text-align:'center'">Your pers
<a href="admin.php">Return to Index</a>

这两句是可以当成case语句的一部分的,如果把它放在外面将永远也不会执行,所以要break要放在下一个case的开头,将上面两行html片段放在case语句中,这样就可以正常显示删除成功的信息了。

php面条语句的特性在这里表现的淋漓尽致。

posted @ 2014-05-05 22:43  nd  阅读(528)  评论(0编辑  收藏  举报