有人可以帮助我了解此PHP获取SQL语句吗?

时间:2019-05-23 20:15:26

标签: php sql-server

因此,我对PHP还是很陌生,如果这是一个愚蠢的问题,我会提前表示歉意,但是请继续。该代码段有效,但是我不知道实际发生了什么,这使得很难在其他区域中重新创建具有稍微不同值的代码。有人可以帮我一下吗?具体在两个echo语句中。预先感谢您的任何建议!

<select name="supervisor">
    <option value="<?php echo $_SESSION['supervisor']; ?>"><?php echo $_SESSION['supervisor']; ?> 
    </option>
<?php
$sup = mssql_query("USE ERP_VIEW SELECT * FROM quality_users WHERE 
ncr_user = 1 and shop_supervisor = 1") or die();
while($row = mssql_fetch_array($sup)){
    echo '<option value="'.$row['username'].' " ';
    echo '>'.$row['username'].'</option>';
}?>
</select>

2 个答案:

答案 0 :(得分:0)

这是一个非常基本的问题,但是您基本上是将查询的结果获取到数据库中并循环遍历以形成下拉列表(select)的条目。

由MySql查询返回的对象存储在$row变量中,并且对于查询结果的每次迭代,您都添加一个option条目,这意味着下拉列表中的另一个项目。

在PHP中,为了在HTML代码的中间显示内容,您需要echo变量,这就是您所看到的。简单地声明变量是行不通的。

答案 1 :(得分:0)

您的查询从USE ERP_VIEW开始,您告诉mysql您将使用ERP_VIEW数据库,然后您的查询说给我表quality_user的所有字段,其中字段ncr_user = 1 and shop_supervisor = 1

这就是您要查询的内容,并且or die()函数意味着,如果mysql无法找到数据库或出现问题,则不要执行任何操作并关闭连接。

while($row = mssql_fetch_array($sup)){ echo '<option value="'.$row['username'].' " '; echo '>'.$row['username'].'</option>'; }

这些行将把您从表中带来的数据打印到选择选项中,例如,如果在查询结果中仅从表中得到两个人,那么您的选择中将只有两个选项< / p>