2013-08-06 3 views
0

У меня есть простая форма и настроена таблица MySQL.Приращение значения строки MySQL на основе представления формы PHP

Все, что я пытаюсь сделать, - это каждый раз, когда форма отправляется добавить 1 на выбранную сумму строки.

Таблица так же просто, как:

answer | amount 
------------------------ 
    Yes | 5 
    No  | 12 
    Maybe | 1 

И форма:

<form action="submit.php" method="post"> 
Is this a cool pie chart?: 
<input type="radio" name="group1" value="Yes"> Yes<br> 
<input type="radio" name="group1" value="No"> No<br> 
<input type="radio" name="group1" value="Maybe"> Maybe<br> 
<input type="submit"> 
</form> 

Тогда в submit.php я следующий до сих пор, но, кажется, не работает

<?php 
    $sql = "UPDATE results SET amount= amount + 1 where answer = ?"; 
    $stmt = mysqli_prepare($conn, $sql); 
    mysqli_stmt_bind_param($stmt, "s", $selected_option); 

    if (isset($_POST['submit'])) { 
     $selected_option = $_POST['group1']; 
     if ($selected_option == 'Yes') { 
       mysqli_stmt_execute($stmt); 
      }else if ($selected_option == 'No') { 
       mysqli_stmt_execute($stmt); 
      } else if ($selected_option == 'Maybe') 
      mysqli_stmt_execute($stmt); 
    } 
?> 

Так что если кто-то ответит да, то количество строк для да увеличится до 6 и т.д. и т.д.

Мне удалось вызвать данные и даже добавить их в API визуализации Google с помощью обучающих программ, но, похоже, они не работают в этой части.

Заранее благодарен всем.

+0

Можем ли мы увидеть ваш код 'submit.php'? – Gavin

+0

Что вы хотите запросить mysql? –

+0

Я до сих пор редактировал код submit.php, даже не уверен, что я нахожусь на правильном пути:/ –

ответ

1

Если вы выдаете в запросе

UPDATE results SET amount = amount + 1 

вы обновит количество -Value каждой строки в таблице. Таким образом, вы должны указать строку с WHERE-предикат:

UPDATE results SET amount = amount + 1 WHERE answer = ? 

Значение? должно быть размещено значение group1 -переменная. Чтобы предотвратить внедрение SQL, сделайте это как подготовленный отчет (см. http://php.net/manual/de/pdo.prepared-statements.php)

+0

Я обновил свой код, как показано выше, но фактически не обновляет таблицу. Должно быть что-то второстепенное сейчас, которое останавливает его от работы:/ –

+0

Хорошо, он работает! было чисто скобки, обернутые вокруг суммы = сумма + 1, которая остановила его ... не знаю, почему у меня это было! Спасибо за помощь –

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