- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,所以我坐在这里摆弄我的一些旧代码。
下面是我运行的循环示例,用于打印产品和当前库存。每当我想手动更改此值时,我都会打开它并输入新的库存值。但我陷入困境,由于某种原因,我无法将其插入数据库中正确的 ProdId。
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $oneLiter )) {
echo '<input type="hidden" name="id" value="'<?php echo $row['ProdId']; ?>'"/>'
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="prod['. $row['ProdId'] .']" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
这是我尝试插入已更改的值时的以下代码。
// check if the form has been submitted. If it has, process the form and save it to the database
if (isset($_POST['submit']))
{
// get form data, making sure it is valid
foreach($_POST['prod'] as $item) {
$stock = mysql_real_escape_string(htmlspecialchars($item));
// check that prodname/color fields are both filled in
if ($stock == '')
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';
//error, display form
renderForm($id, $prodname, $color, $size, $packing, $minstock, $stock, $error);
}
else
{
// save the data to the database
mysql_query("UPDATE produkter_sthlm SET Lagerstatus='$stock' WHERE ProdId='$item'")
or die(mysql_error());
// once saved, redirect back to the view page
header("Location: lagerstatus_stockholm.php");
}
}
}
else
// if the form hasn't been submitted, get the data from the db and display the form
{
// query db
$result = mysql_query("SELECT * FROM produkter_sthlm")
or die(mysql_error());
$row = mysql_fetch_array($result);
// check that the 'id' matches up with a row in the databse
if($row)
{
// get data from db
$id = $row['ProdId'];
$prodname = $row['Prodnamn'];
$color = $row['Farg'];
$size = $row['Storlek'];
$packing = $row['antalPack'];
$minstock = $row['minLager'];
$stock = $row['Lagerstatus'];
// show form
renderForm($id, $prodname, $color, $size, $packing, $minstock, $stock, '');
}
else
// if no match, display result
{
echo "No results!";
}
}
我知道 mysql_query("UPDATE produkter_sthlm SET Lagerstatus='$stock' WHERE ProdId='$item'") 是错误的,但我无法弄清楚如何从$_POST
如果有任何帮助,我可以发布带有架构副本等的完整文件。
刚刚编辑了整个文件。
<?php
session_start();
if(!isset($_SESSION['myusername'])){
header("location:login.php");
}
// connect to the database
include '/include/config.php';
function renderForm($id, $prodname, $color, $size, $packing, $minstock, $stock, $error)
{
$oneLiter = mysql_query("SELECT * FROM produkter_sthlm WHERE `Storlek`=1 AND `Active`=1") or die(mysql_error());
$fourLiter = mysql_query("SELECT * FROM produkter_sthlm WHERE `Storlek`=4 AND `Active`=1") or die(mysql_error());
$fiveLiter = mysql_query("SELECT * FROM produkter_sthlm WHERE `Storlek`=5 AND `Active`=1") or die(mysql_error());
$tenLiter = mysql_query("SELECT * FROM produkter_sthlm WHERE `Storlek`=10 AND `Active`=1") or die(mysql_error());
$twentyLiter = mysql_query("SELECT * FROM produkter_sthlm WHERE `Storlek`=20 AND `Active`=1") or die(mysql_error());
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lagerstatus Stockholm - Petrolia Lagersystem</title>
<!-- Core CSS - Include with every page -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="font-awesome/css/font-awesome.css" rel="stylesheet">
<link href="css/custom-style.css" rel="stylesheet">
<!-- Page-Level Plugin CSS - Blank -->
<!-- SB Admin CSS - Include with every page -->
<link href="css/sb-admin.css" rel="stylesheet">
</head>
<body>
<div id="wrapper">
<?php include "top_menu.php"; ?>
<?php include "side_menu.php"; ?>
<div id="page-wrapper">
<div class="row">
<h1 class="page-header">Lagerstatus - Stockholm <?php print(Date("F j, Y H:i:s")); ?></h1>
<form action="" method="post">
<div class="button-container">
<button type="submit" name="submit" class="btn btn-primary"><i class="fa fa-save fa-fw"></i>Spara ändring</button>
</div>
<div class="col-md-6 well">
<h2 class="horizontal">1 Liter</h2>
<?php echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Typ</th> <th>Antal</th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $oneLiter )) {
echo '<input type="hidden" name="id" value="'.$row['ProdId'].'"/>';
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="prod['. $row['ProdId'] .']" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
?>
<h2 class="horizontal">4 Liter</h2>
<?php echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Typ</th> <th>Antal</th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $fourLiter )) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="prod['. $row['ProdId'] .']" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
?>
</div>
<!-- /.col-lg-6 -->
<div class="col-md-6 well">
<h2 class="horizontal">5 Liter</h2>
<?php echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Typ</th> <th>Antal</th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $fiveLiter )) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="prod['. $row['ProdId'] .']" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
?>
<h2 class="horizontal">10 Liter</h2>
<?php echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Typ</th> <th>Antal</th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $tenLiter )) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="prod['. $row['ProdId'] .']" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
?>
<h2 class="horizontal">20 Liter</h2>
<?php echo "<table border='1' cellpadding='10'>";
echo "<tr><th>Typ</th> <th>Antal</th></tr>";
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $twentyLiter )) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="prod['. $row['ProdId'] .']" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
?>
</div>
<!-- /.col-lg-6 -->
</form>
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
<!-- Core Scripts - Include with every page -->
<script src="js/jquery-1.10.2.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/plugins/metisMenu/jquery.metisMenu.js"></script>
<!-- Page-Level Plugin Scripts - Blank -->
<!-- SB Admin Scripts - Include with every page -->
<script src="js/sb-admin.js"></script>
<!-- Page-Level Demo Scripts - Blank - Use for reference -->
</body>
</html>
<?php
}
// check if the form has been submitted. If it has, process the form and save it to the database
if (isset($_POST['submit']))
{
// get form data, making sure it is valid
foreach($_POST['prod'] as $item) {
$stock = mysql_real_escape_string(htmlspecialchars($item));
// check that prodname/color fields are both filled in
if ($stock == '')
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';
//error, display form
renderForm($id, $prodname, $color, $size, $packing, $minstock, $stock, $error);
}
else
{
echo "lol" . $_POST['prod'];
// save the data to the database
mysql_query("UPDATE produkter_sthlm SET Lagerstatus='$stock' WHERE ProdId='$item'")
or die(mysql_error());
// once saved, redirect back to the view page
header("Location: lagerstatus_stockholm.php");
}
}
}
else
// if the form hasn't been submitted, get the data from the db and display the form
{
// query db
$result = mysql_query("SELECT * FROM produkter_sthlm")
or die(mysql_error());
$row = mysql_fetch_array($result);
// check that the 'id' matches up with a row in the databse
if($row)
{
// get data from db
$id = $row['ProdId'];
$prodname = $row['Prodnamn'];
$color = $row['Farg'];
$size = $row['Storlek'];
$packing = $row['antalPack'];
$minstock = $row['minLager'];
$stock = $row['Lagerstatus'];
// show form
renderForm($id, $prodname, $color, $size, $packing, $minstock, $stock, '');
}
else
// if no match, display result
{
echo "No results!";
}
}
?>
最佳答案
第一个脚本的第三行(包括注释):
echo '<input type="hidden" name="id" value="'<?php echo $row['ProdId']; ?>'"/>'
末尾缺少分号。它也会针对 while 循环的每次迭代进行回显,这将导致 $_POST['id']
始终包含页面上最后一个“隐藏”输入标记的值。
我的建议是使用生成的键创建两个输入数据数组:
// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array( $oneLiter )) {
echo '<input type="hidden" name="id[]" value="'<?php echo $row['ProdId']; ?>'"/>';
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['Prodnamn'] . '<div class="min_lager">' . $row['minLager'] . '</div></td>';
echo '<td><input class="lager" type="number" name="status[]" value="' . $row['Lagerstatus'] . '"></td>';
echo "</tr>";
}
// close table>
echo "</table>";
然后您可以按如下方式循环遍历结果。由于隐藏输入和数字输入成对呈现,因此相应 POST 数组的键将匹配:
foreach ($_POST['id'] as $key => $prodId) {
// As both seem to be integers, SQL injections can easily be filtered out by explicitly casting it to an integer
$prodId = (int) $prodId;
if ($prodId > 0) {
$prodStatus = (int) $_POST['status'][$key];
// do your processing here
}
}
关于PHP - 在循环的帮助下从表单插入mysql数据库,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22969788/
我有这个问题: 我们声称对 float 使用相等测试是不安全的,因为算术运算会引入舍入错误,这意味着两个应该相等的数字实际上并不相等。 对于这个程序,您应该选择一个数字 N,并编写一个程序来显示 1
为什么这个脚本的输出是 5 而不是 8 ? 我认为 -- 意味着 -1 两次。 var x = 0; var y = 10; while ( x
我现在可以从 cmd 窗口中执行的 FFmpeg 过程中读取最后一行。 使用脚本主机模型对象引用此源。 Private Sub Command1_Click() Dim oExec
使用 vlookup,当匹配发生时,我想从匹配发生的同一行显示工作表 2 中 C 列的值。我想出的公式从 C 列表 2 中获取值,但它从公式粘贴在表 3 上的行中获取,而不是从匹配发生的位置获取。 这
我在破译 WCF 跟踪文件时遇到了问题,我希望有人能帮助我确定管道中的哪个位置发生了延迟。 “Processing Message XX”的跟踪如下所示,在事件边界和传输到“Process Actio
我有四个表,USER、CONTACT、CONACT_TYPE 和 USER_CONTACT USER_CONTACT 存储用户具有填充虚拟数据的表的所有联系人如下 用户表 USER_ID(int)|
以下有什么作用? public static function find_by_sql($sql="") { global $database; $result_set = $data
我正在解决 JavaBat 问题并且对我的逻辑感到困惑。 这是任务: Given a day of the week encoded as 0=Sun, 1=Mon, 2=Tue, ...6=Sat,
我正在研究一些 Scala 代码,发现这种方法让我感到困惑。在匹配语句中,sublist@ 是什么?构造?它包含什么样的值(value)?当我打印它时,它与 tail 没有区别,但如果我用尾部替换它,
我正在使用以下代码自行缩放图像。代码很好,图像缩放也没有问题。 UIImage *originImg = img; size = newSize; if (originImg.size.width >
Instruments 无法在我的 iPad 和 iPhone 上启动。两者都已正确配置,我可以毫无问题地从 xcode 调试它们上的代码,但 Instruments 无法启动。 我听到的只是一声嘟嘟
我想用 iPhone 的 NSRegularExpression 类解析此文本: Uploaded652.81 GB 用于摘录上传和652.81文本。 最佳答案 虽然我确实认为 xml 解析器更适合解
我找到了 solution在 Stackoverflow 上,根据过滤器显示 HTML“li”元素(请参阅附件)。本质上基于 HTML 元素中定义的 css 类,它填充您可以从中选择的下拉列表。 我想
这是一个简单的问题,但我是在 SQL 2005 中形成 XML 的新手,但是用于形成如下所示表中的 XML 的最佳 FOR XML SQL 语句是什么? Column1 Column2 -
我在 www.enigmafest.com 有一个网站!您可以尝试打开它!我面临的问题是,在预加载器完成后,主页会出现,但其他菜单仍然需要很长时间才能加载,而且声音也至少需要 5 分钟! :( 我怎样
好吧,我正在尝试用 Haskell 来理解 IO,我想我应该编写一个处理网页的简短小应用程序来完成它。我被绊倒的代码片段是(向 bobince 表示歉意,但公平地说,我并不想在这里解析 HTML,只是
如何使用背景页面来突出显示网站上的某个关键字,无论网站是什么(谷歌浏览器扩展)?没有弹出窗口或任何东西,它只是在某人正在查看的网站上编辑关键字。我以前见过这样的,就是不明白怎么做!谢谢你的帮助。 最佳
我是 Javascript 新手,需要一些帮助。 先看图片: . 积分预测器应用程序。 基本上当用户通过单选按钮选择获胜团队时它应该在积分栏中为获胜队添加 10 分,并且并根据得分高的球队自动对表格进
这是我的情况 - 我要发送一份时事通讯,我试图做的是,当用户单击电子邮件中的链接时,它会重定向到我的网页,然后会弹出一个灯箱,显示视频。我无法在页面加载时触发灯箱,因为您可以在查看灯箱之前转到同一页面
我有这个代码。 ¿Cuanto es ? Ir 我想获取用户输入的“验证码”值。我尝试这个但行不通。有什么帮助吗? var campo = d
我是一名优秀的程序员,十分优秀!