Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何回显if..else语句的一行(数组,SQL)?_Php_Mysql_Arrays - Fatal编程技术网

PHP:如何回显if..else语句的一行(数组,SQL)?

PHP:如何回显if..else语句的一行(数组,SQL)?,php,mysql,arrays,Php,Mysql,Arrays,首先,我为我的蹩脚英语道歉 所以,如果数据库中有信息,并且数据是masa=Pagi和masa=Petang,则输出为第一个“if”。然后,如果数据库中的信息只有masa=Pagi或masa=Petang,则相应地输出为第二个和第三个“if”。然后,如果数据库中没有数据,将显示最后一个else。但现在,我的问题是,数据库中的数据有masa=Pagi和masa=Petang,那么我想要的输出应该是第一个“if”。但是为什么它会显示第一个if和第二个if呢 期望输出(在表中): Pagi|Petan

首先,我为我的蹩脚英语道歉

所以,如果数据库中有信息,并且数据是masa=Pagi和masa=Petang,则输出为第一个“if”。然后,如果数据库中的信息只有masa=Pagi或masa=Petang,则相应地输出为第二个和第三个“if”。然后,如果数据库中没有数据,将显示最后一个else。但现在,我的问题是,数据库中的数据有masa=Pagi和masa=Petang,那么我想要的输出应该是第一个“if”。但是为什么它会显示第一个if和第二个if呢


期望输出(在表中):

Pagi|Petang|Sehari|

Sudah-ditempah | Sudah-ditempah | Sudah-ditempah

电流输出(在表中):

Pagi|Petang|Sehari

Sudah ditempah | Tempah Sekarang |-

Sudah-ditempah | Sudah-ditempah | Sudah-ditempah

代码如下:

if(mysqli_num_rows($result)>0)
    {
        while($row=mysqli_fetch_assoc($result))
        { 
            $datas[]=$row['masa'];
            if(in_array("Pagi",$datas)&&in_array("Petang",$datas))
            {
                echo"
                    <tr>
                    <td>Sudah ditempah </td>
                    <td>Sudah ditempah</td>
                    <td>Sudah ditempah</td>
                    </tr>";
            }
            elseif(in_array("Pagi",$datas))
            {
                    $id=$row['id'];
                    $masa='Pagi';
                    $masa1='Petang';
                    $masa2='Sehari';
                echo"
                    <tr>
                    <td>Sudah ditempah</td>
                    <td><a href = 'formTempahan2.php?id=$id&masa=$masa1&tempat=$nama'> Tempah Sekarang </a></td>
                    <td>-</td>
                    </tr>";
            }
            elseif(in_array("Petang",$datas))
            {
                    $id=$row['id'];
                    $masa='Pagi';
                    $masa1='Petang';
                    $masa2='Sehari';
                    echo"
                    <tr>
                    <td><a href = 'formTempahan2.php?id=$id&masa=$masa&tempat=$nama'>Tempah Sekarang </a> </td>
                    <td>Sudah ditempah</td>
                    <td>-</td>
                    </tr>";
            }


        }

        print_r($datas);
    }
    else
    {
        $id=$row['id'];
                    $masa='Pagi';
                    $masa1='Petang';
                    $masa2='Sehari';
        echo"
        <tr>
        <td><a href = 'formTempahan2.php?id=$id&masa=$masa&tempat=$nama'>Tempah Sekarang </a> </td>
        <td><a href = 'formTempahan2.php?id=$id&masa=$masa1&tempat=$nama'> Tempah Sekarang </a></td>
        <td><a href = 'formTempahan2.php?id=$id&masa=$masa2&tempat=$nama'> Tempah Sekarang </a></td>
        </tr>";
    }
if(mysqli\u num\u行($result)>0)
{
while($row=mysqli\u fetch\u assoc($result))
{ 
$datas[]=$row['masa'];
if(in_数组(“Pagi”,$datas)和in_数组(“Petang”,$datas))
{
回声“
苏达·迪坦帕
苏达·迪坦帕
苏达·迪坦帕
";
}
elseif(在数组中(“Pagi”,$datas))
{
$id=$row['id'];
$masa='Pagi';
$masa1='Petang';
$masa2='Sehari';
回声“
苏达·迪坦帕
-
";
}
elseif(在数组中(“Petang”,$datas))
{
$id=$row['id'];
$masa='Pagi';
$masa1='Petang';
$masa2='Sehari';
回声“
苏达·迪坦帕
-
";
}
}
打印(数据);
}
其他的
{
$id=$row['id'];
$masa='Pagi';
$masa1='Petang';
$masa2='Sehari';
回声“
";
}

注意:
mysqli
的面向对象接口大大减少了冗余,使代码更易于阅读和审核,并且不容易与过时的
mysql\u查询
接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:
$db=new mysqli(…)
$db->prepare(“…”)
过程接口是PHP 4时代的产物,当时引入了
mysqli
API,不应该在新代码中使用。@tadman那么,我必须将所有mysqli都更改为mysql吗?或反之亦然?我指的是长格式的过程风格,它很容易与
mysql\u query
混淆,因为它省略了一个
I
。面向对象的表单要短得多,并且不能以这种方式还原。如果您对
mysqli
没有太多投资,我还建议您看看PDO,因为它与数据库无关,而且在实践中使用起来更加友好。两者都使用MySQL。PDO可以与许多其他程序一起工作。首先,将
if{..}elseif{..}
块移到while循环之外。然后从那里开始修补。哇!谢谢你的帮助@Blue先生。它起作用了!