php单选按钮自动更新数据库表

时间:2011-07-31 08:13:28

标签: php jquery mysql ajax

我有两个单选按钮

<div align="center" class="radio_group">
    <input type="radio" id="gallerymenustyle1" class="element radio" name="gallerymenustyle[]" value="1" /> Gallery Link - In the navigation of my website, display one "gallery" link<br />
    <input type="radio" id="gallerymenustyle2" class="element radio" name="gallerymenustyle[]" value="2" /> Category Links - In the navigation of my website, display a separate link to each category.
</div>

如果我点击其中一个单选按钮而不点击提交按钮,如何更新一行中的一个字段?

这是我到目前为止所拥有的

$(function(){
           $(':radio').click(function(){
             if($(this).is(':checked')) 
              {
                   var galleryMenuStyleVal = $(this).val();
                   $.ajax({
                  type: 'POST',
                  url: '<?php echo BASE_URL; ?>ajax/ajax_methods_gallery.php',
                        data: 'showGalleryMenuStyleFromEditPage=' + galleryMenuStyleVal
                    });
              }
           });
        }); 


if($_POST['showGalleryMenuStyleFromEditPage'] !== null || $_POST['shoGalleryMenuStyleFromEditPage'] !== 0){
    $userObj = new User();
    if($_POST['showGalleryMenuStyleFromEditPage'] == 1){
        $query = "UPDATE users SET gallery_menu_style = 1";
        $userObj->updateUserGalleryMenuStyle($query);
    } else if ($_POST['showGalleryMenuStyleFromEditPage'] == 2){
        $query = "UPDATE users SET gallery_menu_style = 2";
        $userObj->updateUserGalleryMenuStyle($query);
    } 
}

是我的jquery正确包括PHP的一些部分?因为它不起作用

1 个答案:

答案 0 :(得分:1)

在这一行:

if($_POST['showGalleryMenuStyleFromEditPage'] !== null || $_POST['shoGalleryMenuStyleFromEditPage'] !== 0){

您在第二个$ _POST值上使用了'shoGalleryMenuStyleFromEditPage'而不是'showGalleryMenuStyleFromEditPage'。因此,它不允许任何东西通过初始if语句。

您还使用了!== 0代替!= 0

这就是为什么使用短按键/名字并不是一个坏主意......

如果它仍然不起作用,请使用Firebug确定您的jQuery是否实际发送了任何内容。