Как получить входное значение и вставить его в базу данных - PullRequest
0 голосов
/ 29 сентября 2018

я вручную вставил некоторые значения звездочек в базу данных, которые я извлекаю и отображаю для соответствующих продуктов через этот код, что успешно сделано. Теперь я хочу вставить новое значение звездочек в базу данных, когда пользователь нажимает на звездочки для соответствующего продукта

я использую php в качестве языка на стороне сервера и базы данных mysql

 <?php
    include("sessiondestroy.php");
    include("functions.php");
    $ip = getRealIPAddr();
    include("header.php");
    include("leftside.php"); 
    ?>

                <td width="53%" style="align-left:15px;" valign="top" >
                <div class="row" align="center" >

                <?php 
                $con = mysqli_connect('localhost','root',"",'furniture_store');
                mysqli_select_db($con,'furniture_store');
                $query="select product_id, product_name, s_price, product_pick, rating from product";
                $run=mysqli_query($con,$query);
                while($row=mysqli_fetch_array($run)){
                    $id=$row['product_id'];
                    $name=$row['product_name'];
                    $image=$row['product_pick'];
                    $rating=$row['rating'];
                ?>

                <div class="col-md-3" align="center" style="border:#CCCCCC solid 1px; margin:15px; padding:8; ">
                <div class="container fill">
                <div class="modal-body">
                <form action="index.php" method = "post">
                <table>
                <tr align="centr">
                <td align="center"><?php echo $name; ?></td>
                </tr>
                <tr>
                <td> &nbsp </td>
                </tr>
                <tr>
                <td ><img width="100px" height="140px"  src="admin/AdminLTE/<?php echo $image; ?>"></td>
                </tr>
                <tr>
                <td> &nbsp </td>
                </tr>
                <tr align="left">
                <td style="padding-right:15px;"><input id="input-1" name="input-1" class="rating rating-loading" value="<?php echo $rating; ?>" data-min="0" data-max="5" data-step="0.1" data-size="" data-show-clear="false" data-show-caption="false"></td>
                </tr>
                <tr>
                <td> &nbsp </td>
                </tr>
                <tr>
                <td align="center"><a href="userside_productdetail.php?id=<?php echo $id; ?>"><input type="submit" name="detail" class="btn btn-success" value="Details"></a></td>
                </tr>
                </table>
                </form>
                </div>
                </div>
                </div>
                <?php } ?>
                </div>
                </td>

    <?php include("rightside.php"); ?>
    <?php include("footer.php"); ?>
    <script>
    $("#input-id").rating();
    </script>
    </body>
    </html>

1 Ответ

0 голосов
/ 29 сентября 2018

@ yawar Вы можете использовать метод jquery $ .post, чтобы сохранить значение рейтинга в базе данных, и это просто.Но дело в том, что вы не упомянули, какую базу данных вы используете, какой язык на стороне сервера вы используете, и даже не упомянули рейтинг ссылки.Является ли этот рейтинг для пользователя, продукта или комментария или что-то еще ..

Здесь мы идем: Хотя это очень простой пример, чтобы получить результат, новам нужно больше тренироватьсяДанный пример кода приветствует XSS и SQL-инъекцию.Эту часть я не могу описать здесь, так как она требует хорошего понимания всего вашего кода и применения его там, где это требуется, что может потребовать большого количества изменений во всем вашем коде.Я надеюсь, что вы рассматриваете этот пример кода только в качестве примера, а не как решение.

Шаг 1: Измените

<td style="padding-right:15px;"><input id="input-1" name="input-1" class="rating rating-loading" value="<?php echo $rating; ?>" data-min="0" data-max="5" data-step="0.1" data-size="" data-show-clear="false" data-show-caption="false"></td>

с помощью

<td style="padding-right:15px;"><input id="input-1" name="input-1" class="rating rating-loading" value="<?php echo $rating; ?>" data-min="0" data-max="5" data-step="0.1" data-size="" data-show-clear="false" data-show-caption="false" data-product-id="<?php echo $id;?>"></td>

Шаг 2: Изменить

<script>
    $("#input-id").rating();
</script>

с

<script>
    $("#input-id").rating();

    $(document).on('change','.rating',function(){
        var prating = $(this).val();
        var product_id = $(this).data('product-id');
        $.post("updRating.php",{prating: prating, product_id: product_id})
        .done(function( data ) {
            if(data == 'Success'){
                alert( "Thank you for give your rating..." );
            }else{
                alert( "Opps!!! something went wrong, please try again" );
            }
        });
    })

</script>

Шаг 3: Создать один файл PHP для рейтинга обновлений длятовар.например.updRating.php as

<?php 
    $con = mysqli_connect('localhost','root',"",'furniture_store');
    mysqli_select_db($con,'furniture_store');
    $rating = $_POST['prating'];
    $product_id = (int)$_POST['product_id'];
    $query = "update product set rating = '".$rating."' where product_id = ".$product_id;
    if(mysqli_query($con,$query)){
        echo 'Success';
    }else{
        echo 'Error';
    }

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...