2014-12-02 3 views
0

У меня есть HTML-страница с этой страницей, когда я отправить форму я отправить АЯКС данные, как это:Создать новую строку JSON в PHP с помощью AJAX вызова

array(7) { ["idfornitore"]=> string(1) "1" ["criterio-5"]=> string(1) "4" ["voto-5"]=> string(1) "1" ["parziale-5"]=> string(1) "4" ["criterio-3"]=> string(1) "2" ["voto-3"]=> string(1) "3" ["parziale-3"]=> string(1) "6"} 

Пример:

["criterio-5"] => string(1) "4" ["voto-5"]=> string(1) "1" ["parziale-5"]=> string(1) "4" 
["criterio-5"] => is "weight of criterio5" 
["voto-5"]  => is "value of criterio5" 
["parziale-5"] => is "totale of criterio5" (weight * value) 

Личного PHP это сделать:

$totale = 0; 
foreach ($_POST as $key => $value) { 
    if (strstr($key, "parziale")) { 
     $totale = $totale + $value; 
    } 
} 

==================================

Я бы scorrermi массив и сформировать строку JSON, так «сделал:

{  
    "parziali": [ 
     {"idcriterio": "5", "peso": "4" , "voto": "1", "parziale": "5" }, 
     {"idcriterio": "3", "peso": "2" , "peso": "3", "peso": "6" } 
    ] 
} 

Как я могу сделать?

+2

Я не знаю, как вы планируете сделать эту строку JSON из вашей функции foreach, которая вычисляет общее количество. – Ohgodwhy

ответ

0

это выглядит похожим на построение XML-элементов - строить кортежей {criterio, Вото, parziale}, где теги суффиксом со значением criterio

$tuples = array(); 
foreach ($input as $key => $value) { 
    list($field, $suffix) = explode($key); 
    if ($field === 'idcriterio') { 
     $tuples[$suffix] = $suffix; 
     $tuples['peso'] = $value; 
    } 
    else { 
     $tuples[$suffix][$field] = $value; 
    } 
} 

$json = json_encode($tuples); 

Я не понимаю, как parziale вычисляется, но вы получаете идею

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