codeigniter在foreach中使用for循环数据

时间:2017-05-18 07:25:00

标签: php codeigniter

我想在html中使用for循环数据,所以我不想逐个输入<input type>

编辑:

抱歉,我没有完全通知您,所以在我的数据库中我有这样的列。

//my database

team_id
//Participants 1
name_1
phone_1
email_1
//Participants 2
name_2
phone_2
email_2
//Participants 3
name_3
phone_3
email_3

//view
//$data is from my controller
<?php foreach($data as $rowdata) {   
//1
$name_1=$rowdata->name_1;
$phone_1=$rowdata->phone_1;
$email_1=$rowdata->email_;
//2
$name_2=$rowdata->name_2;
$phone_2=$rowdata->phone_2;
$email_2=$rowdata->email_2;
//3
$name_3=$rowdata->name_3;
$phone_3=$rowdata->phone_3;
$email_3=$rowdata->email_3;
}?>

<?php for($i=1;$i<=3;$i++){ ?>
<tr>
    <td>Name</td>
    <td><?php echo $name_$i ?></td>
</tr>
<tr>
    <td>Phone</td>
    <td><?php echo $phone_$i ?></td>
</tr>
<tr>
    <td>Email</td>
    <td><?php echo $email_$i ?></td>
</tr>

所以,我如何循环使用for,谢谢

3 个答案:

答案 0 :(得分:3)

在您的评论中,您回答说$data是您的数据库的结果。

我假设你的数据库有3列NamePhoneEmail而不是Name_1Name_2Phone_1等。

代码:

<?php foreach($data as $rowdata) { ?>
<tr>
    <td>Name</td>
    <td><?= $rowdata['name'] ?></td>
</tr>
<tr>
    <td>Phone</td>
    <td><?= $rowdata['phone'] ?></td>
</tr>
<tr>
    <td>Email</td>
    <td><?= $rowdata['email'] ?></td>
</tr>
<?php } ?>

答案 1 :(得分:1)

$ data是一个对象数组,因此不需要使用2个循环来获取和打印数据。您可以在一个循环中执行此操作。

<table>
    <?php foreach($data as $rowdata) { ?>
    <tr>
        <td>Name</td>
        <td><?= $rowdata->name ?></td>
    </tr>
    <tr>
        <td>Phone</td>
        <td><?= $rowdata->phone ?></td>
    </tr>
    <tr>
        <td>Email</td>
        <td><?= $rowdata->email ?></td>
    </tr>
    <?php }?>
</table>

答案 2 :(得分:1)

  

我不知道语法是否正常,但逻辑低于

<table>
    <?php 
        $i=1;
        foreach($data as $rowdata) { 
    ?>
    <tr>
        <td>Name</td>
        <td><?= $rowdata->name.'_'.$i; ?></td>
    </tr>
    <tr>
        <td>Phone</td>
        <td><?= $rowdata->phone.'_'.$i; ?></td>
    </tr>
    <tr>
        <td>Email</td>
        <td><?= $rowdata->email.'_'.$i; ?></td>
    </tr>
    <?php $i++; }?>
</table>