如何获取输入值并将其插入数据库

时间:2018-09-29 10:13:25

标签: javascript php ajax twitter-bootstrap

我已将一些星号值手动插入数据库中,我通过此代码获取并针对相关产品显示了该代码,现在已成功完成。我想在用户单击针对相关产品的星号时将新的星值插入数据库中

  

我使用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 :(得分:0)

@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为

<?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';
    }

?>