2015-02-15 10 views
-1

Я хочу обновить несколько строк, проверив, какую строку нужно обновить. это мой код для обновленияОбновление нескольких строк в одной форме

release1.php:

$edittable=$_POST['selector']; 
$N = count($edittable); 
for($i=0; $i < $N; $i++) 
{ 
$result = mysql_query("UPDATE `artcrimes`.`order_details` 
    SET `status` = 'Release' WHERE `order_details`.`details_id`='$edittable[$i]' ") 
or die(mysql_error()); 
}  

то ниже мой PHP-код. release.php:

<form role="form" name="add" method="post" action="release1.php"> 
/...select function/ 

while($row = mysql_fetch_array($result)) 

{ 
echo '<td><input name="selector[f]" action="release1.php" /* this is a checkbox*/ 
type="checkbox" value="'.$row['details_id'].'"></td>'; 
} 
?> 
</table></center> 
<button type="submit" value ="update" 
onClick="return confirm('Are you sure you want to release order?')" 
class="btn btn-default" 
style="color:white; background-color:green; font-weight: bold ">SAVE</button> 
</form> 

это не обновление, но их нет сообщений об ошибке возврата.

ответ

0

Поскольку mysql_ * устарели, рассмотрите возможность переключения на mysqli или PDO. Вы извлекаете результат в виде массива и используете ключ типа «статус». Так что в вашем коде:

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

вы пытаетесь получить доступ к $ строки [ «статус»], и вы должны получить доступ к нему $ строки [$ индекс] где $ индекс 0,1 ... Или вы можно изменить на:

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

так что вы можете получить доступ к нему, как $ строки [ 'статус'] ...

+0

Предупреждение: mysqli_fetch_array() ожидает параметр 1, чтобы быть mysqli_result, ресурс дал --- сообщение об ошибке я меняю его. – kobayashi

+0

вы должны изменить все свои mydql_ * на mysqli_ * – taliezin

Смежные вопросы