2013-09-09 7 views
-1

Я пытаюсь обновить строку в моей базе данных PhpMyAdmin, когда я нажимаю на кнопку одобрять, которая связана с этой строкиобновить строку базы данных с помощью кнопки

Вот строки я пытаюсь утверждать:

1 , star name = question- who asked [approve button] [disapprove button]

Вот мой db_replicator.php:

<?php 
include("db_conn.php"); 
$sql = "update questions set approved = 1 where questionID = ?"; 
$qc = $pdo_conn->prepare($sql); 
$qc->execute(array($_POST['questionID'])); 
echo 'saved'; 
?> 

Это функция на верхней части моего views.php:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
    <script> 
     function save_a(id){ 
      $.post('db_replicator.php', {questionID:id}, function(result) { 
       alert(result); 
       window.location.reload(); 
      }); 
     } 
    </script> 

Вот код, который я до сих пор на моем views.php:

echo "<br><b>new questions: {$row4['count']}</b><br>"; 
while ($row44 = $prep44->fetch(PDO::FETCH_ASSOC)) { 
echo "{$row44['questionID']} , {$row44['starName']} = {$row44['question']} - {$row44['whoAsked']} 
    <button onclick='save_a({$row44['questionID']})'></button><button>Disapprove</button><br>"; 
} 

ответ

1

Я думаю, что у вас есть некоторое недопонимание с серверной и клиентской стороне кода.

Js работает на клиентской машине, а PHP - на стороне сервера. Вам необходимо запустить ajax-запрос на ваш php-код, который сохранит вашу строку в db.

Вы можете сделать следующее:

db_replicator.php:

include("db_conn.php"); 
$sql = "update questions set approved = 1 where questionID = ?"; 
$qc = $pdo_conn->prepare($sql); 
$qc->execute(array($_POST['questionID'])); 
echo 'saved'; 

ваши JS на странице в save_a функции прохода идентификатор строки:

function save_a(id){ 
    $.post('db_replicator.php', { questionID: id }, function(result) { 
     alert(result); 
    }); 
} 

изменения ваш код кнопки:

echo "{$row44['questionID']} , {$row44['starName']} = {$row44['question']} - {$row44['whoAsked']} 
    <button onClick=save_a($row44['questionID']);'>Approve</button><button>Disapprove</button><br>"; 
+0

oh ok Я вижу tha t объяснил бы, что моя кнопка ничего не делает, я раньше не использовал ajax, не могли бы вы мне помочь? – babyoth

+0

@babyoth, пожалуйста, обратитесь к документации по почте в jquery http://api.jquery.com/jQuery.post/. Если у вас остались вопросы, вы можете задать новый вопрос. Пожалуйста, согласитесь с этими ответами, если он решает ваш вопрос для других людей, которые ищут одну и ту же проблему, может легко найти решение. –

+0

Да, я согласен с ответом, как только я его отсортировал, попробовав его сейчас, не зная, где разместить эту часть: $. post ('db_replicator.php', {questionID: 5}, функция (результат) { предупреждение (результат); }); – babyoth