从数据库中获取数据并显示在下拉列表中

时间:2015-09-30 08:42:04

标签: php html

我正在尝试从我的数据库中获取数据并将其显示在我的下拉列表中 但我不能得到结果我在这里尝试其他帖子但不能理解

任何人都可以帮助我,这是我的项目

<?php

    $connection =mysql_connect('localhost', 'root', '','mjj_app');

    $sql="SELECT food FROM menu";
    $lists=mysql_query($sql);

    echo"<select name='fname' id='mySelect' value='Foodname'>"

    while($food = mysql_fetch_array($lists)) {
       echo '<option value='.$food['food'].'>'.$food['food'].'</option>'; 
    }
    echo '</select>';
?>

2 个答案:

答案 0 :(得分:2)

如果您实际使用的是mysql_数据库扩展,则还需要使用mysql_select_db()

选择数据库

您还需要检查mysql_扩展程序的每次调用是否都没有返回任何错误。

<?php

    $connection =mysql_connect('localhost', 'root', '','mjj_app');
    if ( ! $connection ) {
        echo 'Could not connect: ' . mysql_error();
        exit;
    }
    if ( ! mysql_select_db('DATABASE_NAME') ) {
        echo 'Cant select database : ' . mysql_error();
        exit;
    }

    $sql="SELECT food FROM menu";
    $lists=mysql_query($sql);
    if ( ! $lists ) {
        echo 'Query failed: ' . mysql_error();
        exit;
    }

    echo"<select name='fname' id='mySelect' value='Foodname'>"

    while($food = mysql_fetch_array($lists)) {
       echo '<option value='.$food['food'].'>'.$food['food'].'</option>'; 
    }
    echo '</select>';
?>
  

由于您显然还在学习,请花时间学习mysqli_PDO数据库扩展。 mysql_扩展已被弃用多年,并且很快就会在PHP7中完全失败,这将使您的代码过时。见this post its a good read and will help you decide which suits you.

答案 1 :(得分:1)

您使用mysql_select_db

错过了数据库选择步骤

同样优良的做法是捕获从查询返回的可能错误或零个数量的记录。请参阅下面的代码。

$connection = mysql_connect('localhost', 'root', '');
    if(!$connection) 
    {
        echo 'Could not connect to server because : '.mysql_error();
        exit;
    }

    if(!mysql_select_db('database_name')) 
    {
        echo 'Could not select database because : '.mysql_error();
        exit;
    }

    $sql = "SELECT food FROM menu";
    $lists = mysql_query($sql);

    if($lists)
    {
        if(mysql_num_rows($lists) > 0)
        {
            echo "<select name='fname' id='mySelect' value='Foodname'>";
            while($food = mysql_fetch_array($lists)) 
            {
                echo '<option value='.$food['food'].'>'.$food['food'].'</option>'; 
            }
            echo '</select>';
        }
        else
        {
            echo "No records found.";
        }
    }
    else
    {
        echo "Error while fetching records : ".mysql_error();
    }