[英]Multiple queries in database PHP MySQL
我想制作一个页面,您可以在其中查看所有产品图像(已经成功显示在products.php下面的图像)和所有类别。
但是我该如何进行第二次查询? 在一种连接中有可能吗?
类别列表的查询必须为:
SELECT category_name FROM categories
而在PHP中类似:
while ($row = mysql_fetch_assoc($result)){
echo("<li>");
echo($row["categorie_name"])
echo("</li>");
}
我怎样才能做到这一点或这是不可能的?
db_config.php
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'sopranos');
?>
db_open.php
<?php
$connection = mysql_connect(DB_HOST, DB_USER, DB_PASS);
$db = mysql_select_db(DB_NAME);
$result = mysql_query($query, $connection);
?>
db_close.php
<?php
mysql_free_result($result);
mysql_close($connection);
?>
products.php
<?php
include('db_config.php');
$query = "SELECT * ";
$query .= "FROM products ";
$query .= "WHERE product_category =";
$query .= $_GET["cat"];
include(db_open.php');
while ($row = mysql_fetch_assoc($result)){
?>
<div class="product">
<img alt="product details" src="images/product_
<?php echo($row['product_id']) ?>
.jpg" />
</div>
<?php
}
include(db_close.php');
?>
您是否尝试过创建一个新的变量$query
然后添加您的while ($row = mysql_fetch_assoc($result))
这个&&
看起来像while ((($row = mysql_fetch_assoc($result)) && (($row2 = mysql_fetch_assoc($result2)) )
吗?
相同的连接是什么意思?
如果您要在同一页面中分别执行两个查询,那么可以通过使用db_open.php连接数据库一次来完成此操作,然后按以下方法创建查询:
$first_query = mysql_query("Select * from table1");
while($first_query = mysql_fetch_assoc($first_query){
//code goes here
}
$second_query = mysql_query("Select * from table2");
while($second_query = mysql_fetch_assoc($second_query){
//code goes here
}
但是,如果您要在同一连接中运行两个查询(防止数据库访问时间损失),则取决于您使用MYISAM或INNODB的引擎,但是在您的情况下,您仅运行2个选择查询,这不会影响页面加载速度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.