如何在输入值中显示SQL列数据

时间:2014-02-11 18:22:39

标签: php sql

到目前为止,我有代码

if (isset($_GET["job_pos_sort"])) {
     $sn = (int)($_GET["job_pos_sort"]);

$job_posname = "SELECT job_pos FROM careers WHERE job_pos_sort = $sn";

<td><input name="job_pos_sort" type="text" id="job_pos_sort" value="<?php echo $sn;?>"></td>

<td><input name="job_pos" type="text" id="job_pos" value="<?php echo $job_posname;?>"></td>

并且代码正确显示job_pos_sort输入值。我试图在第二个输入中正确显示job_pos值。第二个输入值在我的网页上显示为空白。

我的网页网址如下所示:mywebpage.ca/phptester/updatecareers.php?job_pos_sort=4

以下是我的全部代码:

<?php
$dbhost = 'ddsehdscom';
$dbuser = 'kedsagbm';
$dbpass = 'Kisazer';
$dbname = 'kedsgbm';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if(! $conn )
{
  die('Could not connect: ' . mysqli_error());
}
?>
<html>
<head>
<title>Update a Record in MySQL Database</title>
</head>
<body>

<?php
if (isset($_GET["job_pos_sort"])) {
    $sn = (int)($_GET["job_pos_sort"]);
if(isset($_POST['update']))
{
$job_pos_sort = $_POST['job_pos_sort'];
$job_pos = $_POST['job_pos'];

$sql = "UPDATE careers ".
       "SET job_pos = '$job_pos' ".
       "WHERE job_pos_sort = $job_pos_sort" ;

$retval = mysqli_query($conn, $sql);
if(! $retval )
{
  die('Could not update data: ' . mysqli_error());
}
echo "Updated data successfully\n";
echo "Click <a href='displaydb.php'>here</a> to return to the table";

}
else
{
$job_posname = "SELECT job_pos FROM careers WHERE job_pos_sort = $sn";
$query=mysqli_query($conn, $job_posname);
$array=mysqli_fetch_assoc($query);
$job_posname=stripslashes($array['job_pos']);
?>
<form method="post" action="">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Employee ID</td>
<td><input name="job_pos_sort" type="text" id="job_pos_sort" value="<?php echo $sn;?>"></td>
</tr>
<tr>
<td width="100">Employee Salary</td>
<td><input name="job_pos" type="text" id="job_pos" value="<?php echo $job_posname;?>"></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="update" type="submit" id="update" value="Update">
</td>
</tr>
</table>
</form>
<?php
}
}
else {
        echo ("No employee id given.");
}
?>
</body>
</html>

感谢您的帮助。

凯尔

4 个答案:

答案 0 :(得分:0)

<?php
$dbhost = 'dscom';
$dbuser = 'kesgbm';
$dbpass = 'Ksr';
$dbname = 'kam';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if(! $conn )
{
  die('Could not connect: ' . mysqli_error());
}
?>
<html>
<head>
<title>Update a Record in MySQL Database</title>
</head>
<body>

<?php
if (isset($_GET["job_pos_sort"])) {
    $sn = (int)($_GET["job_pos_sort"]);
if(isset($_POST['update']))
{
$job_pos_sort = mysqli_real_escape_string($conn, $_POST['job_pos_sort']);
$job_pos = mysqli_real_escape_string($conn, $_POST['job_pos']);

$sql = "UPDATE careers ".
       "SET job_pos = '$job_pos' ".
       "WHERE job_pos_sort = $job_pos_sort" ;

$retval = mysqli_query($conn, $sql);
if(! $retval )
{
  die('Could not update data: ' . mysqli_error());
}
echo "Updated data successfully\n";
echo "Click <a href='displaydb.php'>here</a> to return to the table";

}
else
{
    $job_posname = "SELECT job_pos FROM careers WHERE job_pos_sort = $sn";
    $query=mysqli_query($conn, $job_posname);
    $array=mysqli_fetch_assoc($query);
    $job_posname=stripslashes($array['job_pos']);
    ?>
<form method="post" action="">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Employee ID</td>
<td><input name="job_pos_sort" type="text" id="job_pos_sort" value="<?php echo $sn;?>"></td>
</tr>
<tr>
<td width="100">Employee Salary</td>
<td><input name="job_pos" type="text" id="job_pos" value="<?php echo $job_posname;?>"></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="update" type="submit" id="update" value="Update">
</td>
</tr>
</table>
</form>
<?php
}
}
else {
        echo ("No employee id given.");
}
?>
</body>
</html>

答案 1 :(得分:0)

在查询运行后检查'$ job_posname'是否包含值。我认为您在查询中需要围绕“$ sn”值的引号才能获得结果。

$job_posname = 'SELECT job_pos FROM careers WHERE job_pos_sort = "$sn"';

答案 2 :(得分:0)

首先连接数据库:

<?php    
   $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    $query= "SELECT job_pos FROM careers WHERE job_pos_sort = $sn";
    $job_posname_res = mysql_query($query,$link);
    $job_posname_object =mysql_fetch_object($job_posname_res);
    $job_posname = $job_posname_object->job_pos;
    mysql_close($link);
    ?> 
    <td><input name="job_pos_sort" type="text" id="job_pos_sort" value="<?php echo $sn;?>"></td>

    <td><input name="job_pos" type="text" id="job_pos" value="<?php echo $job_posname;?>"></td>

答案 3 :(得分:0)

有时您的服务器可能不允许在php中使用短标签。你必须打开它。 然而,也可能是你的短标签php中没有定义job_pos_name的事实。 那么你的答案就是在短标签中定义job_pos_name。 如果问题是不允许使用短标记,那么用php回显我们的输入,并使用“。$ variable”将php变量放入值中。