【发布时间】:2014-08-18 11:47:38
【问题描述】:
一个活动(具有唯一的活动ID)有多个活动(具有唯一的活动ID)。对于活动ID,活动ID从1开始并继续,随着活动ID的变化,活动ID再次从1开始。
我想做的是为特定的campaignid创建一个不同的表。
我的代码中现在发生的情况是,对于每个表(对于每个活动 ID),如果我使用 break 1; 则只有第一个活动 ID 的所有活动 ID 会显示在所有表中。如果我不使用 break 1; ,然后所有的活动ID(与所有活动ID相关)都显示在所有表格中。我想要的是第一个活动ID的第一个表中的所有活动ID,第二个活动ID的第二个表中的所有活动ID,依此类推。关于如何实现这一点的任何建议?
MYSQL 列:
餐桌广告系列:
- 广告系列
- 活动说明
- 活动定位
- numactivities,clientid
餐桌活动活动:
- 身份证
- campaignid(取自上表)
- 活动描述(取自上表)
- clientid(取自上表)
- 客户全名
- 活动ID
- 活动描述
- x1
- x2
- x3
- x4
- x5
- y1
- y2
- y3
PHP:
<div class="table-responsive" >
<?php
//print the rows
$q1=mysqli_query($con,"select * from clientusers where Clientemail='".$_SESSION["Email"]."'");
$row1=mysqli_fetch_assoc($q1);
$id1=$row1['Clientid'];
$q2=mysqli_query($con,"select * from campaigns where Clientid='$id1'");
$row2=mysqli_fetch_assoc($q2);
$id2=$row2['Clientid'];
$colNames = array();
$data = array();
$data[] = $row2;
while($row2 = mysqli_fetch_assoc($q2))
{
$data[] = $row2;
}
$data=array_reverse($data);
$colNames = array_keys(reset($data));
$colNames =array($colNames[2],$colNames[6],$colNames[1]);
foreach($data as $val)
{
echo "<tr>";
?><div class="well">
<?php
$q3=mysqli_query($con,"select * from campaignactivities where Clientid='$id2'");
$row3=mysqli_fetch_assoc($q3);
$colNames2 = array();
$data2 = array();
$data2[] = $row3;
while($row3 = mysqli_fetch_assoc($q3))
{
$data2[] = $row3;
}
$colNames2 = array_keys(reset($data2));
$colNames2 =array($colNames2[5],$colNames2[6],$colNames2[7],$colNames2[8],$colNames2[9],$colNames2[10],$colNames2[11],
$colNames2[12],$colNames2[13],$colNames2[14]);
?>
<table class="table table-condensed table-striped table-bordered table-hover no-margin well">
<tbody>
<tr>
<?php
$temp=1;
foreach($data2 as $val2)
{
echo "<tr>";
if ($temp>(int)$val2[$colNames2[0]]) {$temp=1;break 1;}
else {$temp=(int)$val2[$colNames2[0]]; echo "</tr>";};
foreach($colNames2 as $colName2)
{
echo "<td>".$val2[$colName2]."</td>";
}
}
?>
</tr>
</tbody>
</table><?php echo "</div><br>";} ?>
</div>
【问题讨论】:
标签: php mysql database html-table