Как сделать загрузочный фрагмент голосования функциональным, изменить значение в MySQL

Я пытаюсь добавить голосование / опрос panel в боковой панели моего HTML/PHP/MySQL Веб-сайт.

Сценарий У меня есть список планов для отдельных мест в MySQL Таблица базы данных, когда кто-то ищет место, он также увидит список планов, выбранных для этого места. Они могут голосовать за то, что план будет выполняться в этом месте.

Над чем я работал до сих пор? Я могу выбрать планы для определенных мест, когда зрители ищут любое место. Используемый код:

<div class="panel panel-default">
<div class="panel-heading">
    <h3 class="panel-title">
        Vote next plan
    </h3>
</div>
<div id="voting">
    <form>
        <div class="panel-body">                                
           <ul class="list-group">
                <?php
                    while ($planvote = mysql_fetch_array($planresultv)) {
                        echo '<li class="list-group-item">';
                        echo '<div class="radio">';
                        echo '<label>';
                        echo '<input type="radio" name="optionsRadios">';
                            echo $planvote['plan_name'];                                                
                        echo '</label>';
                        echo '</div>';
                        echo '</li>';
                    }
                ?>
            </ul>
        </div>
        <div class="panel-footer">
            <button type="button" class="btn btn-primary btn-sm">
                Vote</button>
            <a href="#">View Result</a>
        </div>
    </form>
</div>

Скриншот

Теперь у меня есть база данных table с колоннами

|sn|plan_name|poll|
|1 |Path way |0   |

Как я могу добавить / изменить значение poll в некоторых на выбирает radio button на голосовании form и щелкает голосование.

PS Вы можете ответить на идеи или помочь мне с кодом, если хотите.

2 ответа

Решение

Вы можете добавить значение для вашей радио-кнопки:

echo '<input type="radio" name="optionsRadios">';

После того, как вы это сделали, вы можете сделать ajax-вызов, чтобы обновить результаты, получив значение радиокнопки. Убедитесь, что добавили идентификатор к своей кнопке:

<button id='vote_button' type="button" class="btn btn-primary btn-sm">

Ajax Call:

$("#vote_button").click(function(){
    if($("input[type='radio'][name='optionsRadios']:checked").length > 0){
        var chosenvalue = $("input[type='radio'][name='optionsRadios']:checked").val();
        var dataString = 'paramX=' + chosenvalue;
        $.ajax({
            type: "POST",
            url: "yourfile.php",
            data: dataString,
            cache: false,
            success: function (html) {
            }
        });
    }
});

В своем вызове ajax вы можете обновить систему голосования, используя некоторый код PHP и SQL, например, где $val = переданное значение для вашего ajax:

UPDATE your_table SET poll = poll + 1 WHERE sn = $val

Но вам, вероятно, придется добавить больше кода, чем это, иначе люди могут просто спамить систему голосования.

Решение

JS / Ajax Script

<script src="js/jquery-latest.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript">
$("#vote_button").click(function(){
if($("input[type='radio'][name='optionsRadios']:checked").length > 0){
var chosenvalue = $("input[type='radio'][name='optionsRadios']:checked").val();
var dataString = 'paramX=' + chosenvalue;

$.ajax({
    type: "POST",
    url: "yourfile.php",
    data: dataString,
    cache: false,
    success: function (html) {
        console.log(html);
        $('.notice').html(html);

    },
    error: function(err) {
        console.log(err);
    }
});
}
});

HTML / PHP

<div id="voting">
<form>
    <div class="panel-body">                                
       <ul class="list-group">
            <?php
                while ($planvote = mysql_fetch_array($planresultv)) {
                    echo '<li class="list-group-item">';
                    echo '<div class="radio">';
                    echo '<label>';
                    echo '<input type="radio" name="optionsRadios" value="'.$planvote['sn'].'">';
                        echo $planvote['vdc_PlName'];                                               
                    echo '</label>';
                    echo '</div>';
                    echo '</li>';
                }
            ?>
        </ul>
    </div>
    <div class="panel-footer">
        <button id="vote_button" type="button" class="btn btn-primary btn-sm">
            Vote</button>
        <a href="#">View Result</a>
    </div>
</form>

Наконец это обновляет значение опроса в таблице базы данных.

Другие вопросы по тегам