【问题标题】:How to show data in form to update new data to DB?如何以表格形式显示数据以将新数据更新到数据库?
【发布时间】:2014-02-12 17:54:10
【问题描述】:

我正在尝试通过页面上的表单更新数据库中的数据,直到查看每个数据为止。但是当我转到 update.php 时出现错误。它在表单输入而不是值中显示 PHP 代码。

在我用新数据替换表单输入框中的 PHP 代码后,数据已成功更新。我只是在查看表单上的数据时遇到问题。

这是我的update.php

<?php
//Start session
session_start();

//Check whether the session variable SESS_MEMBER_ID is present or not
if(!isset($_SESSION['username']) || (trim($_SESSION['password']) == '')) {
    header("location: login.php");
    exit();
}
?>
<html>
<head>
<title>EXA_mySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body,td,th {
    font-family: Tahoma, Geneva, sans-serif;
}
</style>
</head>

<body>
<script type="text/javascript">function checkinput() { 
    var id_mesin = document.getElementById('id_mesin').value;  
    if(!id_mesin.match(/\S/)) {
        alert ('Please enter Machine ID');
        return false;
    } else {
        return true;
    }
}
</script>
<?php
$con=mysqli_connect("localhost","username","password","db_name");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$id_mesin = $_POST['id_mesin'];
$result = mysqli_query($con,"SELECT * FROM asset WHERE id_mesin ='$id_mesin'");
$rows = mysql_fetch_array($result);
?>
<table width="733" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form_insert" method="post" action="update_ac.php" onSubmit="return checkinput(this)">
<table width="100%" height="398" border="0" cellpadding="3" cellspacing="1">
<tr>
<td colspan="9" align="center"><strong>Update Data Into EXA_mySQL Database </strong></td>
</tr>
<tr>
<td width="106">MACHINE ID</td>
<td width="6">:</td>
<td colspan="3"><input name="id_mesin" type="text" id="id_mesin" value="<? echo $rows['$id_mesin']; ?>"></td>
<td colspan="2">BRAND</td>
<td width="9">:</td>
<td width="164"><select name="jenama">
  <option value=" " selected>Please select :</option>
  <option value="SHARP">SHARP</option>
  <option value="TOSHIBA">TOSHIBA</option>
  <option value="CANON">CANON</option>
  <option value="SAMSUNG">SAMSUNG</option>
  <option value="MEXTEC">MEXTEC</option>
</select></td>
</tr>
<tr>
<td>MODEL</td>
<td>:</td>
<td colspan="3"><input name="model" type="text" id="model" value="<? echo $rows['model']; ?>"></td>
<td colspan="2">METER START</td>
<td>:</td>
<td><input name="meter_awal" type="text" id="meter_awal" value="<? echo $rows['meter_awal']; ?>"></td>
</tr>
<tr>
<td>SERIAL NO</td>
<td>:</td>
<td colspan="3">MACHINE</td>
<td colspan="2">FEEDER</td>
<td>&nbsp;</td>
<td>FINISHER</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
  <td colspan="3"><input name="siri_mesin" type="text" id="siri_mesin" value="<? echo $rows['siri_mesin']; ?>"></td>
  <td colspan="3"><input name="siri_feeder" type="text" id="siri_feeder" value="<? echo $rows['siri_feeder']; ?>"></td>
  <td><input name="siri_finisher" type="text" id="siri_finisher" value="<? echo $rows['siri_finisher']; ?>"></td>
</tr>
<tr>
<td>STOCK IN</td>
<td>:</td>
<td width="58">DATE</td>
<td width="8">:</td>
<td width="220"><input type="text" name="stok_in" id="stok_in" value="<? echo $rows['stok_in']; ?>"></td>
<td colspan="2">D.O NO </td>
<td>:</td>
<td><input type="text" name="in_do" id="in_do" value="<? echo $rows['in_do']; ?>"></td>
</tr>
<tr>
<td>LOCATION</td>
<td>:</td>
<td colspan="3"><select name="lokasi">
  <option value="Location not set" selected>Please select :</option>
  <option value="HQ WAREHOUSE">HQ WAREHOUSE</option>
  <option value="CHENDERING WAREHOUSE">CHENDERING WAREHOUSE</option>
