在PHP中显示数据库中的一列
在PHP中仅显示数据库中的一列或两列 我在PHPMyAdmin中有一个MySQL数据库。有一个表,在该表中,有多个列,如薪资、薪资预付款等。我想在用户选择薪资时显示它仅显示薪资列,即薪资列中的所有数据。这是我的密码。但它不起作用。请帮忙在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
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>";
}
?>