我如何从MySQL数据库中获取数据的项目列表


How do i make a list of items that takes data from a MySQL database

我有一个HTML/CSS "contentbox"(它基本上是一个盒子,包括图像,标题,描述,名称等产品或项目),我有一个数据库表与所有这些信息的很多项目/产品。
我想从数据库中获取product1(title, image, description)中的所有数据,并将其放入我的contentbox中。
我想对表中的所有产品都这样做并将所有内容框显示在彼此下面。有点像克雷格列表中的销售广告。
我该怎么做呢?我需要javascript吗?我从哪里开始?我对编程了解不多,我在边学边做。

我意识到我应该在我的问题中加入一些代码,所以这里有另一个问题:
我有一个div容器,看起来像这样:

<div class="contentBox">
                <div id="column1">
                    <img src="images/gallery/girlthinking.jpg" alt="" id="imagen">
                </div>
                <div id="column2">
                    <p class="tituloanuncio"><b>Titulo del anuncio</b></p>
                    <p class="descripcionanuncio">Descripcion kfewoijfew</p>
                </div>
                <div id="column3">
                    <p class="precioanuncio"><b>$1000</b></p>
                    <p class="contactoanuncio"><b>Contacto<br></b>Dueño: Alejandro<br>Telefono: 8331578460<br>jorgegilcavazos@gmail.com<br>Facebook</p>
                </div>
</div>

它在html中工作,我想用我的表中的数据替换默认值,例如它说。

<div id="column2">
                    <p class="tituloanuncio"><b>Titulo del anuncio</b></p>
                    <p class="descripcionanuncio">Descripcion kfewoijfew/p>
 </div>

我想将"titulo del anuncio"替换为"anuncio_titulo"列,并将"descripcion kfewoijfew"替换为"anuncio_descripcion"列。

我有这段php代码,显示前面提到的2列的所有数据

$result = mysqli_query($con,"SELECT * FROM anuncio");
while($row = mysqli_fetch_array($result)) {
echo $row['anuncio_titulo'];
echo $row['anuncio_descripcion'];
}

我如何回声我的初始htmldiv容器取代默认文本我把新的列?

首先需要从数据库中获取数据(阅读MySQL, mysqli PHP函数)。然后,您需要将数据传递到用户使用PHP看到的站点(请阅读有关PHP的内容)。最后,您需要用HTML显示数据(阅读关于PHP的HTML)。

mysqli函数的很好的解释在这里。获取数据:

  1. 创建查询
  2. 执行查询
  3. 获取查询数据

第一连接:

$db = new mysqli('localhost', 'user', 'pass', 'demo');
// check if connection succeeded
if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

创建并执行查询:

$sql = "SELECT * FROM `users` WHERE `live` = 1"
if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}
并从查询 中获取数据
$usernames = array();
while($row = $result->fetch_assoc()){
    $usernames[] = $row['username'] . '<br />';
}

一旦你有了一个数组,把它传递给你的视图并打印,例如作为一个表的一部分:

<table>
    <?php foreach($username in $usernames): ?>
    <tr><td><?php $username ?> </td></tr>
    <?php endforeach;?>
</table>

如果您不需要在不重新加载页面的情况下更改数据,则不需要javascript或ajax。我可以看出有几种方法可以达到你的目的,但我只解释最简单的一种。

首先是将文本赋值给变量并打印出来。如果需要使用数据库中的数据进行更改,则只需将值赋给该变量。

<?php 
   $title = "Titulo del anucio";
   $desc = "Descripcion kfewoijfew";
   // it has default values, let's say you want to fill them with data from db now
   if(/* some condition here, like data from GET : $_GET['change_data'] == true or something */) {
       $db = new mysqli('localhost', 'user', 'pass', 'demo');
       // (...) and so on like I wrote above, query the data and assign to value
       $res = $result->fetch_assoc() // if you know there is one result you can shorten it
       $desc = $res['anuncio_descripcion'];
       $title = $res['anuncio_titulo'];
   }
?>

<div id="column2">
                <p class="tituloanuncio"><b><?php echo $title;?></b></p>
                <p class="descripcionanuncio"><?php echo $desc?>/p>
 </div>