</select></td>
<td colspan="2">J.S.O</td>
<td>:</td>
<td><input type="text" name="js_order" id="js_order" value="<? echo $rows['js_order']; ?>"></td>
</tr>
<tr>
<td>STOCK OUT</td>
<td>:</td>
<td>DATE</td>
<td>:</td>
<td><input type="text" name="stok_out" id="stok_out" value="<? echo $rows['stok_out']; ?>"></td>
<td colspan="2">D.O NO </td>
<td>:</td>
<td><input type="text" name="out_do" id="out_do" value="<? echo $rows['out_do']; ?>"></td>
</tr>
<tr>
<td>CUSTOMER</td>
<td>:</td>
<td colspan="7"><input name="pelangan" type="text" id="pelangan" size="90" value="<? echo $rows['pelangan']; ?>"></td>
</tr>
<tr>
  <td>ADDRESS</td>
  <td>:</td>
  <td colspan="7"><textarea name="pelangan_alamat" cols="69" id="pelangan_alamat" value="<? echo $rows['pelangan_alamat']; ?>"></textarea></td>
  </tr>
<tr>
  <td>CONTACT PERSON</td>
<td>:</td>
<td colspan="4"><input name="pelangan_person" type="text" id="pelangan_person" size="50" value="<? echo $rows['pelangan_person']; ?>"></td>
<td width="109">NO TEL/HP</td>
<td>:</td>
<td><input type="text" name="pelangan_no" id="pelangan_no" value="<? echo $rows['pelangan_no']; ?>"></td>
</tr>
<tr>
  <td>TECHNICIAN INCHARGE</td>
  <td>:</td>
  <td colspan="4"><input name="tech" type="text" id="tech" size="50" value="<? echo $rows['tech']; ?>"></td>
  <td>NO TEL/HP</td>
  <td>:</td>
  <td><input type="text" name="tech_no" id="tech_no" value="<? echo $rows['tech_no']; ?>"></td>
</tr>
<tr>
  <td>STATUS</td>
  <td>:</td>
  <td colspan="3"><select name="status">
    <option value="Status not set" selected>Please select :</option>
    <option value="ORDER PURCHASE">ORDER PURCHASE</option>
    <option value="RENTAL">RENTAL</option>
    <option value="HIRE PURCHASE">HIRE PURCHASE</option>
  </select></td>
  <td colspan="3">&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td colspan="3">&nbsp;</td>
<td colspan="3" align="left"><input type="submit" name="Submit" value="Save"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php
mysqli_close($con);
?>
</body>
</html>

我正在尝试其他一些代码

value="<? echo $rows['pelangan_person']; ?>"

但它们仍然无法正常工作。我找不到正确的代码来显示“价值”,而不是代码。谁能帮帮我?

编辑

这是我的 data_view 页面,带有更新数据的按钮。

<?php
//Start session
session_start();

//Check whether the session variable SESS_MEMBER_ID is present or not
if(!isset($_SESSION['username']) || (trim($_SESSION['password']) == '')) {
    header("location: login.php");
    exit();
}
?>
<html>
<head>
<title>EXA_mySQL</title>
</head>
<body>

<?php
$con=mysqli_connect("","","","");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$id_mesin = $_POST['id_mesin'];
$result = mysqli_query($con,"SELECT * FROM asset WHERE id_mesin ='$id_mesin'");

echo "<table border='1'>
<tr>
<th>No Tag</th>
<th>Jenama</th>
<th>Model</th>
<th>No Siri</th>
<th>Status</th>
<th>Pemilik</th>
<th>Lokasi</th>
<th>Rekod</th>
<th>Update</th>

</tr>";


while($row = mysqli_fetch_array($result))
  {


"<tr>";
echo "<td>" . $row['id_mesin'] . "</td>";
echo "<td>" . $row['jenama'] . "</td>";
echo "<td>" . $row['model'] . "</td>";
echo "<td>" . $row['siri_mesin'] . "</td>";
echo "<td>" . $row['status'] . "</td>";
echo "<td>" . $row['pemilik'] . "</td>";
echo "<td>" . $row['lokasi'] . "</td>";
echo "<td>" . $row['rekod'] . "</td>";
//echo "<td><a href='update.php?id=" . $row['id_mesin'] . "'>update</a></td>";
echo "<form method='post'>";
echo "<td> <input type='hidden' value='" . $row["id_mesin"] . "' name='id_mesin'>";
echo "<input type='submit' onclick='myPopup2()' value='Update'></td>";
echo "</form>";
echo "</tr>";

  }
echo "<a href='exa_mysql.php'>Back to EXA_mySQL</a>";
?>
<script type="text/javascript">

function myPopup2() {
window.open( "http://localhost/update.php", "myWindow", 
"status = 1,location=no,toolbar=no, resizable=no, height = 600, width = 900" )
}

</script>
<?php
mysqli_close($con);
?>

</body>
</html>

可能是因为 data_view 页面没有向 update.php 发送任何值吗?

