我有一个棘手的问题,我自己找不到答案。我使用的是带有MySQL v5.0.92-50-log和PHPV5.2.17的web主机。
我有一个表,在每一行中有6个数字在单独的列和一些更多的列-名称,等等。
我知道怎么做两件事:
1.如何遍历所有行并检查与一组特定数字的匹配,如下所示:
$query = "SELECT * FROM tablename";
$result = mysql_query($query) or die();
$matchValues = array(1,2,3);
while($row = mysql_fetch_array($result)){
$counter = 0;
foreach($matchValues as $value)
{
if(in_array($value, $row))
{
$counter++;
}
}然后,我可以输出"name“字段和"counter”结果(1个匹配、2个匹配或3个匹配)。
2.我知道如何查找行数,如下所示:
$result = mysql_query("SELECT * FROM $tablename WHERE status='Approved'"); $num_rows = mysql_num_rows($result);
诀窍在于如何将它们结合起来。我需要按照1进行搜索,然后输出名称字段和匹配的数量,我需要知道有多少行有1个匹配,有多少行有2,有多少行有3。
任何帮助都将不胜感激。
发布于 2012-08-10 01:13:52
为了组合这两个任务,只需使用SELECT * FROM $tablename,然后有一个名为$approved_cntr的计数器,它将在您检查结果时累加,检查是否为$row['status'] == 'Approved'。这将为您提供批准的状态行数的等效值。
此外,查看mysqli或mysql_PDO库对您最有利,因为您似乎正在使用的mysql_*函数已被弃用。
MySQL (PDO)参考:http://php.net/manual/en/ref.pdo-mysql.php
https://stackoverflow.com/questions/11888524
复制相似问题