从MySQL数据库创建独特的网页

时间:2012-12-02 19:50:44

标签: php mysql database webpage

我对网络开发很陌生(我对HTML的经验有限)。我正在创建一个辩论网站。目前,每个辩论都存储在MySQL数据库中。当用户将信息提交给数据库时,我希望创建一个新页面,其中包含他们的辩论,以及评论和评级的能力。

我遇到的问题是,从我迄今为止所做的研究来看,我找不到为每次辩论都有一个新网页的解决方案。有没有人对如何将数据写入独特的网页有任何建议?

谢谢, 乔治

3 个答案:

答案 0 :(得分:2)

假设您使用的是PHP和MySQL。

我会尽可能地保持这个简单,可能需要基本示例中的这些文件以及希望解释的SQL表(辩论,评论等)。

  • /debatelist.php | Dipslays所有辩论都有一种形式来进行辩论
  • /debateprocessor.php |您的“一体化”数据操作文件。
  • /debate_detail.php |辩论索引指向的详细信息页面。

表格以创建辩论

<form action='debateprocessor.php' action='POST'>
<input type='hidden' name='action' value='create'/>
<input type='text name='debate_name'/>
/// Other inputs - debate topic, debate author, subject etc? same as above
</form>

然后将表单数据发送到debateprocessor.php,我们将在那里进行清理和预制。

$ _ GET ['action'] =“创造”#这告诉我们,我们正在创造一场辩论 $ _GET [ 'debate_name'] = “SomeDebate”

debateprocessor.php - 你想把它拉进来:

if (mysql_real_escape_text($_GET['action'])) == 'create'){
    $debate_name = mysql_real_escape_text($_GET['debate_name']);
    //sanitize other variables as above

    //Insert debate name
    mysql_query=("INSERT INTO debates (debate_id,debate_name) VALUES ('$debate_name'");

}

注意动作if($ action =='foo'){//做某事; }语句 - 这将允许您在一个文件中处理更新(注释,编辑辩论名称等)。表单中的其他操作值可以是“edit”,“add_comment”等 - 您可以使用单独的文件来执行所有操作,但这样可以让您完成所有操作。你所要做的就是为修改表格的每个动作添加上面的elseifs或其他if语句。

所以展示你的辩论,你会有一个像桌子上的辩论主列表,比如你有

<强> debatelist.php

<?
$getDebates = mysql_query("SELECT * FROM debates";); 
$rowNum = 0;

while($row = mysql_fetch_array($getDebates))
{
    $thisDebate = $row['debate_name'];
    $thisDebateID = $row['debate_id'];;

    echo
    "
        <tr>
        <td>
           <a href='debate_detail.php?debateid=$thisDebateID'>
            $thisDebate
        </a>
        </td>

    </tr>
    ";
    $rowNum++;
}

这将输出一个辩论名单列表,其中包含指向ea的链接。辩论ID,由辩论ID提出的辩论的辩论_detail.php页面。在该文件中,您将使用SELECT的类似组合(仅使用'WHERE debate_id ='xyz',并且很可能在comments_id ='zyx'= debate_id ='zyx'上加入评论等表格。

答案 1 :(得分:1)

有一个查看请求的URI的脚本(查询字符串是最简单的查看地点foo.php?debate=1$_GET['debate'])并使用它来获取一条唯一标识您想要的辩论的信息(例如,您用于数据库表中主键的列的值)。

在数据库中查找该行,并将内容输出到页面。

(确保以防御SQL注入的方式将数据发送到数据库,并且不将用户输入回送到HTML而不转义或清理它以防御XSS)。

答案 2 :(得分:0)

您需要使用模板引擎,例如PHP。对于每个辩论,你传递一个不同的查询字符串,例如辩论id 1你可能有

www.example.com/debates?id=1

在您的PHP代码中,您可以检查此查询参数的值,并使用它从数据库中提取corrwect信息,允许您动态创建页面。