我有一个转换为csv的Excel工作表,然后将代码导入到mysql中。 在Excel中,我有第一行A和B的
我得到输出,它可以工作,但我无法正确显示数据。
我试图显示的是A B然后再次打破A B等等。它是由contact_id订购的,但如果我尝试加倍,我只能获得AAAAAA和1 B.
这是我试图实现此目的的代码。尝试了两次,我用谷歌搜索,我注意到双重不工作,无法让它与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>";
}
我怎么能这样循环数据?
答案 0 :(得分:0)
如果每个A和B的数量相同,那么您可以从输出中创建两个数组,并使用简单的for循环来完成键。所以它可以回显$ userdata [$ x]和$ userdata2 [$ x],其中$ x是循环迭代器。
尽量避免使用多个循环,尤其是嵌套循环。
答案 1 :(得分:0)
while ($userdata = dbarray($data)) {
//your stuff
while ($other_userdata = dbarray($data2)) {
//your other stuff
}
}
答案 2 :(得分:0)
将内部while循环
更改为while ($userdata = dbarray($data2)) {
至while ($userdata2 = dbarray($data2)) {
$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>";
}