我需要给出一个不同的结果:
- 你可以吃三明治
- 你可以吃三明治,但不能吃甜甜圈。
- 你可以吃甜甜圈和喝酒。
必须是随机选取的
问题就是结果。
首先,我必须创建一个mysql数据库布尔表,包含
+-------------------------------------+
| ids|name | sandwich | donuts| drink|
| 1 | josh| 1 | 1 | 1 |
| 2 | john| 0 | 1 | 0 |
| 3 | mike| 1 | 0 | 0 |
| 4 | mic | 0 | 1 | 1 |
+=====================================+
我在php中写了一些代码,但似乎第一个目标是好的,但第二个我有一个问题。问题是第二个。有人不能一边吃三明治一边吃甜甜圈。我从第二个得到的结果是,它显示的是吃甜甜圈的人的列表,而不是我想要的。
代码有问题吗?…
这是我所做的php代码。
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test1"; // Database name
$tbl_name="skill"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT ids, name FROM skill WHERE sandwich='1' ORDER BY rand() LIMIT 3";
$result=mysql_query($sql);
?>
eat sandwich is
<?
while($rows=mysql_fetch_assoc($result)){
echo $rows['name']."<br>";}?>
<br>
eat donut
<?
$sql1="SELECT ids, name FROM skill WHERE donuts='1' ORDER BY rand() LIMIT 3";
$result1=mysql_query($sql1);
?>
<?
while($rows1=mysql_fetch_assoc($result1)){
if ($result <> $result1)
{echo $rows1['name'];}
else
{echo nono;}
}?>
我不知道你用while
循环做什么。将限制表示为WHERE
子句,即使它非常冗长,如:
SELECT ... FROM users
WHERE (sandwich='1' AND donuts!='1')
OR (sandwich='0')
ORDER BY RAND()
对于选择的行,任何其他限制都可以在这里分层。
需要注意的是,除非绝对必要,否则不要在新代码中使用mysql_query
。它已经从PHP中删除了,因为它已经过时了,如果使用不当的话,它是不安全的。