在PHP中显示数据库中的一列

时间:2019-01-28 09:43:32

标签: php mysql

仅在PHP中显示数据库中的一两列。

我在PHPMyAdmin中有一个MySQL数据库。有一个表,该表中有多个列,例如薪水,薪金预付款等。我想在用户选择薪水时显示,它仅显示薪水列,即薪水列中的所有数据。这是我的代码。但这是行不通的。请帮忙。

<?Php
error_reporting(0);
include "config_1.php";
echo "<form  method=post action='viewexpensebagnan.php' >
    <select name='cn'>
       <option value='None'>choose option </option>
       <option value='salary'> salary </option>
       <option value='sa'> sa </option>
       <option value='house'> house </option>
       <option value='gr'> gr </option>
       <option value='bo'> bo </option>
       <option value='goutam'> goutam </option>
    </select>
    <input type=submit ><br>
</form>";
if(value=='salary')
{
    $query="select salary from expensebagnan";
    $count=$dbo->prepare($query);
    $count->execute();
    $no=$count->rowCount();

    echo "<table class='border' style='text-align:center;' width='100%'  >";
    echo "</td><td>";
    echo "<tr><th>Salary</th></tr>";
    foreach ($dbo->query($query) as $row){           
       echo "<tr><td>$row[salary]</td></tr>";
    }


    echo "</table>";
}
?>

例如:如果我从下拉列表中选择薪水并提交,那么它将仅显示薪水列数据。

2 个答案:

答案 0 :(得分:1)

使用Ajax可以轻松完成下拉列表的更改事件,您可以将带有drop down值的请求发送到PHP代码,PHP代码将为您返回所选选项的值。

例如。请考虑以下代码(将所有代码放在一个文件中,例如index.php)

 <select id='value'>
   <option value='None'>choose option </option>
   <option value='salary'> salary </option>
   <option value='sa'> sa </option>
   <option value='house'> house </option>
   <option value='gr'> gr </option>
   <option value='bo'> bo </option>
   <option value='goutam'> goutam </option>
</select>
<button type=button value="submit" id="submit" > Submit </button>
<div id="showData"></div>

现在使用jquery和ajax将请求发送到PHP的方式为:

<script type="text/javascript">

$(document).ready(function() {
    $("#submit").click(function() {
        $.ajax({
            url : "getValues.php",
            cache: false,
            type: "get",
            data: "value=" + $("#value").val(),
            success: function(data) {
                $("#showData").html(data);
            }
        });
    })
});

</script>

您的PHP代码可能如下所示( getValues.php ):

<?php
if (isset($_REQUEST['value']) && $_REQUEST['value'] == 'salary')
{
    $query = "select salary from expensebagnan";
    $count = $dbo->prepare($query);
    $count->execute();
    $no = $count->rowCount();

    echo "<table class='border' style='text-align:center;' width='100%'  >";
    echo "</td><td>";
    echo "<tr><th>Salary</th></tr>";

    foreach ($dbo->query($query) as $row){           
       echo "<tr><td>" . $row[salary] . "</td></tr>";
    }

    echo "</table>";
}
?>

答案 1 :(得分:0)

这段代码有很多问题,但是为什么看不到salary-key的值的原因是,使用这种数组符号,您需要将数组访问包装到花括号中,如下所示:

echo "<tr><td>{$row['salary']}</td></tr>";