我正在跟踪我网站上的一些内容并使用大量查询,因为它们需要不同的条件
例如
$example = mysql_query("SELECT column FROM table WHERE column = 'Value1'");
$example_row = mysql_num_rows($example);
$example1 = mysql_query("SELECT column FROM table WHERE column = 'Value2'");
$example_row1 = mysql_num_rows($example1);
依此类推,这个值总是不同的,所以我很难找到一种方法将它放到一个查询中,我仍然可以得到不同值的不同行数,是否可能?
我可以测试该行以查看它是否与值
匹配if ($row == 'value'){
}
多次,但看起来仍然不好
答案 0 :(得分:2)
使用IN()
SELECT column FROM table WHERE column IN('Value1', 'Value2');
答案 1 :(得分:0)
我相信你想要每个值的计数:
$values = ["value1", "value2", ...];
$query = "SELECT ";
for($i = 0; $i < count($values); $i++)
{
$query .= "SUM(IF(column = '$values[$i]')) AS v$i";
if($i != count($values) - 1)
$query .= ","; //Only add ',' if it's not the last value
$query .= " "; //We need the spaces at the end of every line
}
$query .= "FROM table";
//Let mysql do its work, run the query etc., store the resultset in $row;
现在您可以动态遍历结果集:
$results = [];
for($i = 0; $i < count($values); $i++)
{
$string = "v"+ $i;
$results[] = $row[$string];
}