在PHP的CMS主页

时间:2011-12-07 15:28:26

标签: php

我正在做一些有2页的事情。一个是index.php,另一个是admin.php。我正在创建CMS页面,您可以自己编辑页面上的信息。然后它将转到存储信息的数据库。我还必须拥有用户可以更新页面信息的位置。我在这里有点困惑。比如我在这里调用数据库,我正在启动一个名为get_content的函数:

<?php
function dbConnect(){

$hostname="localhost";
$database="blank";
$mysql_login="blank";
$mysql_password="blank";

 if(!($db=mysql_connect($hostname, $mysql_login, $mysql_password))){
    echo"error on connect";
 }
 else{
    if(!(mysql_select_db($database,$db))){
        echo mysql_error();
        echo "<br />error on database connection. Check your settings.";
    }
    else{

        return $db;
        }

}

function get_content(){

$sql = "Select PageID,PageHeading,SubHeading,PageTitle,MetaDescription,MetaKeywords From tblContent ";
$query = mysql_query($sql) or die(mysql_error());
while ($row =mysql_fetch_assoc($query,MYSQL_ASSOC)){
$title =$row['PageID'[;
$PageHeading =$row['PageHeading'];
$SubHeading = $row['SubHeading'];
$PageTitle = $row['PageTitle'];
$MetaDescription =$row['MetaDescription'];
$MetaKeywords = $row['MetaKeywords'];


 ?>

然后在索引页面上,我将在有人可以改变的地方回应它:

<h2><a href = "admin.php"><?php echo mysql_result($row,0,"SubHeading");?>A Valid XHTML and CSS Web Design by WG.</a></h2>

我知道该功能尚未完成我仍在研究那部分。我想知道的是我正确地回应它还是我离开了。这是我第一次在PHP中弄乱CMS,我还在学习它。我正在使用navicat和文本垫,是的,我知道这是旧学校,但这就是我所展示的内容。但我的索引是一个形式而不是博客。我已经看到很多用于博客的CMS页面与表格一起使用的很多。任何意见都将被视为感谢您阅读我的问题。

1 个答案:

答案 0 :(得分:0)

您的问题有点混乱,您的代码非常不完整。如果你以正确的方式做到这一点我很难说,因为我没有看到脚本的其余部分。您还需要连接到那里的数据库并获取数据。 $ row变量只存在于函数get_content()中的while语句中。

您可以完成get_content()并在index.php中使用它。请记住,您在函数内定义的变量仅在那里可用。如果您需要该函数外部的数据,则需要返回所需的值并将其保存到其他变量中。如果您在index.php中的get_content()函数中执行相同操作,那么您只需回显您定义的变量。像这样:

<h2><a href="admin.php"><?php echo $SubHeading; ?></a></h2>

或者你也可以在php标签里面这样做:

echo '<h2><a href="admin.php">{$SubHeading}</a></h2>';

我希望能回答你的问题。

修改 index.php页面中你需要的就是你在admin文件中所做的。您需要使用mysql_connect()连接到db并选择db mysql_select_db()。然后,您需要使用$query = mysql_query($sql)的相应查询从数据库中选择数据。如果它想要显示的行多于一行,则需要将其置于while循环中(这似乎就是这种情况),您只需要执行一个$row = mysql_fetch_assoc($query)。之后,您可以使用$row['column_name']获取数据。如果您有多行,则可以在while循环中使用$row['column_name']来获取每个连续行的数据。

这是一个示例index.php:

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password') or
        die('Could not connect: ' . mysql_error());

mysql_select_db('database_name')) or die('Could not select database: ' .
        mysql_error());

$sql = "SELECT SubHeading FROM tblContent WHERE PageID='1' LIMIT 1;";
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);

echo '<h2><a href="admin.php">{$row[\'SubHeading\']}</a></h2>';

mysql_close();
?>

这正是您从数据库中显示SubHeading所需的内容。您可能还需要处理表单并将提交的数据保存到admin.php文件中的数据库中。