【发布时间】:2014-10-25 23:16:24
【问题描述】:
我正在尝试根据数据库中的结果在表格布局中构建 html div。
我有包含行位置的 sql 表和包含单元格内容和位置的 sql 表。 我的代码只给出了数据库中的第一个结果...
rowIdrowPoslatestRow
cellsRowIdcellsRowOrdercellsContent
$sql="SELECT `rowId` FROM `positions` ORDER BY `rowPos` ASC";
$result=mysqli_query($con,$sql);
if (!mysqli_query($con,$sql)) {
printf("Errormessage: %s\n", mysqli_error($con));}
else{
while ($pos=mysqli_fetch_assoc($result)){
foreach($pos as $rowId){
$sql="SELECT `cellsRowOrder` FROM `content` WHERE `cellsRowId` = '$rowId' ORDER BY `cellsRowOrder` ASC";
$result=mysqli_query($con,$sql);
if (!mysqli_query($con,$sql)) {
printf("Errormessage: %s\n", mysqli_error($con));}
else{
while ($order=mysqli_fetch_assoc($result)){
foreach($order as $cellRowOrder){
$sql="SELECT `cellsContent` FROM `content` WHERE `cellsRowId` = '$rowId' AND `cellsRowOrder` = '$cellRowOrder'";
$result=mysqli_query($con,$sql);
if (!mysqli_query($con,$sql)) {
printf("Errormessage: %s\n", mysqli_error($con));}
else{
while ($cellsContent=mysqli_fetch_assoc($result)){
foreach($cellsContent as $cellContent){
echo '
<div class="content-layout-row" onmouseover="editButton'.$rowId.'()" onmouseout="editButtonClose'.$rowId.'()" id="r'.$rowId.'" >
<div id="editButton'.$rowId.'" style="visibility:hidden;width:100%;left:0;top:0px;z-index:2">
<form method="POST" target="_top">
<input type="hidden" name="rowId" value="'.$rowId.'">
<input type="hidden" name="editRow" value="1">
<button style="font-size:12px;border-radius:2px 5px 0px 0px" type="submit">edit</button>
</form>
</div>
<div class="layout-cell" id="r'.$rowId.'s'.$cellRowOrder.'" >
'.$cellContent.'
</div>
</div>
<script type="text/javascript">
function editButton'.$rowId.'(){
$("#editButton'.$rowId.'").css("visibility","visible");
}
function editButtonClose'.$rowId.'(){
$("#editButton'.$rowId.'").css("visibility","hidden");
}
</script> ';
}
}
}
}
}
}
}
}
};
【问题讨论】:
-
我读的不多,但您执行了两次查询 (
mysqli_query())。这是不必要的。在if中检查$result。
标签: php loops mysqli foreach while-loop