سلام
ممنون از پاسخ
مشکل اینجاست وقتی داده ها بر میگردن مثلا اولی رو 2تا بهش اضافه میکنه میشه 10 بقیه داده هایی که تووو آرایه اولی بهش گفتی برو مقدارش بیار تا اضافه کنم و اپدیت کنم همشونو میده ده !!
یعنی داده های بعدی رو اصلا نمیاره داخل حلقه و تابع جمع و کل مقادیر داخل آرایه رو با مقدار اولی آپذیت میکنه ...
: سمت سرور
$codemeli = $panel->checkPost($_POST['codemeli']);
$time_operation = $panel->checkPost($_POST['time_operation']);
$date_operation = $panel->checkPost($_POST['date_operation']);
$count_turn_new = $panel->checkPost($_POST['count_turn_new']);
$count_turn = $panel->checkPost($_POST['count_turn']);
$date_turn = $panel->checkPost($_POST['date_turn']);
$code_marja = $panel->checkPost($_POST['code_marja']);
$sql = $pdo->prepare("SELECT * FROM `report_doctors` WHERE date_turn = :date AND codemeli_dr = :codemeli");
$sql->bindParam(":codemeli",$codemeli);
$sql->bindParam(":date",$date_turn);
$sql->execute();
$rowcount = $sql->rowCount() ;
if($rowcount > 0 )
{
$sql = $pdo->prepare("UPDATE `report_doctors` SET count_turn = :count_turn WHERE date_turn IN(:date) AND codemeli_dr = :codemeli order by date_turn asc");
$sql->bindParam(":count_turn",$count_turn);
$sql->bindParam(":codemeli",$codemeli);
$sql->bindParam(":date",$date_turn);
$sql->execute();
}
else
{
$sql = $pdo->prepare("INSERT INTO `report_doctors`(`code_marja`,`date`,`date_turn`, `time`, `count_turn`, `count_rezerv`, `count_cancell`, `count_delete`, `codemeli_dr`, `type`)
VALUES (:code_marja,:date_operation,:date_turn,:time_oper ation,:count_turns,'0','0','0',:codemeli_dr,'1')") ;
$sql->bindParam(":date_operation",$date_operation);
$sql->bindParam(":time_operation",$time_operation);
$sql->bindParam(":count_turns",$count_turn_new);
$sql->bindParam(":date_turn",$date_turn);
$sql->bindParam(":codemeli_dr",$codemeli);
$sql->bindParam(":code_marja",$code_marja);
$sql->execute();
$rowcount = $sql->rowCount() ;
if($rowcount > 0 )
{
echo "ok";
}
else
{
echo 'no' ;
}
}
کد سمت اندروید
for (int i = 0; i < AutoTurnRatingsDoctor.mySelectedDates.size(); i++)
{
int finalI = i;
for (int j = 0; j < countTurnList.size(); j++) {
int finalj = j;
StringRequest request = new StringRequest(1, ContactUtils.sendTurnUrl, response ->
{
if (response.trim().equals("no"))
{
Toast.makeText(context, ContactUtils.noData, Toast.LENGTH_SHORT).show();
}
else
{
if (finalj == 0)
{
SpecialFunction.DialogTaeedTurn(context, null, PanelDoctor.name + " عزیز" +
" شما " + AutoTurnRatingsDoctor.countTurns + " شما " + AutoTurnRatingsDoctor.mySelectedDates.size()
+ " تاریخ با کد " + code_marja + " ثبت کرده اید", 1);
}
}
}, error ->
{
SpecialFunction.parseVolleyError(context, error);
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> stringMap = new HashMap<String, String>();
stringMap.put("key", "reportInsertDoctor");
stringMap.put("code_marja", code_marja);
stringMap.put("date_turn", AutoTurnRatingsDoctor.mySelectedDates.get(finalI)) ;
stringMap.put("time_operation", SpecialFunction.getTimeNow());
stringMap.put("date_operation", SpecialFunction.getDatePersian());
stringMap.put("count_turn_new", String.valueOf(AutoTurnRatingsDoctor.countTurns / AutoTurnRatingsDoctor.mySelectedDates.size()));
stringMap.put("count_turn", countTurnList.get(finalj) + "");
stringMap.put("codemeli", S_codemeli);
return stringMap;
}
};
request.setRetryPolicy(ContactUtils.RETRY_POLICY);
AppSingleton.getInstance(context).addToRequestQueu e(request);
}
}