这是我的表数据结构:

 CREATE TABLE `asset` (
 `id_mesin` varchar(15) NOT NULL,
 `jenama` text NOT NULL,
 `model` varchar(15) NOT NULL,
 `siri_mesin` varchar(15) NOT NULL,
 `siri_feeder` varchar(15) NOT NULL,
 `siri_finisher` varchar(15) NOT NULL,
 `meter_awal` int(15) NOT NULL,
 `lokasi` text NOT NULL,
 `status` text NOT NULL,
 `stok_in` date NOT NULL,
 `stok_out` date NOT NULL,
 `in_do` varchar(15) NOT NULL,
 `out_do` varchar(15) NOT NULL,
 `pelangan` varchar(150) NOT NULL,
 `pelangan_alamat` varchar(5000) NOT NULL,
 `pelangan_person` text NOT NULL,
 `pelangan_no` int(15) NOT NULL,
 `js_order` varchar(15) NOT NULL,
 `tech` text NOT NULL,
 `tech_no` int(15) NOT NULL,
 PRIMARY KEY (`id_mesin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

【问题讨论】:

  • 试试这个:&lt;?php IF (!empty($rows['$id_mesin'])) { echo $rows['pelangan_person']}; ?&gt;
  • 您是否尝试过使用正确的 标签?
  • @Mr.Radical,在dreamviewer 中使用&lt;?php IF (!empty($rows['$id_mesin'])) { echo $rows['pelangan_person']}; ?&gt; 显示语法错误。并感谢@Alison R. 修复了我的语法。 :)
  • 我的错误:&lt;?php IF (!empty($rows['pelangan_person'])) { echo $rows['pelangan_person']};
  • @newbie 你看过我下面的回答了吗?

标签: php mysql sql


【解决方案1】:

试试这个:

<?php
//Start session
session_start();

//Check whether the session variable SESS_MEMBER_ID is present or not
if (!isset($_SESSION['username']) || (trim($_SESSION['password']) == '')) {
    header("location: login.php");
    exit();
}
?>
<html>
    <head>
        <title>EXA_mySQL</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <style type="text/css">
            body,td,th {
                font-family: Tahoma, Geneva, sans-serif;
            }
        </style>
    </head>

    <body>
        <script type="text/javascript">function checkinput() {
                var id_mesin = document.getElementById('id_mesin').value;
                if (!id_mesin.match(/\S/)) {
                    alert('Please enter Machine ID');
                    return false;
                } else {
                    return true;
                }
            }
        </script>
<?php
$con = mysqli_connect("", "", "", "");
// Check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$id_mesin = isset($_POST['id_mesin']);
$query = "SELECT * FROM asset WHERE id_mesin ='" . $id_mesin . "'";
$result = mysqli_query($con, $query) or die(mysqli_error($con));
$rows = mysqli_fetch_assoc($result);
?>
        <table width="733" border="0" align="center" cellpadding="0" cellspacing="1">
            <tr>
                <td><form name="form_insert" method="post" action="update_ac.php" onSubmit="return checkinput(this);">
                        <table width="100%" height="398" border="0" cellpadding="3" cellspacing="1">
                            <tr>
                                <td colspan="9" align="center"><strong>Update Data Into EXA_mySQL Database </strong></td>
                            </tr>
                            <tr>
                                <td width="106">MACHINE ID</td>
                                <td width="6">:</td>
                                <td colspan="3"><input name="id_mesin" type="text" id="id_mesin" value="<?php
        IF (!empty($id_mesin)) {
            echo $id_mesin;
        };
?>"></td>
                                <td colspan="2">BRAND</td>
                                <td width="9">:</td>
                                <td width="164"><select name="jenama">
                                        <option value="SHARP" <?php IF ($rows['jenama'] === "SHARP") echo 'selected=selected'; ?> >SHARP</option>
                                        <option value="TOSHIBA" <?php IF ($rows['jenama'] === "TOSHIBA") echo 'selected=selected'; ?> >TOSHIBA</option>
                                        <option value="CANON" <?php IF ($rows['jenama'] === "CANON") echo 'selected=selected'; ?> >CANON</option>
                                        <option value="SAMSUNG" <?php IF ($rows['jenama'] === "SAMSUNG") echo 'selected=selected'; ?> >SAMSUNG</option>
                                        <option value="MEXTEC" <?php IF ($rows['jenama'] === "MEXTEX") echo 'selected=selected'; ?>>MEXTEC</option>
                                    </select></td>
                            </tr>
                            <tr>
                                <td>MODEL</td>
                                <td>:</td>
                                <td colspan="3"><input name="model" type="text" id="model" value="<?php
                                    IF (!empty($rows['model'])) {
                                        echo $rows['model'];
                                    };
                                    ?>"></td>
                                <td colspan="2">METER START</td>
                                <td>:</td>
                                <td><input name="meter_awal" type="text" id="meter_awal" value="<?php
                                    IF (!empty($rows['meter_awal'])) {
                                        echo $rows['meter_awal'];
                                    };
                                    ?>"></td>
                            </tr>
                            <tr>
                                <td>SERIAL NO</td>
                                <td>:</td>
                                <td colspan="3">MACHINE</td>
                                <td colspan="2">FEEDER</td>
                                <td>&nbsp;</td>
                                <td>FINISHER</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td colspan="3"><input name="siri_mesin" type="text" id="siri_mesin" value="<?php
                                                       IF (!empty($rows['siri_mesin'])) {
                                                           echo $rows['siri_mesin'];
                                                       };
                                                       ?>"></td>
                                <td colspan="3"><input name="siri_feeder" type="text" id="siri_feeder" value="<?php
                                    IF (!empty($rows['siri_feeder'])) {
                                        echo $rows['siri_feeder'];
                                    };
                                                       ?>"></td>
                                <td><input name="siri_finisher" type="text" id="siri_finisher" value="<?php
                                    IF (!empty($rows['siri_finisher'])) {
                                        echo $rows['siri_finisher'];
                                    };
                                                       ?>"></td>
                            </tr>
                            <tr>
                                <td>STOCK IN</td>
                                <td>:</td>
                                <td width="58">DATE</td>
                                <td width="8">:</td>
                                <td width="220"><input type="text" name="stok_in" id="stok_in" value="<?php
                                                       IF (!empty($rows['stok_in'])) {
                                                           echo $rows['stok_in'];
                                                       };
                                                       ?>"></td>
                                <td colspan="2">D.O NO </td>
                                <td>:</td>
                                <td><input type="text" name="in_do" id="in_do" value="<?php
                                                       IF (!empty($rows['in_do'])) {
                                                           echo $rows['in_do'];
                                                       };
                                                       ?>"></td>
                            </tr>
                            <tr>
                                <td>LOCATION</td>
                                <td>:</td>
                                <td colspan="3"><select name="lokasi">
                                        <option value="HQ WAREHOUSE" <?php IF ($rows['lokasi'] === "HQ WAREHOUSE") echo 'selected=selected'; ?> >HQ WAREHOUSE</option>
                                        <option value="CHENDERING WAREHOUSE" <?php IF ($rows['lokasi'] === "CHENDERING WAREHOUSE") echo 'selected=selected'; ?> >CHENDERING WAREHOUSE</option>
                                    </select></td>
                                <td colspan="2">J.S.O</td>
                                <td>:</td>
                                <td><input type="text" name="js_order" id="js_order" value="<?php
                                    IF (!empty($rows['js_order'])) {
                                        echo $rows['js_order'];
                                    };
                                    ?>"></td>
                            </tr>
                            <tr>
                                <td>STOCK OUT</td>
                                <td>:</td>
                                <td>DATE</td>
                                <td>:</td>
                                <td><input type="text" name="stok_out" id="stok_out" value="<?php
                                    IF (!empty($rows['stok_out'])) {
                                        echo $rows['stok_out'];
                                    };
                                    ?>"></td>
                                <td colspan="2">D.O NO </td>
                                <td>:</td>
                                <td><input type="text" name="out_do" id="out_do" value="<?php
                                    IF (!empty($rows['out_do'])) {
                                        echo $rows['out_do'];
                                    };
                                    ?>"></td>
                            </tr>
                            <tr>
                                <td>CUSTOMER</td>
                                <td>:</td>
                                <td colspan="7"><input name="pelangan" type="text" id="pelangan" size="90" value="<?php
                                                       IF (!empty($rows['pelangan'])) {
                                                           echo $rows['pelangan'];
                                                       };
                                    ?>"></td>
                            </tr>
                            <tr>
                                <td>ADDRESS</td>
                                <td>:</td>
                            <div> <td colspan="7"><textarea name="pelangan_alamat" cols="69" id="pelangan_alamat" ><?php IF (!empty($rows['pelangan_alamat'])) {echo $rows['pelangan_alamat'];}; ?></textarea></div></td>
                            </tr>
                            <tr>
                                <td>CONTACT PERSON</td>
                                <td>:</td>
                                <td colspan="4"><input name="pelangan_person" type="text" id="pelangan_person" size="50" value="<?php
                                                       IF (!empty($rows['pelangan_person'])) {
                                                           echo $rows['pelangan_person'];
                                                       };
                                    ?>"></td>
                                <td width="109">NO TEL/HP</td>
                                <td>:</td>
                                <td><input type="text" name="pelangan_no" id="pelangan_no" value="<?php
                                                       IF (!empty($rows['pelangan_no'])) {
                                                           echo $rows['pelangan_no'];
                                                       };
                                    ?>"></td>
                            </tr>
                            <tr>
                                <td>TECHNICIAN INCHARGE</td>
                                <td>:</td>
                                <td colspan="4"><input name="tech" type="text" id="tech" size="50" value="<?php
                                                       IF (!empty($rows['stok_out'])) {
                                                           echo $rows['tech'];
                                                       };
                                    ?>"></td>
                                <td>NO TEL/HP</td>
                                <td>:</td>
                                <td><input type="text" name="tech_no" id="tech_no" value="<?php
                                                       IF (!empty($rows['tech_no'])) {
                                                           echo $rows['tech_no'];
                                                       };
                                    ?>"></td>
                            </tr>
                            <tr>
                                <td>STATUS</td>
                                <td>:</td>
                                <td colspan="3"><select name="status">
                                        <option value="ORDER PURCHASE" <?php IF ($rows['status'] === "ORDER PURCHASE") echo 'selected=selected'; ?> >ORDER PURCHASE</option>
                                        <option value="RENTAL" <?php IF ($rows['status'] === "RENTAL") echo 'selected=selected'; ?> >RENTAL</option>
                                        <option value="HIRE PURCHASE" <?php IF ($rows['status'] === "HIRE PURCHASE") echo 'selected=selected'; ?>>HIRE PURCHASE</option>
                                    </select></td>
                                <td colspan="3">&nbsp;</td>
                                <td>&nbsp;</td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                                <td>&nbsp;</td>
                                <td colspan="3">&nbsp;</td>
                                <td colspan="3" align="left"><input type="submit" name="Submit" value="Save"></td>
                            </tr>
                            <tr>
                                <td>&nbsp;</td>
                            </tr>
                        </table>
                    </form>
                </td>
            </tr>
        </table>
<?php
mysqli_close($con);
?>
    </body>
</html>

测试前填写用户名、密码等

【讨论】:

  • 我注意到您在查询 WHERE id_mesin = '".$id_mesin."'"value="&lt;?php IF(!empty($id_mesin)) {echo $id_mesin;} ; ?&gt;" 中对我的代码进行了一些更改,但它只显示空白。
  • 我试试这个代码value="&lt;?php IF(!empty($id_mesin)) {echo $id_mesin;} ; ?&gt;"value="&lt;?php IF(!empty($rows['model'])) {echo $rows['model'];}; ?&gt;"都只显示空白表格。
  • @newbie 试试上面的代码,让我知道你收到什么错误信息。将 $id_mesin = $_POST['id_mesin']; 更改为 $id_mesin = 1; 或您知道将在数据库中的另一个值。
  • 顺便说一句,为什么不在会话中保存$id_mesin?也就是说,如果$id_mesin 在会话期间保持不变。
  • 当我使用你的代码$id_mesin = isset($_POST['id_mesin']);。只有 MACHINE ID 显示值 = 1。与代码 $id_mesin = 1; 相同的输出。
【解决方案2】:

您必须使用 &lt;?php 而不是仅使用 &lt;? 打开 php 代码 请试试这个:

value="<?php echo $rows['pelangan_person']; ?>"

【讨论】:

  • @newbie 代码是正确的,如果它没有像您发布的图像那样在输入中向您显示该代码。那么你试图显示的值是空的
  • 有时短标签未启用。请参阅phpinfo() 进行检查。
  • @cipherux ;Il existe des notations raccourcies : et ?>, voire la notation ASP , mais celles-ci sont déconseillées, car elles peuvent être désactivées dans la configuration du server (php.ini ou .htaccess) : la portabilité du code est ainsi réduite。 fr.wikipedia.org/wiki/PHP
  • @lmadOS,来自您的评论。我可以看到您是说我的更新表单没有从数据库中获取任何值来显示,或者我的上一页没有发布任何值来更新表单。这是我从上一页提交的代码echo "&lt;form method='post'&gt;"; echo "&lt;td&gt; &lt;input type='hidden' value='" . $row['id_mesin'] . "' name='id_mesin'&gt;"; echo "&lt;input type='submit' onclick='myPopup2()' value='Update'&gt;&lt;/td&gt;"; echo "&lt;/form&gt;"; 这会导致错误吗?
  • 包含一个 if 语句来检查你的变量是否为空。
猜你喜欢
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-12
  • 1970-01-01
  • 2012-05-02
  • 2019-05-29
相关资源
最近更新 更多