Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 如何从数据库中访问数据并生成选项值?_Php_Mysql - Fatal编程技术网

Php 如何从数据库中访问数据并生成选项值?

Php 如何从数据库中访问数据并生成选项值?,php,mysql,Php,Mysql,我有这个密码 $result = mysql_query("SELECT name from room"); $data = mysql_fetch_array($result); $firstValue=""; while($data = mysql_fetch_array($result)){ if($firstValue==""){ $firstValue=$data['name']; } if(isset($_POST["occupant"]

我有这个密码

$result = mysql_query("SELECT name from room");
$data = mysql_fetch_array($result); 
$firstValue="";
while($data = mysql_fetch_array($result)){ 
    if($firstValue==""){ 
        $firstValue=$data['name'];
    }
    if(isset($_POST["occupant"])and trim($_POST["choice"])==$data['name']){
        echo '<option selected="selected" value="'.$data['name'].'" >'.$data['name'];
        echo '</option>';
    }else
        {
         echo '<option value="'.$data['name'].'" >'.$data['name'];
         echo '</option>';
         }
    }
$result=mysql\u查询(“从文件室中选择名称”);
$data=mysql\u fetch\u数组($result);
$firstValue=“”;
而($data=mysql\u fetch\u array($result)){
如果($firstValue==“”){
$firstValue=$data['name'];
}
如果(isset($_POST[“occupant”])和trim($_POST[“choice”])==$data[“name”]){
回显“”。$data['name'];
回声';
}否则
{
回显“”。$data['name'];
回声';
}
}
我想在这里显示数据库中的所有数据,但当我在浏览器中打开它时,只显示从第二个数据到最后一个数据的第二个数据。我想知道为什么第一批数据丢失了。 有人知道我的错误吗?

摆脱第一个:

$data = mysql_fetch_array($result); 
它将弹出结果集中的第一条记录

$result = mysql_query("SELECT name from room");
$firstValue="";
while($data = mysql_fetch_array($result)){ 

另外,请注意,您应该切换到mysqli_uuo或PDO扩展,因为从PHP5.5.0开始,mysql_uuo扩展将被弃用。这是一个简单的改变,最好在开始时就做,而不是以后再做。:-)我真的不明白什么是“第二数据”。你是说你想跳过第一张唱片?只需在SQL中过滤掉它。使用LIMIT子句:LIMIT 999,1。或者使用WHERE id>1。如何切换到mysqli@Richard Testani,我不想跳过第一个,我想要的是显示所有数据..我做了很多次,但是第一个数据仍然丢失。。怎么出发?是的。我甚至教过你怎么修。你不明白我回答的哪一部分可能需要为你澄清?我必须删除这段代码吗$data=mysql\u fetch\u数组($result);对这正是你需要做的。