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

在PHP中显示数据库中的一列,php,mysql,Php,Mysql,在PHP中仅显示数据库中的一列或两列 我在PHPMyAdmin中有一个MySQL数据库。有一个表,在该表中,有多个列,如薪资、薪资预付款等。我想在用户选择薪资时显示它仅显示薪资列,即薪资列中的所有数据。这是我的密码。但它不起作用。请帮忙 <?Php error_reporting(0); include "config_1.php"; echo "<form method=post action='viewexpensebagnan.php' > <select

在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>";
}
?>

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

此代码存在许多问题,但您无法从salary键中看到值的原因是,使用此数组符号,您需要将数组访问权包装到花括号中,如下所示:

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

使用Ajax,您可以在下拉列表的更改事件上轻松地执行此操作,您可以将带有drop down值的请求发送到PHP代码,PHP代码将返回所选选项的值

请考虑下面的代码将所有代码放在一个文件中,例如.Engult.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:


ifvalue=='salary'-解释一下你们认为这个地方的价值应该是什么。这里是我从下拉列表中给出的价值。我想,若用户从下拉列表中选择工资,它将显示工资列若用户选择房子,那个么它将显示房子列。代码是什么?这段代码有很多错误-您应该认真阅读一些初学者教程,这些教程教您如何在PHP中处理表单值。首先,您的选择字段没有名称,因此在提交此表单时,它根本不会传输值。这是对的吗;放这条线的地方真奇怪!谢谢你的建议。实际上,在双引号字符串中使用$row[salary]是非常有效的literal@RiggsFolly甚至与工资相呼应;工作,但从技术上讲,它是偶然工作的,因为它将未定义的固定薪资计算为字符串薪资。但是,如果你先这么做,该怎么检查呢:定义“薪水”、“不”;无关紧要!回显结果=$row[xxx];如果不知道如何输出双引号字符串中的数组,则该方法是有效的。试试看!!建议iAsset$\u REQUEST['value']&&&$\u REQUEST['value']=='salary'我将此Ajax代码放在同一个文件中的何处。这只是供您参考,您也可以将代码放入不同的文件中。
<?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>";
}
?>