Javascript Jquery、Ajax没有触发正确的php函数

Javascript Jquery、Ajax没有触发正确的php函数,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,嗨,我有一个小项目,其中我有两个标签,即新闻和编辑新闻。打开页面时,“新闻”选项卡将默认显示一些新闻。当用户切换到编辑新闻选项卡时,他可以从选择框中选择他想要的是最近4周还是6周的新闻。在“选择”和“提交”按钮上单击,他可以再次切换到编辑新闻的新闻选项卡。到目前为止,我能够正确管理我的选项卡。我在这里面临的唯一问题是,当用户从选择框和提交按钮中选择新闻时,我无法触发保存新闻小部件功能,该功能将调用我的数据库查询部分来更新我的新闻。因此,在提交按钮之后,我也触发获取新闻小部件功能,默认情况下,我获

嗨,我有一个小项目,其中我有两个标签,即新闻和编辑新闻。打开页面时,“新闻”选项卡将默认显示一些新闻。当用户切换到编辑新闻选项卡时,他可以从选择框中选择他想要的是最近4周还是6周的新闻。在“选择”和“提交”按钮上单击,他可以再次切换到编辑新闻的新闻选项卡。到目前为止,我能够正确管理我的选项卡。我在这里面临的唯一问题是,当用户从选择框和提交按钮中选择新闻时,我无法触发保存新闻小部件功能,该功能将调用我的数据库查询部分来更新我的新闻。因此,在提交按钮之后,我也触发获取新闻小部件功能,默认情况下,我获取的是新闻,而不是编辑的新闻。谢谢。 这是我的密码:

dashboard.php

if($param['aktion'] == 'save-widget-news')
{
    //$param['news'] 
    //UPDATE SQL...
        $page['register-news'] = array(
        1   => array( 'News','aktiv',$page['script'],'',''),
        0   => array( 'Edit News','enabled',$page['script'],''),    
    );
    //echo $selectValue=$_POST['news'];
    if(isset($_POST['Save']))
    {
        if(($selectValue)==4){

    echo  $sql=" SELECT DISTINCT ad_news_texte.headline, ad_news.datum_archiv
FROM ad_news_texte
INNER JOIN ad_news_oe ON ad_news_texte.news_id = ad_news_oe.id_ad_news
INNER JOIN ad_news ON ad_news_oe.id_ad_news = ad_news.id
WHERE ad_news.datum_archiv
BETWEEN curdate( ) - INTERVAL DAYOFWEEK( curdate( ) ) +28
DAY AND curdate( )
";

$sql_select=mysql_query($sql);

}
 elseif(($selectValue)==6){

      $sql=" SELECT DISTINCT ad_news_texte.headline, ad_news.datum_archiv
FROM ad_news_texte
INNER JOIN ad_news_oe ON ad_news_texte.news_id = ad_news_oe.id_ad_news
INNER JOIN ad_news ON ad_news_oe.id_ad_news = ad_news.id
WHERE ad_news.datum_archiv
BETWEEN curdate( ) - INTERVAL DAYOFWEEK( curdate( ) ) +42
DAY AND curdate( )
";

$sql_select=mysql_query($sql);

}

$html = '<table width="538" cellspacing="0" cellpadding="0" border="0">
        <tr>
            <td>
                <div>'.CreateRegister($page['register-news']).'</div>
                '.CreateMessage().'
                <div class="cont-liste-verlauf register"> ';
                while($row = mysql_fetch_array($sql_select)){       
                $news_result = $row['headline'] . " " .$row['datum_archiv'] ; 

                $html .= '<table id="news"> 
                        <div class="welcome-rahmen krz toggleNews">  

                       <p class="welcome-subheadline"><input type="hidden" name="type" value="'. $news_result .'" ></p> ';
                      }

                $html .= '</div></table>            
            </div>
        </td>
    </tr>
</table>';


                    $return = array(
            'status' => 1,
            'html'  => $html
        );

    echo json_encode($return);
    die();
    }
    else{
    $param['aktion'] = 'get-widget-news';
}
}



