如何在不重新加载页面的情况下更新mysql数据库

Dan*_*Dan 2 javascript php mysql

谢谢你的期待.我有一个很长的项目列表,用户点击图像(加号)将项目添加到他们的个人列表中.当他们点击+它加载一个"add-item.php?itemid =*",它处理下面的代码,然后将它们重定向到他们自己的列表,我确实让它重定向回全局列表,但后来不清楚如果该项目已添加到其列表中,则为该用户.如何让它全部更新数据库而不去任何地方,我认为javascript但从未写过任何东西.任何帮助都会很精彩!:)

<?php 
ini_set('display_errors', 'On');
error_reporting(E_ALL);

 $bucketlist=MYSQL_QUERY( "SELECT * FROM membersbuckets where userid = $userid AND bucketid = $bucketid")
 or die(mysql_error());  

          $bucketlist=mysql_fetch_array( $bucketlist ) ;

            if($bucketlist < 1) {

            mysql_query("INSERT INTO membersbuckets (memberbucketid, userid, bucketid, complete)
            VALUES ('', '$userid', '$bucketid', '0')");
            echo "Adding item to your bucketlist...";
            echo "<meta http-equiv='Refresh' content='2; URL=mybucketlist.php'/>";
            }
            else {
            echo "This item is already on your list, redirecting you to your list";
            echo "<meta http-equiv='Refresh' content='2; URL=mybucketlist.php'/>";
            }
?> 
Run Code Online (Sandbox Code Playgroud)

先感谢您!:)

San*_*ath 5

你需要AJAX,就像所有人都说的那样.由于您从未编写过任何javascript,以下是完整的指南 -

  • 而不是你的path/to/add-item.php 写作itemId

  • 对于使用AJAX,请使用像Angelo建议的jquery.下载并添加以下内容

    <a href="add-item.php?itemid='.$itemId.'" > Add Item </a>
    
    Run Code Online (Sandbox Code Playgroud)
  • 最后在你的$_GET['itemId']文件中编写代码来添加项目.该参数path/to/add-item.php将在此处提供itemId.Ju st使用json_encode返回正确的状态值 -

    <a onclick="addItemToUsersList('.$itemId.')" > Add </a>
    
    Run Code Online (Sandbox Code Playgroud)