Search code examples
phpforeachdrupal-7

In foreach last value alone displaying in the output , other values are not displaying in the output?


 $address_query = db_query('......');    
 $address1 ='';
 $address2 ='';
 $address3 ='';
 $address4 ='';
 $address5 ='';
 $state = '';
 $pincode ='';
 $addcategory ='';
 $residence ='';
 $adddaterpt ='';

 foreach($address_query as $adds) 
 {
$address1 .= $adds->addressline1;
$address2 .= $adds->addressline2;
$address3 .= $adds->addressline3;
$address4 .= $adds->addressline4;
$address5 .= $adds->addressline5;
$state .= $adds->state_name;
$pincode .= $adds->pincode;
$addcategory .= $adds->addcategory_name;
$residence .= $adds->residence_name;
$adddaterpt .= $adds->date_reported;
$addrptdate = substr($adddaterpt, 0, 2) . "-" . substr($adddaterpt, 2, 2) . "-" . substr($adddaterpt, 4, 4);


   $report.='<tr>
   <table id="address1">
             <tr><b>ADDRESS:</b>' . $address1 . $address2 . $address3 . $address4 . $address5 . $state . $pincode . '</tr>
             <tr><td><b>CATEGORY:</b>' . $addcategory . '</td> 
                 <td><b>RESIDENCE CODE:</b>' . $residence . '</td>
                 <td><b>DATE REPORTED:</b>' . $addrptdate . '</td>
             </tr>
         </table>
         </tr>';
   }
   $report.='</table>';

While executing this code, I'm getting an last value of an foreach(). Other values are not displaying to me.

It contains 4 rows in $address_query , but last row values only displaying.

Please suggest me , i have done any mistake in my code.


Solution

  • Hello friend actually you cannot able to use table tag inside the tr tag and you are not declared the variable $report directly used in for-each statement.

    Try this code

    $address_query = db_query('......');    
    $adddaterpt ='';
    $report = '<table>';
    foreach($address_query as $adds) 
    {
        $adddaterpt .= $adds->date_reported;
        $addrptdate = substr($adddaterpt, 0, 2) . "-" . substr($adddaterpt, 2, 2) . "-" . substr($adddaterpt, 4, 4);
        $report.='<tbody id="address1">
             <tr><td><b>ADDRESS:</b>' . $adds->addressline1 . $adds->addressline2 . $adds->addressline3 . $adds->addressline4 . $adds->addressline5 . $adds->state_name . $adds->pincode . '</td></tr>
             <tr><td><b>CATEGORY:</b>' . $adds->addcategory_name . '</td> 
                 <td><b>RESIDENCE CODE:</b>' . $adds->residence_name . '</td>
                 <td><b>DATE REPORTED:</b>' . $addrptdate . '</td>
             </tr>
         </tbody>';
    }
    $report.='</table>';