if($param['aktion'] == 'get-widget-news')
{
    $newsId = 1;
    $page['register-news'] = array(
        1   => array( 'News','aktiv',$page['script'],''),
        0   => array( 'Edit-News','enabled',$page['script'],'',''), 
    );
        $param['aktion'] = 'save-widget-news';
        $html = '<table width="538" cellspacing="0" cellpadding="0" border="0" >
            <tr>
                <td>
                <div>'.CreateRegister($page['register-news']).'</div>
                '.CreateMessage().'
                <div class="cont-liste-verlauf register">               
                <table id="news">
<div class="welcome-rahmen lng toggleNews" id="news_269_kurz">
<a href="news.php?id=269" class="TrackNews" id="01" target="_blank">
<p class="welcome-breadcrump">Montag, 19.05.2014</p>
<p class="welcome-subheadline">Teilnahme von MAN Top Used an der Samoter 2014</p>
</a>
</div>

<div class="welcome-rahmen lng toggleNews" id="news_264_kurz">
<a href="news.php?id=264" class="TrackNews" id="02" target="_blank">
<p class="welcome-breadcrump">Freitag, 24.01.2014</p>
<p class="welcome-subheadline">Kaufvertrag: neue Porsche-Vorlage zum Drucken!</p>
</a>
</div>


</table>
</div>
</td>
</tr>
</table>';

    $return = array(
            'status' => 1,
            'html'  => $html
        );

    echo json_encode($return);
    die();
}

if($param['aktion'] == 'get-widget-news-edit')
{


    $page['register-news'] = array(
        0   => array( 'News','enabled',$page['script'],'',''),
        1   => array( 'Edit News','aktiv',$page['script'],''),  
    );

    $html = '<table width="538" cellspacing="0" cellpadding="0" border="0">
            <tr>
                <td>
                <div>'.CreateRegister($page['register-news']).'</div>
                '.CreateMessage().'
                <div class="cont-liste-verlauf register">

                            <form name="UserInformationForm" method="POST" >
                            <table id="news">

                        <select name="news" id="news">
                                <option value="4">Show news from last 4 weeks</option>
                    <option value="6">Show news from last 6 weeks</option>                              
                        </select>
                        <br/><br/>

                            </table>
                            '.CreateButton($page['button']).'
                            </form> 

                    </div>
            </td>
        </tr>
    </table>';

    $return = array(
            'status' => 1,
            'html'  => $html
        );

    echo json_encode($return);
    die();
}

在我看来,您在提交页面的同时也在运行ajax调用。你需要停止像这样提交页面

$('#news .butt-rahmen').live('click', function(e) {

    e.preventDefault(); // this will stop the form being submitted and reloading the page

    if($(this).attr('id') == 'saveId') {
        saveNewsWidget();
    } 
});
请注意,
e
也作为函数参数传递


另外,我假设您使用的是较旧版本的jQuery,因为
live()
已被弃用,并被
on()
取代。如果您使用的是较新的版本,那么您也需要更改它。对于您所拥有的内容,只需将
live
更改为
on

就可以了。在我看来,您在提交页面的同时也在运行ajax调用。你需要停止像这样提交页面

$('#news .butt-rahmen').live('click', function(e) {

    e.preventDefault(); // this will stop the form being submitted and reloading the page

    if($(this).attr('id') == 'saveId') {
        saveNewsWidget();
    } 
});
请注意,
e
也作为函数参数传递


另外,我假设您使用的是较旧版本的jQuery,因为
live()
已被弃用,并被
on()
取代。如果您使用的是较新的版本,那么您也需要更改它。对于您所拥有的内容,只需将
live
更改为
on

就可以了。在我看来,您在提交页面的同时也在运行ajax调用。你需要停止像这样提交页面

