2017-05-18 5 views
1

foreachでデータをループしたいので、htmlでforを使用していますので、<input type>を1つずつ入力する必要はありません。codeigniter for foreachのデータをループしています

編集:

申し訳ありませんが、私は完全にあなたに通知していなかったので、私のデータベースに私はこのような列を持っています。

//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> 

ので、私は使用してそのようにループすることができますどのように、あなたのコメントのおかげで

+0

使用配列を下回っています。すべてのデータを1つの配列に入れてください – Chinito

+0

データベースへのクエリの結果は$ dataですか? – GeorgeGeorgitsis

+0

ええ、$データはコントローラから来た – Pyon

答えて

2

は、あなたが$dataがあなたのDBからの結果であると答えました。

私はあなたのDBは3列NamePhoneEmailとNOT 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 } ?> 
+0

2番目の仮定はほぼ正しいです。私のデータベースには、この 'name_1'、' phone_1'、 'email_1'、' name_2'、 'phone_2'、' email_2'などのカラムがあります。 – Pyon

+0

あなたはその論理(_1、_2、_3など)を持っている多くの列? – GeorgeGeorgitsis

1

$データは、そう、オブジェクトの配列でありますデータの取得と印刷に2つのループを使用する必要はありません。これを1つのループで行うことができます。私は構文を知らない

<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> 
1

はokですが、ロジックは、オブジェクトの

<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> 
関連する問題