- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码,将数据插入到我的 SQL 数据库中。 :
<?php
require 'database.php';
if(!empty($_GET['wid'])) { $wid = $_GET['wid']; }
elseif(!empty($_POST['wid'])) { $wid = $_POST['wid']; }
else { $wid = null; }
if ( !empty($_POST)) {
// keep track validation $
$ModelError = null;
$DescriptionError = null;
$CostError = null;
$RetailError = null;
$QuantityError = null;
// keep track post values
$Model = $_POST['model'];
$Description = $_POST['description'];
$Cost = $_POST['cost'];
$Retail = $_POST['retail'];
$Quantity = $_POST['qty'];
// validate input
$valid = true;
if (empty($Model)) {
$ModelError = 'Please enter Model';
$valid = false;
}
if (empty($Description)) {
$DescriptionError = 'Please enter Description';
$valid = false;
}
if (empty($Cost)) {
$CostError = 'Please enter Cost';
$valid = false;
}
if (empty($Retail)) {
$RetailError = 'Please enter Retail';
$valid = false;
}
if (empty($Quantity)) {
$QuantityError = 'Please enter Quantity';
$valid = false;
}
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO items (WID, model, description, cost, retail, qty) values(?, ?, ?, ?, ?, ?);";
$q = $pdo->prepare($sql);
$q->execute(array($wid,$Model, $Description, $Cost, $Retail, $Quantity));
Database::disconnect();
header("Location: index.php");
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Workorder System</title>
<!-- Bootstrap core CSS -->
<link href="css/jquery-ui.min.css" rel="stylesheet">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/datepicker.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/sticky-footer-navbar.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Begin page content -->
<div class="container content">
<div class='row'>
<div class='col-xs-12 col-sm-12 col-md-12 col-lg-12'>
<h1 class="text-center title">Workorder System </h1>
</div>
<h2> </h2>
<div class='row'>
<div class='col-xs-12 col-sm-12 col-md-12 col-lg-12'>
<form class="form-horizontal" action="index.php" method="post">
<input type="hidden" name="wid" value="<?php echo htmlentities($wid); ?>">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th width="2%"><input id="check_all" class="formcontrol" type="checkbox"/></th>
<th width="15%">ID</th>
<th width="15%">Model #</th>
<th width="38%">Description</th>
<th width="15%">Cost</th>
<th width="15%">Retail</th>
<th width="15%">Quantity</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input class="case" type="checkbox"/></td>
<td>
<input type="text" data-type="ID" name="idNo[]" id="idNo_1" class="form-control autocomplete_txt" autocomplete="off"></td>
<td>
<div class="control-group <?php echo !empty($ModelError)?'error':'';?>">
<div class="controls">
<input type="text" data-type="model" name="model[]" id="model_1" placeholder="Model" value="<?php echo !empty($Model)?$Model:'';?>" class="form-control autocomplete_txt" autocomplete="off">
<?php if (!empty($ModelError)): ?>
<span class="help-inline"><?php echo $ModelError;?></span>
<?php endif; ?>
</div>
</div>
</td>
<td>
<div class="control-group <?php echo !empty($DescriptionError)?'error':'';?>">
<div class="controls">
<input type="text" data-type="description" name="description[]" id="description_1" placeholder="Description" value="<?php echo !empty($Description)?$Description:'';?>" class="form-control autocomplete_txt" autocomplete="off">
<?php if (!empty($DescriptionError)): ?>
<span class="help-inline"><?php echo $DescriptionError;?></span>
<?php endif; ?>
</div>
</div>
</td>
<td>
<div class="control-group <?php echo !empty($CostError)?'error':'';?>">
<div class="controls">
<input type="text" data-type="cost" name="cost[]" id="cost_1" placeholder="Cost" value="<?php echo !empty($Cost)?$Cost:'';?>" class="form-control autocomplete_txt" autocomplete="off">
<?php if (!empty($CostError)): ?>
<span class="help-inline"><?php echo $CostError;?></span>
<?php endif; ?>
</div>
</div>
</td>
<td>
<div class="control-group <?php echo !empty($RetailError)?'error':'';?>">
<div class="controls">
<input type="text" data-type="retail" name="retail[]" id="retail_1" placeholder="Retail" value="<?php echo !empty($Retail)?$Retail:'';?>" class="form-control autocomplete_txt" autocomplete="off">
<?php if (!empty($RetailError)): ?>
<span class="help-inline"><?php echo $RetailError;?></span>
<?php endif; ?>
</div>
</div>
</td>
<td>
<div class="control-group <?php echo !empty($QuantityError)?'error':'';?>">
<div class="controls">
<input type="number" name="quantity[]" id="quantity_1" placeholder="Quantity" value="<?php echo !empty($Quantity)?$Quantity:'';?>" class="form-control autocomplete_txt" autocomplete="off">
<?php if (!empty($QuantityError)): ?>
<span class="help-inline"><?php echo $QuantityError;?></span>
<?php endif; ?>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class='row'>
<div class='col-xs-12 col-sm-3 col-md-3 col-lg-3'>
<button class="btn btn-danger delete" type="button">- Delete</button>
<button class="btn btn-success addmore" type="button" id="Add">+ Add More</button>
</div>
</div>
<h2>Notes: </h2>
<div class='row'>
<div class='col-xs-12 col-sm-12 col-md-12 col-lg-12'>
<div class="form-group">
<textarea class="form-control" rows='5' id="notes" placeholder="Your Notes"></textarea>
</div>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-success">Create</button>
<a class="btn" href="index.php">Back</a>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/bootstrap-datepicker.js"></script>
<script src="js/auto.js"></script>
</body>
</html>
这段代码在被修改之前工作得很好。在我添加以下代码之前,它过去一次只向数据库中插入一行:
<div class='row'>
<div class='col-xs-12 col-sm-3 col-md-3 col-lg-3'>
<button class="btn btn-danger delete" type="button">- Delete</button>
<button class="btn btn-success addmore" type="button" id="Add">+ Add More</button>
</div>
</div>
和 ajax 后端:
//adds extra table rows
var i=$('table tr').length;
$(".addmore").on('click',function(){
html = '<tr>';
html += '<td><input class="case" type="checkbox"/></td>';
html += '<td><input type="text" data-type="ID" name="idNo[]" id="idNo_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><input type="text" data-type="model" name="model[]" id="model_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><input type="text" data-type="description" name="description[]" id="description_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><input type="text" data-type="cost" name="cost[]" id="cost_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><input type="text" data-type="retail" name="retail[]" id="retail_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>';
html += '<td><input type="text" data-type="quantity" name="quantity[]" id="quantity_'+i+'" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>';
html += '</tr>';
$('table').append(html);
i++;
});
//to check all checkboxes
$(document).on('change','#check_all',function(){
$('input[class=case]:checkbox').prop("checked", $(this).is(':checked'));
});
//deletes the selected table rows
$(".delete").on('click', function() {
$('.case:checkbox:checked').parents("tr").remove();
$('#check_all').prop("checked", false);
calculateTotal();
});
//autocomplete script
$(document).on('focus','.autocomplete_txt',function(){
type = $(this).data('type');
if(type =='ID' )autoTypeNo=0;
if(type =='model' )autoTypeNo=1;
$(this).autocomplete({
source: function( request, response ) {
$.ajax({
url : 'ajax.php',
dataType: "json",
method: 'post',
data: {
name_startsWith: request.term,
type: type
},
success: function( data ) {
response( $.map( data, function( item ) {
var code = item.split("|");
return {
label: code[autoTypeNo],
value: code[autoTypeNo],
data : item
}
}));
}
});
},
autoFocus: true,
minLength: 0,
select: function( event, ui ) {
var names = ui.item.data.split("|");
id_arr = $(this).attr('id');
id = id_arr.split("_");
$('#idNo_'+id[1]).val(names[0]);
$('#model_'+id[1]).val(names[1]);
$('#description_'+id[1]).val(names[2]);
$('#cost_'+id[1]).val(names[3]);
$('#retail_'+id[1]).val(names[4]);
$('#quantity_'+id[1]).val(1);
$('#total_'+id[1]).val( 1*names[4] );
calculateTotal();
}
});
});
//It restrict the non-numbers
var specialKeys = new Array();
specialKeys.push(8,46); //Backspace
function IsNumeric(e) {
var keyCode = e.which ? e.which : e.keyCode;
console.log( keyCode );
var ret = ((keyCode >= 48 && keyCode <= 57) || specialKeys.indexOf(keyCode) != -1);
return ret;
}
和
<?php
require_once 'config.php';
if(!empty($_POST['type'])){
$type = $_POST['type'];
$name = $_POST['name_startsWith'];
$query = "SELECT ID, model, category, subcategory, description, cost, retail FROM products where UPPER($type) LIKE '".strtoupper($name)."%'";
$result = mysqli_query($con, $query);
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$name = $row['ID'].'|'.$row['model'].'|'.$row['description'].'|'.$row['cost'].'|'.$row['retail'];
array_push($data, $name);
}
echo json_encode($data);exit;
}
现在,我得到了代码的 ajax 部分的帮助,该部分有效(正确添加表单字段),并且 POST 结果工作正常(筛选了 Firefox 的 Web 开发人员选项卡,它正确发布了我的所有表单字段数据) ,我唯一遇到的问题是如何一次翻译多个提交的内容。显然,我处理一次提交的 sql 代码不适用于多次连续提交,并且出现以下错误:
Notice: Array to string conversion in C:\wamp\www\invoice\index.php on line 131 Call Stack #TimeMemoryFunctionLocation 10.0012276928{main}( )..\index.php:0 Array" class="form-control autocomplete_txt" autocomplete="off">
出于某种奇怪的原因:
Notice: Undefined index: qty in C:\wamp\www\invoice\index.php on line 24
任何有关此事的帮助将不胜感激,现在已经进行了一周多的故障排除:P
最佳答案
不知道你想问什么。但只是为了循环你的数组,你可以:
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO items (WID, model, description, cost, retail, qty) values(?, ?, ?, ?, ?, ?);";
$q = $pdo->prepare($sql);
$idx = 0;
foraech ($Model as $model_idx) {
$q->execute(array($wid,$model_idx, $Description[$idx], $Cost[$idx], $Retail[$idx], $Quantity[$idx]));
$idx++;
}
关于php - 插入sql数据库动态表单字段添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30305290/
我有 512 行要插入到数据库中。我想知道提交多个插入内容是否比提交一个大插入内容有任何优势。例如 1x 512 行插入 -- INSERT INTO mydb.mytable (id, phonen
已经提出了类似的问题,但由于它总是取决于,我单独询问我的具体情况。 我有一个网站页面,显示来自数据库的一些数据,要从该数据库生成数据,我必须执行一些相当复杂的多连接查询。 数据每天(每晚)更新一次。
我正在使用 MongoDb 和 MySQL 的 python 连接器 pymongo 和 pymysql 测试 MongoDb 和 MySQL,特别是插入功能。 pymongo版本是3.4,pymys
从 C# 应用程序插入大型数组(10M 元素)的最快方法是什么? 到目前为止,我使用的是批量插入。 C# 应用程序生成一个大文本文件,我使用 BULK INSERT 命令加载它。出于好奇,我编写了一个
我编写了一个枚举类型,当我为它运行我创建的 JUnit 测试时会出现以下语法错误: java.lang.Error: Unresolved compilation problems: Synt
我正在尝试创建一个程序,它将单词列表作为输入,并将它们排序为二叉树,以便能够找到它们,例如像字典。这是我到目前为止所做的,但是 newEl -> el = input; 出现段错误,我知道这是因为它试
你好 我有编译这个问题 \begin{equation} J = \sum_{j=1}^{C} \end{equation} 我不断收到错误 missing $ inserted 这很奇怪,因
我需要使用 LINQ to SQL 将记录插入到没有主键的表中。 table 设计得很差;我无法控制表结构。该表由几个 varchar 字段、一个文本字段和一个时间戳组成。它用作其他实体的审计跟踪。
我正在尝试使用 itextsharp 创建 Pdf。我添加了一张包含两列的表格,其中一列包含文本和其他图像。我想要恒定的图像大小 如果另一个单元格中的文本增加并且其他单元格中的图像大小不同,我的图像会
我想把 calory 作为 fruits 的第一个值,我做不到,有人能帮忙吗? $sql = 'INSERT INTO fruits VALUES('', ?, ?, ?)'
我有一个包含季度观察结果的 data.frame。我现在想插入每月值(首选三次,线性很好)。中间目标应该是使用 DATE 创建一个 data.frame作为所有每月观察的索引和缺失值。 谷歌搜索表明我
我想知道是否有办法在值列表中使用“插入”。我正在尝试这样做: insert into tblMyTable (Col1, Col2, Col3) values('value1', value
我想让人们能够在他们的网站中插入单个 Javascript 行,这实际上允许我插入包含我网站内容的固定大小的 IFRAME。它实际上是一个小部件,允许他们搜索我的网站或接收其他信息。这可能吗? 最佳答
我有一个包含时间的表,列名为 time,数据类型为 Date。 在 asp.net 中,我想要一个查询插入日期,另一个查询则在 2 个日期之间进行选择。 我已经尝试过这个: string data =
这是我的代码: create or replace trigger th after insert on stock for each row declare sqty number;
这是一个带有具体示例的通用问题。 我有一个包含三个字段(流派 ID (PK IDENTITY)、流派和子流派)的表。该表对(流派,子流派)组合具有唯一约束。 我想知道如何修改存储过程以在表中不存在时插
因此,我正在遍历二叉树,节点包含字符串,以及读取文件时该字符串是否出现多次。我只查找读取文件时出现次数最多的前 10 个单词,因此本质上我只是比较 int 值。 我的问题是我正在尝试找出一种有效的方法
我有一张机票和行李 map , 每张门票必须是唯一的,并且必须与 map 上的位置相对应 是否可以仅更改行李(m_bagage->秒)而不更改 key ? std::unordered_map m_c
我正在使用 jdbc 驱动程序做一个示例项目。我的问题是,如果我在 2 文本字段中输入空值。 null 不应该加载到数据库中吗?有没有办法避免在数据库中插入空字段?任何帮助将不胜感激。 //Execu
我想知道 SSIS 中是否有特定的插入或更新选项。 如果我想让程序检查它是更新还是插入,我是否必须做一些编码?或者是否可以启用一个选项,以便它会自行检查 PK 是否存在,然后更新,否则插入? 亲切的问
我是一名优秀的程序员,十分优秀!