如何使用MySQL数据库中的数据填充HTML列表?

时间:2011-09-17 21:28:23

标签: php javascript mysql html

我有一个html网页,它包含一个无序列表。因此,我想使用存储在MySQL数据库中的项目来填充此列表,提供一个示例项目是清楚的。

<ul class="content">
    <li class="class1">
        <p id="id1">paragraph1</p>
        <div class="class1sub">
            <p>paragraph1sub</p>
        </div>
    </li>

所以我想从数据库中检索整个列表项并将其显示在网页上。问题是除了要设置样式的CSS类和ID之外,每个列表项都存储在数据库中。以下是几个项目的示例:

  

liclass - id - paragraph1 - divclass - paragraph2

所以我想的可能是使用JavaScript / PHP和MySQL ......但是我脑子里没有启动代码......有什么帮助吗?

2 个答案:

答案 0 :(得分:6)

PHP绝对是完成这项工作的方法。我在很多项目中都使用了CodeIgniter php框架。它的设置和使用非常简单,但您可以随意购物,找到最适合您的产品。我会尽量不要在这里特定于CodeIgniter,但如果你选择这条路线,你可以在基本的database function with CodeIgniter上查看这个视频。

基本上无论你选择做什么,都会有很少的基本部分。您输入数据库名称,用户名和密码的一些配置区域。

示例数据库配置文件:

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "myusername";
$db['default']['password'] = "mypassword";
$db['default']['database'] = "mydatabse";
$db['default']['dbdriver'] = "mysql";

既然php知道如何与你的数据库交谈,那么就该获取数据并将其发送出去了。

下一部分对CodeIgniter更具体,主要是因为这是我最有经验的,但许多其他框架都是类似的。接下来的三个代码剪辑将代表三个不同的文件。我们的想法是从前端内容中抽象/删除后端数据库内容。这被称为Model-View-Controller(MVC)

运行查询(模型):

function getData()
{
    $query = $this->db->get('myTable');
    return $query->result();
}

设置该数据并将其发送到您的视图(Contorller):

function addReceipt()
{
    $data = array();

    if($query = $this->my_model->getData())
    {
        $data['content'] = $query;
    }   
    $this->load->view('my_view', $data);
}

最后通过循环记录并使用php echo(View)显示您的数据:

<ul class="content">
<?php if(isset($content)) : foreach($content as $row) : ?>
    <li class="<?php echo $row->liclass; ?>">
        <p id="<?php echo $row->ID; ?>"><?php echo $row->paragraph1; ?></p>
            <div class="<?php echo $row->divclass; ?>">
                    <p><?php echo $row->paragraph2; ?></p>
            </div>
    </li>
    <?php endforeach; ?>
</ul>

答案 1 :(得分:0)

如果你在这里展示你的PHP代码,这将是有趣的: 但这就是你应该做的事情

<?php

mysql_connect('hostname','username','password');
mysql_select_db('dbname');
$sql = "select *from tablename";
$run = mysql_query($sql);
echo "<table>";
echo "<tr><th>NAME</th><th>SURNAME</th><th>GENDER</th><th>BIRTHDAY</th></tr>";
 $i = 1;
while($row = mysql_fetch_array($run)){
   if($i%2 == 0) $bgcolor = 'lightblue';else $bgcolor = 'white';
   $i++;
   echo "<tr style='backgroundcolor".$bgcolor."'><td>NAME</td><td>".$row['SURNAME']."</td><td>".$row['GENDER']."</td><td>".$row['BIRTHDAY']."</td></tr>";
}
echo "</table>";
?>