循环检查php数组问题

循环检查php数组问题,php,mysql,arrays,Php,Mysql,Arrays,我肯定我盯着这条路看得太久了,所以我想要一条生命线 我正在从MySQL数据库中提取数据。特别是: $category[] = "$row->category"; $issue[] = "$row->issue"; 我需要循环浏览数据。总共有6个类别,每个类别可能有任意数量的问题 我想对每一行的数据进行如下回应: Category 1 Issue 1a Issue 1b Issue 1c Category 2 Issue 2a Issue 2b Category 3 Issue

我肯定我盯着这条路看得太久了,所以我想要一条生命线

我正在从MySQL数据库中提取数据。特别是:

$category[] = "$row->category";
$issue[] = "$row->issue";
我需要循环浏览数据。总共有6个类别,每个类别可能有任意数量的问题

我想对每一行的数据进行如下回应:

Category 1
Issue 1a
Issue 1b
Issue 1c

Category 2
Issue 2a
Issue 2b

Category 3
Issue 3a
Issue 3b
Issue 3c
Issue 3d
Issue 3e
我可能需要更多的睡眠,但我似乎无法正常地循环。任何帮助都将不胜感激

$stmt = $pdo->prepare("SELECT * FROM project INNER JOIN data1 ON project.p_key = data1.p_key_project WHERE data1.p_key_project=? AND data1.archived=? ORDER BY data1.category, data1.updated DESC");
$stmt->execute(array($passed_key,'n'));

while ($row = $stmt->fetchObject()) {
$cust[] = "$row->cust_name";
$p_key[] = "$row->p_key";
$pid[] = "$row->pid";
$account_key[] = "$row->account_key";
$p_key_data1[] = "$row->p_key_data1";
$date[] = "$row->date";
$updated[] = "$row->updated";
$category[] = "$row->category";
$ryg[] = "$row->ryg";
$issue[] = "$row->issue";
$proposed_resolution[] = "$row->proposed_resolution";
$action_items[] = "$row->action_items";
$owner[] = "$row->owner";
$status[] = "$row->status";
}

基于我们一直在讨论的更新的PDO版本:

假设$issues是您可以执行的问题和类别的多维数组。i、 e.
$issue[]=“$row->issue,$row->category”

$numOfItems = count($issue); //counts number of times for should be run
   for ($row = 0; $row < $numofItems; $row++) { 
     echo $issues[$row][$row] . "</br>";
     $i=0;
     while ($issues[$i][$row] == $issues[$row][$row]) {
      echo $issues[$i][$row] . "</br>";
      $i++;
    } }
如果是这样的话,那么下面的方法应该有效

foreach ($category as $key => $value) {
    $query = mysqli_query($con,"SELECT * FROM project INNER JOIN data1 ON project.p_key = data1.p_key_project WHERE data1.p_key_project=? AND data1.archived=? AND data1.category='$value' ORDER BY data1.category, data1.updated DESC"); //value is the individual category
    echo $value . "</br>";
        while($row = mysqli_fetch_array($query)) {
            echo $row['issue'] . '</br>';
        }
    echo "</br>"; //adds an extra space between categories
}
foreach($key=>$value的类别){
$query=mysqli\u query($con,“从project.p\u key=data1.p\u key\u项目的项目内部联接data1中选择*,其中data1.p\u key\u project=?和data1.archived=?和data1.category=”$value“ORDER BY data1.category,data1.updated DESC”);//值是单个类别
回显$value.“
”; while($row=mysqli\u fetch\u数组($query)){ echo$row['issue'].
'; } echo“
”;//在类别之间添加额外的空间 }

已更新,以按类别、问题在查询顺序中包含您的特定查询。在输出检查中,当类别更改时,使用每个结果应该是什么样的样本更新原始结果。但是问题(以及相关的每一行项目)将是唯一的,我知道您正在使用PDO,但是MySQLi应该仍然可以工作。在mysqli_查询中,复制并通过sql查询和加载项“和data1.category='$value'-这应该行得通…我知道PDO可能有另一种方法,但这也应该与PDO一起行得通…我修改了我的答案,以包含您的精确查询,假设data1有category表谢谢Usman,我想我有关联数组中所需的所有数据,所以只要用正确的方式骑自行车穿过它们就行了。我想我不需要再次访问数据库。。。。而不是MySQLi,原因很多。我认为这可能是一对for循环,只是似乎无法把它弄清楚。谢谢你的帮助!!我想要那个名声!哈哈…看起来你需要做的就是在抓取问题时创建一个多维数组,这样它就能抓取问题和类别ID。。。尝试此$issue[]=“$row->issue,$row->类别”;-如果它创建了一个多维数组,你就可以循环通过它。有一个如何循环通过它的示例吗?
foreach ($category as $key => $value) {
    $query = mysqli_query($con,"SELECT * FROM project INNER JOIN data1 ON project.p_key = data1.p_key_project WHERE data1.p_key_project=? AND data1.archived=? AND data1.category='$value' ORDER BY data1.category, data1.updated DESC"); //value is the individual category
    echo $value . "</br>";
        while($row = mysqli_fetch_array($query)) {
            echo $row['issue'] . '</br>';
        }
    echo "</br>"; //adds an extra space between categories
}