来自php js php的动作时不显示警报框

时间:2016-06-30 15:46:43

标签: javascript php html

我在显示提醒框时遇到问题。此代码为评级明星。

rating.js

$(document).ready(function(){
    $('.post li').mouseout(function(){  
        $(this).siblings().andSelf().removeClass('selected highlight')  
    }).mouseover(function(){
        $(this).siblings().andSelf().removeClass('selected');
        $(this).prevAll().andSelf().addClass('highlight');          
    })


    $('.post li').click(function(){
        $(this).prevAll().andSelf().addClass('selected');
        var parent = $(this).parent();      
        var oldrate =  $('li.selected:last', parent).index();

        parent.data('rating',(oldrate+1))
        data = new Object();
        data.id = parent.data('id');

        data.rating = parent.data('rating')

        $.ajax({
            url: "add_rating.php",// path of the file
            data: data,
            type: "POST",
            success: function(data) {    
            }
        });
    })  

    /* reset rating */
    jQuery('.post ul').mouseout(function(){ 
        var rating = $(this).data('rating');
        if( rating > 0) {
            $('li:lt('+rating+')',this).addClass('selected');
        }
    })
})

add_rating.php

<?php
include("dbconnection.php");
session_start();

$myid = $_SESSION['id'];

// echo "".$myid;

$sql_notification ="SELECT * FROM table_user_skills where user_id='$myid' and rating=5";
$result = $conn->query($sql_notification);
$count = 0;

while ($row=$result->fetch_assoc()) {
    if ($row['rating']==5) {
        $count = $count +1;
    }  
}

// echo "Count: ".$count;

if(!empty($_POST["rating"]) && !empty($_POST["id"])) {
    $myrate=$_POST["rating"];

    if($count<5){
        $query ="UPDATE table_user_skills SET rating='" . $_POST["rating"] . "' where rating_id='".$_POST['id']."'";
        $result = $conn->query($query);
        print '<script type="text/javascript">';
        print 'alert("Less than 5");';
        print '</script>';
    } else if($myrate<5){
        $query ="UPDATE table_user_skills SET rating='" . $_POST["rating"] . "' where rating_id='".$_POST['id']."'";
        $result = $conn->query($query);
        print '<script type="text/javascript">';
        print 'alert("Rate Less than 5");';
        print '</script>';
    }else if($count>5){
        print '<script type="text/javascript">';
        print 'alert("Lpas 5 stars");';
        print '</script>';
    }

    // $query ="UPDATE table_user_skills SET rating='" . $_POST["rating"] . "' WHERE skills_id='" . $_POST["skills_id"] . "'";
    // $query ="UPDATE table_user_skills SET rating='" . $_POST["rating"] . "' WHERE user_id='" . $_POST["userid"] . "' and skills_id='" . $_POST["id"] . "' and category_id='" . $_POST["category"] . "'";
}
?>

我的问题是警告框没有显示。我必须限制更新的5颗星的数量。如果有人能帮我弄清楚我的代码有什么问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

查看AJAX调用的成功回调函数 - 它是空的。您正在使用PHP打印出ajax调用中的警报框代码,然后再对该输出执行任何操作。

要显示警报,您必须将AJAX调用返回的代码追加到DOM。但是,最好只返回消息并让JavaScript代码负责提升警报框。只需要一个简单的alert(data)即可。