Php 如何将foreach结果除以2 div?
事情是这样的:我有一个foreach循环,它动态地添加输入。我需要它把一部分放在一个分区,其余的放在另一个分区。当前代码如下所示:Php 如何将foreach结果除以2 div?,php,css,arrays,foreach,Php,Css,Arrays,Foreach,事情是这样的:我有一个foreach循环,它动态地添加输入。我需要它把一部分放在一个分区,其余的放在另一个分区。当前代码如下所示: $sqla=mysql_fetch_row($sql); $x=1; if($x<50) { ?> <div class="area area-1"> <? foreach($sqla as $key=>$values){ if ($key == "0") { cont
$sqla=mysql_fetch_row($sql);
$x=1;
if($x<50)
{
?>
<div class="area area-1">
<?
foreach($sqla as $key=>$values){
if ($key == "0") {
continue;
}
$icheck = ($values > 0) ? "icheck" : "";
$ichecked = ($values > 0) ? "isChecked" : "";
echo "<label class='label-area label-".$values['num".$x."'][$x]." ".$ichecked."'><input name='data[ar][".$x."][]' type='checkbox' value='".$x."' title='".$x."' class='".$icheck." archeck1'><span class='label-num'>".$x."</span><span class='label-check-mark'></span></label>";
if ($key == "50") {
break;
}
$x++;
if ($values > 0) {
$new_rand_arr[] = $values;
}
}
?>
</div>
<?
}else{
?>
<div class="zodiak ar-1">
<?
foreach($sqla as $key=>$values){
if ($key == "50") {
continue;
}
$icheck = ($values > 0) ? "icheck" : "";
$ichecked = ($values > 0) ? "isChecked" : "";
echo "<label class='label-area label-".$values['num".$x."'][$x]." ".$ichecked."'><input name='data[ar][".$x."][]' type='checkbox' value='".$x."' title='".$x."' class='".$icheck." archeck1'><span class='label-num'>".$x."</span><span class='label-check-mark'></span></label>";
if ($key == "62") {
break;
}
$x++;
if ($values > 0) {
$new_rand_arr[] = $values;
}
}
?>
</div>
<?
}
?>
$sqla=mysql\u fetch\u行($sql);
$x=1;
如果($x)
现在您正在这样做:
$x=1;
if($x<50)
{
// your code
} else {
// your code
}
因此,您使用一个var$x
,每回合递增一次,但您也使用一个$key
来检查值是否为$values){
如果($key<“50”){
//你只开了一次你的第一个div
如果(!$open\u first\u div){
$html.=”;
$open\u first\u div=true;
}
$icheck=($values>0)?“icheck”:“;
$ichecked=($values>0)?“isChecked”:“;
html.=“.$x.”;
如果($value>0){
$new_rand_arr[]=$value;
}
}否则{
//你关闭第一个div,打开第二个div
如果(!$open\u second\u div){
$html.=”;
$open\u second\u div=true;
}
$icheck=($values>0)?“icheck”:“;
$ichecked=($values>0)?“isChecked”:“;
$html.=''.$x.'';
如果($value>0){
$new_rand_arr[]=$value;
}
}
}
//每次结束后,你就结束你的潜水
$html.=”;
//你可以展示它
echo$html;
if
语句总是true
导致您定义$x=1编码>并通过进行检查,如果($X每次在新代码中使用数据库扩展时,它都会被弃用,并且已经使用多年,在PHP7.0+中永远消失。如果您只是在学习PHP,请花费精力学习PDO
或mysqli
数据库扩展和准备好的语句。此外,如果您知道自己使用了多少次,请不要使用mysql.*
p、 使用for而不是foreach,只需在第50个div之后添加第二个div,那么您的if($x)代码比我想象的要难很多…现在列出所有标签,然后列出两个空div…添加标签时,您必须执行:$html.=”
所以标签将放在div内,你这样做了吗?我根据你的问题编辑了我的答案,将整个代码都编辑好谢谢你,太感谢你的帮助了,米克尔!这很有效。你是个救生员!很高兴帮助你
foreach($sqla as $key=>$values){
if ($key == "0") {
continue;
}
// your code
}
foreach($sqla as $key=>$values){
if ($key == "50") {
continue;
}
// your code
}
$new_rand_arr = array();
$open_first_div = false;
$open_second_div = false;
$html = "";
foreach($sqla as $key=>$values){
if ($key < "50") {
// You open your first div one time
if (!$open_first_div) {
$html .= "<div class=\"area area-1\">";
$open_first_div = true;
}
$icheck = ($values > 0) ? "icheck" : "";
$ichecked = ($values > 0) ? "isChecked" : "";
html .= "<label class='label-area label-".$values['num".$x."'][$x]." ".$ichecked."'><input name='data[ar][".$x."][]' type='checkbox' value='".$x."' title='".$x."' class='".$icheck." archeck1'><span class='label-num'>".$x."</span><span class='label-check-mark'></span></label>";
if ($values > 0) {
$new_rand_arr[] = $values;
}
} else {
// You close your first div and open the second div
if (!$open_second_div) {
$html .= "</div><div class=\"zodiak ar-1\">";
$open_second_div = true;
}
$icheck = ($values > 0) ? "icheck" : "";
$ichecked = ($values > 0) ? "isChecked" : "";
$html .= "<label class='label-area label-".$values['num".$x."'][$x]." ".$ichecked."'><input name='data[ar][".$x."][]' type='checkbox' value='".$x."' title='".$x."' class='".$icheck." archeck1'><span class='label-num'>".$x."</span><span class='label-check-mark'></span></label>";
if ($values > 0) {
$new_rand_arr[] = $values;
}
}
}
// After the foreach your close your div
$html .= "</div>";
// You display it
echo $html;