0

我有一个转换为 csv 的 Excel 表,然后代码将其导入 mysql。在 Excel 中,我在第一行有 A 和 B

我得到了输出,它可以工作,但我无法正确显示数据。

我试图显示的是 AB 然后 break 再 AB 等等。它是按contact_id 排序的,但如果我尝试加倍,我只会得到AAAAAA 和1 B。

这是我试图实现这一目标的代码。尝试了 double while 并且我已经用谷歌搜索了,我注意到 double while 不起作用,也无法让它与 mysql JOIN 一起使用,并且从未与 foreach 函数一起使用。

$data = dbquery("SELECT contact_id, contact_first, contact_last, contact_email FROM contact_info WHERE contact_first='A)' ORDER BY contact_id ASC");
$data2 = dbquery("SELECT contact_id, contact_first, contact_last, contact_email FROM contact_info WHERE contact_first='B)' ORDER BY contact_id ASC");


    while ($userdata = dbarray($data)) {


   echo "<li><ul class='ulcla'>";
   echo "<h1>".$userdata['contact_first']."</h1>"; 
   echo "<li>".$userdata['contact_last']."</li>";
   echo "</ul><br>";
   while ($userdata = dbarray($data2)) {
   echo "".$userdata['contact_id']." - ".$userdata2['contact_first']." - ".$userdata2['contact_last']." - ".$userdata2['contact_email']."";
   echo "<br>"; 
    }
    echo "</ol></div>";   

      }

我怎么能像这样循环数据?

4

3 回答 3

0

如果每个 A 和 B 的数量相同,那么您可以从输出创建两个数组并使用简单的 for 循环来遍历键。所以它可以回显 $userdata[$x] 和 $userdata2[$x] 其中 $x 是循环迭代器。

尽量避免使用多个循环,尤其是嵌套循环。

于 2013-02-12T07:59:23.233 回答
0
while ($userdata = dbarray($data)) {
    //your stuff
    while ($other_userdata = dbarray($data2)) {
        //your other stuff
    }
}
于 2013-02-12T08:03:15.900 回答
0

更改 while ($userdata = dbarray($data2)) {while ($userdata2 = dbarray($data2)) {for 内部 while 循环

$data = dbquery("SELECT contact_id, contact_first, contact_last, contact_email FROM contact_info WHERE contact_first='B)' ORDER BY contact_id ASC");
$data2 = dbquery("SELECT contact_id, contact_first, contact_last, contact_email FROM contact_info WHERE contact_first='B)' ORDER BY contact_id ASC");


    while ($userdata = dbarray($data)) {


   echo "<li><ul class='ulcla'>";
   echo "<h1>".$userdata['contact_first']."</h1>"; 
   echo "<li>".$userdata['contact_last']."</li>";
   echo "</ul><br>";
   while ($userdata2 = dbarray($data2)) {
   echo "".$userdata2['contact_id']." - ".$userdata2['contact_first']." - ".$userdata2['contact_last']." - ".$userdata2['contact_email']."";
   echo "<br>"; 
    }
    echo "</ol></div>";   

      }
于 2013-02-12T08:26:50.987 回答