结语
在这一篇中,我们学习了一些新的用来实现与MySQL数据库服务接口的PHP函数。使用这些函数,我们建立了我们的第一个数据库驱动的网站,我们的这个网站可以在线地发布我们数据库中笑话并允许访问者向其中添加他们自己的笑话。
在之后的文章中,我们会回到MySQL命令行去学习如何使用关系型数据库的原理以及其他一些更高级的SQL查询去描述更为复杂的信息,并给予访问者对他们自己添加的笑话以特别的权限!
挑战的解决
这是我们上面提出的“家庭作业”的解决方案。要在每一个笑话后面添加一个“Delete this Joke”连接,必须作下面的改动:
之前,我们曾经在我们的页面的底端的“Add a Joke!”连接中传递过一个$addjoke变量,通过这个变量来通知我们的脚本不再显示通常的笑话列表,而是显示一个录入笑话的表单。与此相类似,我们在我们的“Delete
this Joke”连接中传递一个$deletejoke变量来表示我们想要删除一个笑话。
在获得每一个笑话的JokeText列的同时,我们还获得了ID列的值,所以我们获得了与数据库中每一个笑话关联的ID。
我们将要删除的笑话的ID值赋予$deletejoke变量。这是通过将从数据库中获得的ID值插入到每一个笑话的“Delete this Joke”连接中来实现的。
使用了一个if 语句,如果在载入这一页时,我们的$deletejoke被赋予了一个值使用isset函数),我们会在一个SQLDELETE语句中使用这个值将被删除的笑话的ID)来删除指定的笑话。
这儿是全部的源代码:
...
// If the user wants to add a joke if (isset($addjoke)): ?>
else: // Connect to the database server $dbcnx = @mysql_connect( "localhost", "root", "mypasswd"); if (!$dbcnx) { echo( "Unable to connect to the " . "database server at this time. " ); exit(); } // Select the jokes database if (! @mysql_select_db("jokes") ) { echo( "Unable to locate the joke " . "database at this time. " ); exit(); } // If a joke has been submitted, // add it to the database. if ("SUBMIT" == $submitjoke) { $sql = "INSERT INTO Jokes SET " . "JokeText='$joketext', " . "JokeDate=CURDATE()"; if (mysql_query($sql)) { echo("Your joke has been added. "); } else { echo("Error adding submitted joke: " . mysql_error() . " "); } } // If a joke has been deleted, // remove it from the database. if (isset($deletejoke)) { $sql = "DELETE FROM Jokes " . "WHERE ID=$deletejoke"; if (mysql_query($sql)) { echo("The joke has been deleted. "); } else { echo("Error deleting joke: " . mysql_error() . " "); } } echo("Here are all the jokes " . "in our database: "); // Request the ID and text of all the jokes $result = mysql_query( "SELECT ID, JokeText FROM Jokes"); if (!$result) { echo("Error performing query: " . mysql_error() . " "); exit(); } // Display the text of each joke in a paragraph // with a "Delete this Joke" link next to each. while ( $row = mysql_fetch_array($result) ) { $jokeid = $row["ID"]; $joketext = $row["JokeText"]; echo("$joketext " . "" . "Delete this Joke "); } // When clicked, this link will load this page // with the joke submission form displayed. echo("" . "Add a Joke! "); endif; ?>
|
/php/18716.htmlwww.phpzy.comtrue/php/18716.htmlTechArticle结语 在这一篇中,我们学习了一些新的用来实现与MySQL数据库服务接口的PHP函数。使用这些函数,我们建立了我们的第一个数据库驱动的网站,我们的这个...
PHP之友评论