$row = $stmt->fetchAll(PDO::FETCH_OBJ);
foreach($row as $value){
// остальной код
}
$nprice = json_encode(array_pop($stmt->fetchAll(PDO::FETCH_OBJ)), JSON_NUMERIC_CHECK);
выброси и замени на $pricesPerMonth = array_pop($stmt->fetchAll(PDO::FETCH_OBJ));
У меня на сайте есть js скрипт, который выполняет некоторые расчеты, и, потом, выводит их в input hidden. Далее эти данные из input hidden передаются в php и затем в бд.ОМГ!!!!! Лучше сразу делайте поле: "вписать цену" и кнопку "купить".
pricesPerMonth
- это объектvar pricesPerMonth = {"1": 1500,"2": 2000,"3": 1500,"4": 2000,"5": 1500,"6": 2000,"7": 1500,"8": 2000,"9": 1500,"10": 2000,"11": 1500,"12": 2000};
<div class="array none">{"1": 1500,"2": 2000,"3": 1500,"4": 2000,"5": 1500,"6": 2000,"7": 1500,"8": 2000,"9": 1500,"10": 2000,"11": 1500,"12": 2000}</div>
var pricesPerMonth = $('.array').text();
echo json_encode(......., JSON_NUMERIC_CHECK);
но что-то мне кажется вы не в ту степь идёте. $row = json_encode(array_pop($stmt->fetchAll(PDO::FETCH_OBJ)));
/* or */
$row = json_encode($stmt->fetch());
$stmt->fetchAll(PDO::FETCH_OBJ)[0]
но это несовсем верно, нужно добавить проверку, а есть ли вообще значение. try{
$db = new PDO("dbtype:host=yourhost;dbname=yourdbname;charset=utf8","username","password");
}catch(PDOException $e ){
die( "Error: ".$e);
}
$query=$db->prepare("SELECT datestart, dateend FROM main WHERE namenomer = ?");
$query->execute(array($nnomer));
while($row=$query->fetch(PDO::FETCH_OBJ)) {
}
$pdo = new PDO(/* параметры соединения с БД */);
$result = $pdo->prepare('SELECT datestart, dateend FROM main WHERE namenomer = :namenomer');
$result->execute([':namenomer' => empty($_POST['nnomer' ]) ? '' : $_POST['nnomer']]);
// Начало и конец
var dates = [new Date(2016, 10, 29), new Date(2016, 11, 1)];
var pricesPerMonth = {
"10": 2000,
"11": 1500
};
// Расчет цены
var price = 0;
for (var i = dates[0].getTime(); i <= dates[1].getTime(); i += 86400 * 1000) {
var d = new Date(i);
var m = d.getMonth();
if (pricesPerMonth[m]) {
price += pricesPerMonth[m];
}
}
console.log(pricesPerMonth);
console.log(price);