PHP和HTML - 从数据库获取值并在文本框中显示它

时间:2014-08-01 03:01:06

标签: php html

情景:

用户输入参考编号,根据参考编号,我应该显示相当于它的位置。

SQL:

require_once('conn.php');
$refnum = (isset($_POST['refOff'])) ; //Get filename set in form

$query = mysql_query("SELECT * FROM pilot WHERE geo=$refnum");
// display query results
while($row = mysql_fetch_array($query))
    {
    $rname =$row['rname'];
    $pname =$row['pname'];
    $mname =$row['mname'];                           
} 

HTML:

    <tr>
        <td width="283" height="32">Region:</span> </td>
        <td width="407"> <input type="text"value="<?php echo $rname;?>"/></td>
    </tr>
    <tr>
        <td width="283" height="32">Province:</span> </td>
        <td width="407"> <input type="text"value="<?php echo $pname;?>"/></td>
    </tr>
   <tr>
        <td width="283" height="32">City:</span> </td>
        <td width="407"> <input type="text"value="<?php echo $mname;?>"/></td>
    </tr>

问题:

正在显示错误,指出rname,pname和mname未定义。有什么问题?再次感谢

1 个答案:

答案 0 :(得分:0)

首先,我相信你的html中有这种输入元素:

<label for='refOff'>Reference Number: </label>
<input type='text' id='refOff' name='refOff'/> 

代码中的这一行:

$refnum = (isset($_POST['refOff'])) 

只返回一个布尔值(即true或false),并且永远不会返回用户输入的实际值#refffff&#39; html输入元素。这应该使用三元运算符很好地工作:

$refnum = (isset($_POST['refOff']))? $_POST['refOff'] : null;
if($refnum){
$query = mysql_query("SELECT * FROM pilot WHERE geo=$refnum");
// display query results
while($row = mysql_fetch_array($query))
 {
    $rname =$row['rname'];
    $pname =$row['pname'];
    $mname =$row['mname'];                           
 } 
}

古德勒克!