如何从数据库调用列并使用HTML代码设置其格式

时间:2019-04-05 16:32:39

标签: php html css

实际上,我是HTML,CSS和PHP的初学者。我有用于添加和注册课程的简单网站。应该将用户添加到网站中并将课程发布在网站上,以便用户可以浏览和注册。

实际上,我的问题是如何从数据库中调用课程名称,以及如何根据需要用HTML代码格式化课程名称。

这是课程页面,内容是网站上可用课程的列表(请注意,这只是HTML代码,我这样做是为了查看页面的外观)

页面截图:

screenshot of page

如您所见,第一页包含许多此HTML代码,使用以下代码将课程列表添加到网站中:

<div class="card card-1">
  <a href="http://127.0.0.1/project2/course details/course1.php">
    <img src="http://127.0.0.1/project2/icons/coursepic.jpg" alt="Avatar" style="width:101% "></a>      <div class="container">
    <h4 class="textstyle"><b>Operating System</b> </h4>
    <p class="textstyle">Free Course</p>
  </div>
</div>

我想用PHP做什么?

我想编写一个PHP代码,用课程名称(数据库中每个可用课程的课程费用)替换P和h4。

请注意:每门课程的图片都来自我的电脑,无需从数据库中调用图片。

我试图编写如下的PHP代码:

        <div>

    <div class="card card-1">
  <a href="http://127.0.0.1/project2/course details/course1.php">
    <img src="http://127.0.0.1/project2/icons/coursepic.jpg" alt="Avatar" style="width:101% "></a>      <div class="container">     

    <?php 

     include_once("db.php");
    $result = mysqli_query(OpenCon(), "SELECT Course_Name,cost FROM `course`");
    //while($res = mysql_fetch_array($result)) { // mysql_fetch_array is deprecated, we need to use mysqli_fetch_array 
    while($res = mysqli_fetch_array($result)) {         
    echo "<p>".$res['Course_Name']."</p>";   
    echo "<p>".$res['cost']."</p>";   

    }

    ?>

</div>
</div>




        </div>

这是我的结果:

screenshot of page

可以,但是我希望样式像第一个屏幕截图一样。每个课程都应该有图片。

之后,当用户单击课程名称时。我想转到另一个包含课程详细信息的页面(对于用户单击的同一课程),这也是我的数据库所需要的

像这样:

screenshot of page

我希望任何人都只能帮助我解决此问题,我只能在2天内解决此问题。很抱歉,如果我的解释不好。

提前感谢大家。

1 个答案:

答案 0 :(得分:0)

将代码放入PHP循环中.....

所以,这个

<div class="card card-1">
    <a href="http://127.0.0.1/project2/course details/course1.php">
        <img src="http://127.0.0.1/project2/icons/coursepic.jpg" alt="Avatar" style="width:101% ">
    </a>     
    <div class="container">
        <h4 class="textstyle"><b>Operating System</b> </h4>
        <p class="textstyle">Free Course</p>
    </div>
</div>

成为(在清理了一点代码之后-我认为您并不是要在其中使用两个<p>,但我把它们留在了上面以便可以看到。请注意,对段使用不同的行会可以轻松了解自己的财产。)

include_once("db.php");
$result = mysqli_query(OpenCon(), "SELECT Course_Name,cost FROM `course`");
$count = 0;
while($res = mysqli_fetch_array($result)) {         
    $count ++;    
    // NOTE: Here is the LOOP! - not outside the query, but INSIDE it
    // First you 'jump out' of PHP, going back to HTML
    ?> <!-- now you are in HTML (when you need PHP again, you 'jump in' and 'jump out' as needed - see the code below....) -->
    <div class="card card-<?php echo $count;?>">
        <a href="http://127.0.0.1/project2/course details/course<?php echo $count;?>.php">
            <img src="http://127.0.0.1/project2/icons/coursepic.jpg" alt="Avatar" style="width:101% ">
        </a>     
        <div class="container">
            <h4 class="textstyle">
                <b><p><?php echo $res['Course_Name'];?></p></b> 
            </h4>
            <p class="textstyle">
                <p><?php echo $res['cost'];?></p>
            </p>
        </div>
    </div>
    <?php // we are in PHP again....  
}

这应该可以满足您的要求-尽管我会更进一步(嗯,不止一个...),并尽可能地发挥这种动态作用。

为此,我假设:

  1. 您的数据库表中有一个名为“ id”的列(如果没有,您应该有),并且它与课程编号相关(如果它们不匹配,则可以创建一个课程编号列,但是我保持简单)
  2. 您所有标有'coursepicX'的图片,其中X是课程编号。

如果没有图片,我们将默认使用'coursepic'...

现在,代码更加动态!

include_once("db.php");
$result = mysqli_query(OpenCon(), "SELECT id,Course_Name,cost FROM `course`");
while($res = mysqli_fetch_array($result)) {         
    // NOTE: Here is the LOOP! - not outside the query, but INSIDE it
    // First you 'jump out' of PHP, going back to HTML
    ?> <!-- now you are in HTML (when you need PHP again, you 'jump in' and 'jump out' as needed - see the code below....) -->
    <div class="card card-<?php echo $res['id']?>">
        <a href="http://127.0.0.1/project2/course details/course<?php echo $res['id']?>.php">
            <?php 
            $pic = "http://127.0.0.1/project2/icons/coursepic.jpg";
            if(file_exists("http://127.0.0.1/project2/icons/course" . $res['id'] . ".jpg") {
                $pic = "http://127.0.0.1/project2/icons/course" . $res['id'] . ".jpg";
            }
            <img src="<?php echo $pic; ?>" alt="Avatar" style="width:101% ">
        </a>     
        <div class="container">
            <h4 class="textstyle">
                <b><p><?php echo $res['Course_Name'];?></p></b> 
            </h4>
            <p class="textstyle">
                <p><?php echo $res['cost'];?></p>
            </p>
        </div>
    </div>
    <?php // we are in PHP again....  
}

请注意,这是基本的“购物车”程序,您可能会在职业生涯中多次(多次)使用它。

快乐编码!