0
我实际上想要以相同的顺序更新mysql的输出。我有一个数据库,其中一些数据已经存在,并且sendondate是常见的。我试图更新,但它只更新最后的输出,而不是所有的序列。请帮我从这个..更新json结果mysql依次
<?php
$data = '[{"message":"Hello+Test+Message","sender":"test","billcredit":"0.00","messageStatus":"DND","sendondate":"2015-04-23 12:27:00","provider":"aaaa"},{"message":"Hello+Test+Message","sender":"test","billcredit":"0.00","messageStatus":"DELIVERD","sendondate":"2015-04-23 12:27:00","provider":"aaaa"}]';
// $objs = json_decode($data);
$con=mysqli_connect("localhost","root","Password*9","sms9");
$objs = json_decode($data,true);
foreach ($objs as $obj){
$repor = $obj['messageStatus'];
// echo $repor . '<br />';
$sen= $obj['sendondate'];
//echo $sen;
$repor=array();
while($row = mysql_fetch_array($repor))
{
$sql2= "Update detail SET Delivery='$repor' WHERE Datetime='$sen'";
if(mysqli_query($con, $sql2)){
echo "up";
}
}
}
?>
我也尝试删除相同的提及,但它只存储$ repor中存储的最后一个值。我无法顺序存储$ repor的所有值。 @Honza Haering – Seego
在你的json数据中,两个记录都有相同的“sendondate”。所以where子句在db中选择相同的记录。数据库首先将“Delivery”列更新为“DND”,然后用“DELIVERD”替换它。两者在db中的同一行上Datetime ='2015-04-23 12:27:00'。 现在的问题是,你想在这些更新后的数据库中有什么?两个记录,一个是'DND',一个是'DELIVERD'? –
它会扣除信贷..我想我没有让你明白。我发送短信给两个号码。所以在同一时间,消息将被插入到数据库中。现在,我在一张桌子上有两个indendical sendondate。在我收到json一次发送后,我需要更新两个数字的状态。现在问题是它获得同样的状态更新,而不是相应的状态。所以请帮助我.. @Honza Haering – Seego