如何在php和html中解决此问题?

时间:2019-06-27 21:55:48

标签: php html arrays

我想用数字下面的HTML标签打印1000个数字,并与对象向量进行比较。

<?php
for ($i = 1; $i <= 1000; $i++) {
    foreach ($resposta as $row) {
?>
        <?php if ($row['estado_idestado'] == 5 && $row['numero_ecolhido'] == $i) { ?>
            <a href="javascript:void(0);" id="number_2" class="rifa_number item_pago" data-id="179930" data-rifa-number="2" data-name="">
                <?php echo $i; ?>
            </a>
        <?php } elseif ($row['estado_idestado'] == 4 && $row['numero_ecolhido'] == $i) { ?>
            <a href="javascript:void(0);" id="number_10" class="rifa_number item_reservado" data-id="279676" data-rifa-number="10" data-name="">
            <?php
                echo $i;
            ?>
            </a>
        <?php
            } else {
        ?>
            <a href="javascript:void(0);" id="number_3" class="rifa_number item_disponivel" data-id="" data-rifa-number="3" data-name="">
            <?php
                echo $i;
            ?>
            </a>
        <?php
            }
        ?>
    <?php
    }
}
?>

请注意,向量中的查询是要定义<a> </a>的类,我希望它打印出1000个数字...。代码应如下图所示,但是我找不到解决此问题的逻辑。

enter image description here

1 个答案:

答案 0 :(得分:0)

这个问题尚不清楚,那里有几个明显的问题: -硬编码的id属性,它将产生一个重复的id,这会使您的JavaScript变得有趣。 -根本不需要foreach,并且您将执行不需要的重复操作。 -尚不清楚数组$resposta的项目少于1000个还是项目多于1000个。

如果数组$resposta的项目少于1000个,则应构建一个包含1000个项目的空数组并合并2个数组,这样,您将拥有$resposta的1000个项目

在我的代码中,无论您自己填写还是从数据库中获得1000项,我都假设$resposta有1000项。

<?php
    for($i = 0; $i<=1000; $i++) {
      if( $resposta[$i]['estado_idestado']==5 && $resposta[$i]['numero_ecolhido']==$i ){ 
?>

<a href="javascript:void(0);" id="number_2" class="rifa_number item_pago" data-id="179930" data-rifa-number="2" data-name=""> <?php echo $i;  ?> </a>

<?php
     }elseif( $resposta[$i]['estado_idestado']==4 && $resposta[$i]['numero_ecolhido']==$i ){  
?>

<a href="javascript:void(0);" id="number_10" class="rifa_number item_reservado" data-id="279676" data-rifa-number="10" data-name=""><?php  echo $i;  ?></a>

<?php 
    }else{ 
?>

 <a href="javascript:void(0);" id="number_3" class="rifa_number item_disponivel" data-id="" data-rifa-number="3" data-name=""><?php   echo $i; ?></a>

    <?php
  next($resposta)
                }
        }
    ?>

我没有更改硬编码的id属性,您应该根据自己的逻辑需要自行完成。

如果$ resposta没有足够的项目(1000个项目),它将产生一个通知,您可以通过在产生错误的行上添加add @ @来取消该通知,或使用error_reporting()函数


编辑:如何制作所需长度的数组

例如,您可以使用array_pad() function

$arr = [
    ['id'=>0,'name'=>'mark'],
    ['id'=>1,'name'=>'micheal'],    
    ['id'=>2,'name'=>'ahmed'],
    ['id'=>3,'name'=>'grin'],
    ['id'=>4,'name'=>'Torvi'],
    ['id'=>5,'name'=>'mohamed'],
    ['id'=>6,'name'=>'kayla'],  
];

$new = array_pad($arr, 20,0);

这将产生20个元素的数组,并且从索引7开始将填充零。 function docs

所以在我们这里是

$newresposta = array_pad( $resposta,1000,0);

,然后在上面添加上一行之后,可以继续使用原始答案中的代码。