$('#news .butt-rahmen').live('click', function(e) {

    e.preventDefault(); // this will stop the form being submitted and reloading the page

    if($(this).attr('id') == 'saveId') {
        saveNewsWidget();
    } 
});
请注意,
e
也作为函数参数传递


另外,我假设您使用的是较旧版本的jQuery,因为
live()
已被弃用,并被
on()
取代。如果您使用的是较新的版本,那么您也需要更改它。对于您所拥有的内容,只需将
live
更改为
on

就可以了。在我看来,您在提交页面的同时也在运行ajax调用。你需要停止像这样提交页面

$('#news .butt-rahmen').live('click', function(e) {

    e.preventDefault(); // this will stop the form being submitted and reloading the page

    if($(this).attr('id') == 'saveId') {
        saveNewsWidget();
    } 
});
请注意,
e
也作为函数参数传递

另外,我假设您使用的是较旧版本的jQuery,因为
live()
已被弃用,并被
on()
取代。如果您使用的是较新的版本,那么您也需要更改它。如果我没有错的话,你可以直接把
live
改为
on

请检查您的mysql连接是否正确。如果合适的话,你可以检查一下 是否要进入一个if循环,即 如果($selectValue)==4) 或 如果($selectValue)==6)

如果您的代码没有进入其中,则If循环查询可能不会执行,因此不会生成结果。

如果我没有错的话 请检查您的mysql连接是否正确。如果合适的话,你可以检查一下 是否要进入一个if循环,即 如果($selectValue)==4) 或 如果($selectValue)==6)

如果您的代码没有进入其中,则If循环查询可能不会执行,因此不会生成结果。

如果我没有错的话 请检查您的mysql连接是否正确。如果合适的话,你可以检查一下 是否要进入一个if循环,即 如果($selectValue)==4) 或 如果($selectValue)==6)

如果您的代码没有进入其中,则If循环查询可能不会执行,因此不会生成结果。

如果我没有错的话 请检查您的mysql连接是否正确。如果合适的话,你可以检查一下 是否要进入一个if循环,即 如果($selectValue)==4) 或 如果($selectValue)==6)


如果您的代码没有进入其中,则If循环查询可能不会执行,因此不会生成结果。

您可以尝试将连接变量()传递给mysql\u query()函数 $sql\u select=mysql\u查询($sql$connection)


您还可以尝试在代码中的一行中进行查询。

您可以将连接变量()传递给mysql\u query()函数 $sql\u select=mysql\u查询($sql$connection)


您还可以尝试在代码中的一行中进行查询。

您可以将连接变量()传递给mysql\u query()函数 $sql\u select=mysql\u查询($sql$connection)


您还可以尝试在代码中的一行中进行查询。

您可以将连接变量()传递给mysql\u query()函数 $sql\u select=mysql\u查询($sql$connection)


您也可以尝试在代码中的一行中进行查询。

您好,这不是问题。是的,它的定价降低了,但对我来说工作正常,现在我可以在提交时调用编辑新闻按钮,但我得到了mysql\u fetch\u array():提供的参数在while循环中不是有效的MySQL结果资源…但我在MySQL中运行了查询,并且它运行正常。你能告诉我我在查询部分做错了什么吗?这是php人员的另一个问题——恐怕我无能为力。你只要再提出一个问题,你就会得到相关的帮助。您还从问题中删除了显示此答案所修复内容的代码。我会回退的-请不要这样做,因为这个网站是为每个访问的人,而不仅仅是提问者。这不像一个论坛:)嗨,这不是什么问题。是的,它的价格下降了,但它在这里对我来说工作得很好,现在我可以在提交按钮上调用编辑新闻,但我得到了mysql_fetch_array():提供的参数在while循环中不是有效的mysql结果资源…但我在mysql中运行了我的查询,它运行正常。你能告诉我我在做什么吗