Php 为一个循环访问两个不同的表
我有一个小问题,我想不出来 我必须在一个循环中从两个不同的表中提取数据。我以前从来没有这样做过,所以我不知道怎么做。我试过两个不同的问题。看起来是这样的:Php 为一个循环访问两个不同的表,php,html,mysql,mysqli,Php,Html,Mysql,Mysqli,我有一个小问题,我想不出来 我必须在一个循环中从两个不同的表中提取数据。我以前从来没有这样做过,所以我不知道怎么做。我试过两个不同的问题。看起来是这样的: $query = "SELECT * FROM colors "; $color_select = mysqli_query($connection, $query); $second_query = "SELECT * FROM votes"; $vote_select = mysqli_query($connection, $secon
$query = "SELECT * FROM colors ";
$color_select = mysqli_query($connection, $query);
$second_query = "SELECT * FROM votes";
$vote_select = mysqli_query($connection, $second_query);
然后将它们放入一个循环:
while($row = mysqli_fetch_assoc($color_select) && $second_row = mysqli_fetch_assoc($vote_select))
{
$color = $row['Colors'];
$votes = $second_row['Votes'];
echo "<tr><td>$color</td><td>$votes</td></tr>";
}
如果表有关系 在单个查询中尝试此操作
SELECT
`colors`.*,votes.*
FROM
`colors`
INNER JOIN
`votes` ON
`votes`.colorId = `colors`.Id
大多数imp****表之间应该有一些关系 其他解决方法
首先将这两个表关联起来,在投票表中写入颜色标识
$query = "SELECT * FROM colors,votes where colors.id=votes.color_id";
$color_select = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($color_select))
{
}试试这个:
$query = "SELECT colors FROM colors";
$color_select = mysqli_query($connection, $query) or die (mysqli_error());
$second_query = "SELECT votes FROM votes"; //you only need column votes right?
$vote_select = mysqli_query($connection, $second_query) or die (mysqli_error());;
while( $row = mysqli_fetch_assoc($color_select) && $second_row = mysqli_fetch_assoc($vote_select)){
$color[] = $row['colors'];
$votes[] = $second_row['votes'];
echo "<tr><td>$color</td><td>$votes</td></tr>";
}
$query=“从颜色中选择颜色”;
$color\u select=mysqli\u query($connection,$query)或die(mysqli\u error());
$second_query=“从投票中选择投票”//你只需要专栏投票,对吗?
$vote_select=mysqli_query($connection,$second_query)或die(mysqli_error());;
而($row=mysqli\u fetch\u assoc($color\u select)&&&$second\u row=mysqli\u fetch\u assoc($vote\u select)){
$color[]=$row['colors'];
$voces[]=$second_row['voces'];
回显“$color$选票”;
}
简要说明:
它将把select和store提取到一个数组中(因为您所做的是将多行选择到一个变量中)然后用回声显示。这两个表格是如何关联的?如果
颜色
表格与投票有关系
使用join@AbhikChakraborty它们在同一数据库中两个表之间是否有任何关系?我的意思是这两个表之间是否有一个公用键,以便您知道投票
表中哪个投票是对于哪种颜色?好的,但是while循环在这种情况下是如何变化的?您的结果将在单个查询中生成。我不尝试将值存储到变量中。如果是这样的话,你的例子会有所帮助。我只需要回应他们。:)你试过了吗?因为最好将它们都放在后面使用(在本例中为echo)。那它不工作了吗?顺便说一句,它应该显示每列的所有颜色和投票,不管它们是否相关。这可以通过查询tho进行更改。
$color = $row['Colors'];
$votes = $row['Votes'];
$query = "SELECT colors FROM colors";
$color_select = mysqli_query($connection, $query) or die (mysqli_error());
$second_query = "SELECT votes FROM votes"; //you only need column votes right?
$vote_select = mysqli_query($connection, $second_query) or die (mysqli_error());;
while( $row = mysqli_fetch_assoc($color_select) && $second_row = mysqli_fetch_assoc($vote_select)){
$color[] = $row['colors'];
$votes[] = $second_row['votes'];
echo "<tr><td>$color</td><td>$votes</td></tr>";
}