PHP inserting if-else in to do-while loop?

Nigel

New member
Try
<?php
$number=1;
do {
if ($number=1){
echo '<tr>';
}
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
if ($number=3){
echo '</tr>';
$number=0;
}
$number++;
} while ($row_rsShowdata = mysql_fetch_assoc($rsShowdata));
?>
 
Try
<?php
$number=1;
do {
if ($number=1){
echo '<tr>';
}
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
if ($number=3){
echo '</tr>';
$number=0;
}
$number++;
} while ($row_rsShowdata = mysql_fetch_assoc($rsShowdata));
?>
 
Hi friends,

I want to make my data from db to be displayed in 3 cols. table. So after every 3 cols. it will make a row and insert 3 cols. to there also. I have a do-while loop to read data from db. The code i'm using is below, can you please tell me how to fix this code or show me how to make it. The counter always stay at 1 so it couldn't create the correct table. Thanks.

<?php
$number=1;
do {
if ($number=1){
echo '<tr>';
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
$xx++;
} elseif ($number=2){
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
$xx++;
} elseif ($number=3){
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
echo '</tr>';
$number=1;
}
} while ($row_rsShowdata = mysql_fetch_assoc($rsShowdata));
?>
Thanks Aaron but it doesn't work, by your solution it creates the table but enters the same data to every col and goes to next data on the second row

---------------------------------
- data1 - data1 - data1 -
---------------------------------
- data2 - data2 - data2 -
---------------------------------
- data3 - data3 - data3 -
---------------------------------

it should be

---------------------------------
- data1 - data2 - data3 -
---------------------------------
- data4 - data5 - data6 -
---------------------------------
- data7 - data8 - data9 -
---------------------------------
Finally made it, the working code is

<?php
$columns_counter=0;
echo "<table border='1'>";
// keeps getting the next row until there are no more to get
echo '<tr>'; //open the row
do {
// Print out the contents of each row into a table
echo "<td>".$row_rsShowdata['name']. "<br/>";
echo $row_rsShowdata['email'] . "<br/>";
echo $row_rsShowdata['phone'] . "<br/>";
echo $row_rsShowdata['photo'] . "</td>";

$columns_counter++;
if($columns_counter==3){
echo '</tr><tr>'; //close and open a row if $columns_counter=4;
$columns_counter=0;
}

} while ($row_rsShowdata = mysql_fetch_assoc($rsShowdata));
echo "</tr></table>";
?>
 
Give this a shot.

<?php
$number=1;
while ($row_rsShowdata = mysql_fetch_assoc($rsShowdata)) {
if ($number=1) {
echo '<tr>';
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
$number++;
}
if ($number=2) {
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
$number++;
} else {
echo '<td>';
echo $number;
echo $row_rsShowdata['name'] . '<br/>';
echo $row_rsShowdata['email'] . '<br/>';
echo $row_rsShowdata['phone'] . '<br/>';
echo $row_rsShowdata['photo'] . '</td>';
echo '</tr>';
$number=1;
}
}
?>

HTH,
-Aaron
 
Back
Top