2017-05-18 5 views
1

Ich möchte Daten in foreach mit für in html loopen, so dass ich nicht <input type> eins nach dem anderen eingeben möchten.cordigniter Schleifen Daten in foreach mit für

Edit:

Leider habe ich nicht, dass Sie vollständig informiert hat, so in meiner Datenbank i Spalten wie diese haben.

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

so, wie ich kann wie das Schleifen mit für, Dank

+0

Verwendung Array von Objekten. Legen Sie alle Ihre Daten in einem Array – Chinito

+0

Sind $ Daten ein Ergebnis einer Abfrage an Ihre Datenbank? – GeorgeGeorgitsis

+0

yup, $ data ist von Controllern – Pyon

Antwort

2

In Ihren Kommentaren, beantworten Sie, dass $data das Ergebnis von Ihrem db ist.

Ich gehe davon aus, dass Ihre db 3 Spalten Name, Phone und Email und NICHT Name_1, Name_2, Phone_1 etc ...

Code:

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

Ihre zweite Annahme ist fast richtig, mein db hat Spalten wie diese 'name_1',' phone_1', 'email_1',' name_2', 'phone_2',' email_2' usw. – Pyon

+0

und wie viele Spalten haben Sie mit dieser Logik (_1, _2, _3 etc ..)? – GeorgeGeorgitsis

1

Daten $ ist ein Array von Objekten, so Sie müssen nicht 2 Schleifen zum Abrufen und Drucken von Daten verwenden. Sie können dies in einer Schleife tun.

<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

Ich weiß nicht, Syntax ist in Ordnung, aber Logik ist unter

<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> 
Verwandte Themen