0

我正在寻找一个 PHP 页面来根据下拉列表中的选择检索数据,然后根据该选择显示结果。除了与数据库的连接外,我什至不知道从哪里开始。我也知道我必须有一个查询语句,就像我在 SQL 中一样,这里有一点:

$sql = "SELECT ForteID, Disposition, appNumber, Finance_Num, Num_Payments, ACH_CC, Notes, Date
FROM   cslogs.dbo.Logs
WHERE  ForteID = 'bs1441'";

bs1441 只是下拉列表中的一个选项的示例。我不确定我会放什么让它从列表中自动放在那里。

我在这里先向您的帮助表示感谢。抱歉,如果没有足够的信息继续下去,但不确定此时甚至需要什么。

编辑:

这是我到目前为止所拥有的:

<form method="get" action="getlog.php"> 

<table width="300" border="0">
<tr>
<td> Forte ID:</td>
<td><select id="ForteID" name="ForteID">                    
                <option value="nc4682">nc4682</option>
                <option value="bs1441">bs1441</option>
                <option value="sp3212">sp3212</option>                 
    </select></td>
</tr>
</table>

<input type="submit" name="getLog" value="Get Log">
</form> 
</head>

<body>
</body>
</html>
<?php
$serverName = 'SRB-Nick_Desktop\SQLEXPRESS';
$connectionInfo = array('Database'=>'cslogs', 'UID'=>'cslogslogin', 'PWD'=>'123456');
$connection = sqlsrv_connect($serverName, $connectionInfo);

$result = sqlsrv_query( $connection, 
                'SELECT ForteID, Disposition, appNumber, Finance_Num, Num_Payments, ACH_CC, Notes, Date
                FROM    Logs
                WHERE   (ForteID = $ForteID)', 
                   array($ForteID));

while($row = sqlsrv_fetch_array($result))
{
echo($row['ForteID'] . ', '.
     $row['Disposition'] . ', '.
     $row['appNumber'] . ', '.
     $row['Finance_Num'] . ', '.
     $row['Num_Payments'] . ', '.
     $row['ACH_CC'] . ', '.
     $row['Notes'] . ', '.
     $row['Date']);
}
sqlsrv_close( $connection);
?>

然后,当我查看页面时,它会引发此错误:

解析错误:语法错误,第 46 行 C:\wamp\www\cslogs\getlog.php 中的意外 T_STRING

第 46 行是这一行:

    echo($row['ForteID'] . ', '.

让我知道这是否有帮助!

4

1 回答 1

2

这里有几个步骤:首先,您需要提交带有选择的表单。我不打算在这里讨论表单提交,而是查看它。

提交表单后,您将需要获取下拉列表的值并将其分配给变量。

$value= $_POST['value'];

注意:这是一个基本示例,所以我没有添加正则表达式或类似的东西。

一旦你有了你的变量 ($value) 你就可以把它放在你的 SQL 中

$sql = mssql_query($dbc,"SELECT ForteID, Disposition, appNumber, Finance_Num, Num_Payments, ACH_CC,    Notes, Date
FROM   cslogs.dbo.Logs
WHERE  ForteID = '$value'") or die("Query Error " . mssql_get_last_message());

所以在这里我们正在处理查询。$dbc 是我选择代表我的数据库连接的变量,“or die”部分会让我知道查询是否有效。

一旦你有一个有效的查询,你就可以将数据拉入一个数组:

while ($row = mssql_fetch_array($sql)) {

然后您需要将查询结果分配给一个变量。

$result1 = $row["RESULT1"];
$result2 = $row["RESULT2"];

大写单词是 sql 表中列的标题。将它们分配给变量后,只要它们在 while 循环内,就可以对它们做任何你想做的事情。

$value= $_POST['value'];

$sql = mssql_query($dbc,"SELECT ForteID, Disposition, appNumber, Finance_Num, Num_Payments, ACH_CC,    Notes, Date
FROM   cslogs.dbo.Logs
WHERE  ForteID = '$value'") or die("Query Error " . mssql_get_last_message());

while ($row = mssql_fetch_array($sql)) {
    $result1 = $row["RESULT1"];
    $result2 = $row["RESULT2"];

    echo $result1;
    echo $result2;
}
于 2012-11-05T20:44:31.640 回答