阵列更新乘法结果出错
问题描述:
我有10个记录和每个输入2个表。 我发表了它,并使用数组,但我做了一些错误,但无法弄清楚what.What我试图做的是更新多行时间! 我仍然在学习PHP数组阵列更新乘法结果出错
POST
if($source == 'hoursDayNight'){
$value = htmlentities($_POST['value'], ENT_QUOTES, "UTF-8");
$workcid = htmlentities($_POST['workcid'][$i], ENT_QUOTES, "UTF-8");
$worknight = htmlentities($_POST['worknight'][$i], ENT_QUOTES, "UTF-8");
$workday = htmlentities($_POST['workday'][$i], ENT_QUOTES, "UTF-8");
include('inc.php');
//$current_dateedit = date('Y-m-d == H:i:s');
$current_dateedit = date('Y-m-d');
$i=NULL;
$i=1;
$queryie = "UPDATE works SET workday='".$workday[$i]."', worknight='".$worknight[$i]."', type='1' WHERE id='" . $workcid[$i] . "'";
mysqli_query($conn, $queryie);
}
和表
<form name="hoursDayNight" method="POST" action="" >
<input type="hidden" name="source" value="hoursDayNight"/>
<table class="ui small sortable celled collapsing table">
<thead>
<tr>
<th>Worker</th>
<th>Day h</th>
<th>Night h</th>
</tr>
</thead>
<tbody>';
require('inc.php');
while ($row = mysqli_fetch_array($result)) {
$sql = "SELECT DISTINCT * FROM works WHERE worker = '".$row['person_code']."'";
$i=null;
$i++;
echo '<tr>
<input type="text" name="" disabled value="' . $row['worker'] . '">
<input type="hidden" name="workcid['.$i.']" value="' . $row['id'] . '">
<input type="text" style="width: 25px; border: 1px solid #C8CFD7; height: 16px; line-height:14px; text-align: center; font-size:10pt; color:#817e7f;" name="workday['.$i.']" value="' . $row['workday'] . '">
<td>
<input type="text" style="width: 25px; border: 1px solid #C8CFD7; height: 16px; line-height:14px; text-align: center; font-size:10pt; color:#817e7f;" name="worknight['.$i.']" value="' . $row['worknight'] . '">
</div>
</form>
答
终于得到它的工作:)
代码:
if($source == 'hoursDayNight'){
$value = htmlentities($_POST['value'], ENT_QUOTES, "UTF-8");
$records=htmlentities($_POST['records'], ENT_QUOTES, "UTF-8");
include('inc.php');
$i = null;
while ($i <= $records){
$i++;
$workday = $worknight = $workcid = null;
$workcid = htmlentities($_POST['workcid'][$i], ENT_QUOTES, "UTF-8");
$worknight = htmlentities($_POST['worknight'][$i], ENT_QUOTES, "UTF-8");
$workday = htmlentities($_POST['workday'][$i], ENT_QUOTES, "UTF-8");
$queryie = UPDATE works SET workday='".$workday[$i]."', worknight='".$worknight[$i]."', type='1' WHERE id='" . $workcid[$i] . "'";
mysqli_query($conn, $queryie);
}
}
表:
<form name="hoursDayNight" method="POST" action="" >
<input type="hidden" name="source" value="hoursDayNight"/>
<table class="ui small sortable celled collapsing table">
<thead>
<tr>
<th>Worker</th>
<th>Day h</th>
<th>Night h</th>
</tr>
</thead>
<tbody>';
require('inc.php');
$i=null;
while ($row = mysqli_fetch_array($result)) {
$sql = "SELECT DISTINCT f_name, l_name FROM n_employees WHERE navWorkerID = '".$row['person_code']."'";
$query = mysqli_query($conn, $sql);
$rs = mysqli_fetch_array($query, MYSQLI_ASSOC);
if ($view){$workeris1="&worker=".$row['person_code']."";}else{$workeris1 = NULL;}
echo '<tr>';
$i++;
<input type="hidden" name="records" value="'.$i.'"/>
<input type="hidden" name="workcid['.$i.']" value="' . $row['id'] . '">
<input type="text" style="width: 25px; border: 1px solid #C8CFD7; height: 16px; line-height:14px; text-align: center; font-size:10pt; color:#817e7f;" name="workday['.$i.']" value="' . $row['workday'] . '">
<td>
<input type="text" style="width: 25px; border: 1px solid #C8CFD7; height: 16px; line-height:14px; text-align: center; font-size:10pt; color:#817e7f;" name="worknight['.$i.']" value="' . $row['worknight'] . '">
</div>
</form>
对不起混乱还在学习把一切风格:d
答
我不认为你必须把 'workid', '工作日' 和 'worknight'名称属性作为数组和输入标签中的键。我认为这就是问题的来源。尝试类似<input name="workid[]" .. />
或<input name="workday[]".. />
。并且$ row ['worker']的name属性中也没有任何内容,这可能会阻止您获取该值。
还可以使用:
if(isset($_POST['hoursDayNight'])){
$i=0;
//process form
$++;
}
处理的这种形式的这一翻译:
if($source == 'hoursDayNight'){
//process form
}
答
如果存在与
没有记录ID = $ workcid [1]
the MySQL没有任何更新,这是没有错误的。
这将是如果你确切地解释了问题所在,那么更容易帮助你。但我可以看到的一件事是,你明确地在你的代码中设置了'$ i = 1',所以它只会是那个得到更新的行。 – andrewsi
它不做任何事情。没有错误,没有数据保存 –
更具体。您的PHP代码是否被调用?如果是这样,请检查传递给它的参数是 - 它们应该是什么?添加一些调试到你的代码,看看你生成的查询是什么样子 - 他们看起来好吗?当你直接在数据库中尝试它们时,它们是否运行? – andrewsi