我想以xml格式从数据库中获取一些数据,并使用php将它们打印在html表中。
这是我的PHP代码:
$xml=simplexml_load_string($ru) or die("Error: Cannot create object");
echo '<table style="border: 1px solid black; border-collapse: collapse;">';
foreach ($xml->employee->children() as $key=>$value){
if($key == 'PAYMSTR_SALHDNM' ){
echo '<tr>';
echo '<th style="border: 1px solid black; border-collapse: collapse;">'.$value.'</th>';
echo '<td style="border: 1px solid black; border-collapse: collapse;">'.$value.'</td>';
echo '</tr>';
}
else{
echo '<tr>';
echo '<th style="border: 1px solid black; border-collapse: collapse;">'.$key.'</th>';
echo '<td style="border: 1px solid black; border-collapse: collapse;">'.$value.'</td>';
echo '</tr>';
}
}
echo '</table>';
但是要使标签PAYMSTR_SALHDNM的每个值作为表头[完成],并使标签PAYMSTR_AMOUNT的每个值作为标签PAYMSTR_SALHDNM的表数据
我想,如果我能以某种方式保持next $xml->employee->children()
对其价值的了解,那么我就可以带来这种正确的格式。请对此提供帮助。
这是我的xml:
<employee><id>FMCSC00015</id><year>2016</year><month>1</month><paymstr_salhdnm>BASIC PAY</paymstr_salhdnm><paymstr_amount>35600</paymstr_amount><paymstr_salhdnm>ASSOCIATION SUBSCRIPTION</paymstr_salhdnm><paymstr_amount>240</paymstr_amount><paymstr_salhdnm>TELEPHONE ALLOWANCE</paymstr_salhdnm><paymstr_amount>800</paymstr_amount><paymstr_salhdnm>HOUSE RENT DEDUCTION</paymstr_salhdnm><paymstr_amount>2587.5</paymstr_amount><paymstr_salhdnm>MEDICAL ALLOWANCE</paymstr_salhdnm><paymstr_amount>700</paymstr_amount><paymstr_salhdnm>GAS BILL</paymstr_salhdnm><paymstr_amount>450</paymstr_amount><paymstr_salhdnm>DEARNESS ALLOWANCE</paymstr_salhdnm><paymstr_amount>6000</paymstr_amount><paymstr_salhdnm>LIFE INSURANCE PREMIUM (D)</paymstr_salhdnm><paymstr_amount>1718</paymstr_amount><paymstr_salhdnm>PF SUBSCRIPTION</paymstr_salhdnm><paymstr_amount>3560</paymstr_amount><paymstr_salhdnm>PF ADVANCE LOAN</paymstr_salhdnm><paymstr_amount>2796</paymstr_amount><paymstr_salhdnm>BENEVOLENT FUND</paymstr_salhdnm><paymstr_amount>1780</paymstr_amount><paymstr_salhdnm>HEALTH INSURANCE PREMIUM</paymstr_salhdnm><paymstr_amount>150</paymstr_amount><paymstr_salhdnm>STUDENT WELFARE</paymstr_salhdnm><paymstr_amount>3</paymstr_amount><paymstr_salhdnm>MUNICIPAL TAX & SWEAPER CH.</paymstr_salhdnm><paymstr_amount>18</paymstr_amount><paymstr_salhdnm>STAIR CASE LIGHT CHARGES</paymstr_salhdnm><paymstr_amount>1.25</paymstr_amount><paymstr_salhdnm>CLUB</paymstr_salhdnm><paymstr_amount>207</paymstr_amount><paymstr_salhdnm>TEACHER'S FAMILY WELFARE ASSOC</paymstr_salhdnm><paymstr_amount>10</paymstr_amount><paymstr_salhdnm>MOTOR GARAGE</paymstr_salhdnm><paymstr_amount>500.5</paymstr_amount><paymstr_salhdnm>RESEARCH ALLOWANCE</paymstr_salhdnm><paymstr_amount>1500</paymstr_amount><paymstr_salhdnm>SONALI BANK LOAN-3</paymstr_salhdnm><paymstr_amount>5728</paymstr_amount><paymstr_salhdnm>SONALI BANK LOAN-4</paymstr_salhdnm><paymstr_amount>23490</paymstr_amount></employee>
这是一个解决方案。基本思想是……
<?php
$ru = "..."; // Has pre-defined content
$xml=simplexml_load_string($ru) or die("Error: Cannot create object");
// Collect and create headers
$headers = array('ID', 'YEAR', 'MONTH'); // Pre-define headers
foreach ($xml->paymstr_salhdnm as $key=>$header) {
$headers[] = (string)$header;
}
// Create data table
$hindex=0;
echo '<table style="border: 1px solid black; border-collapse: collapse;">';
foreach ($xml->children() as $key=>$value){
if (strtolower($key) == 'paymstr_salhdnm' ) continue; // header data, so ignore
echo '<tr>';
echo ' <td style="border: 1px solid black; border-collapse: collapse;">'.((isset($headers[$hindex])) ? $headers[$hindex] : ' ').'</td>';
echo ' <td style="border: 1px solid black; border-collapse: collapse;">'.$value.'</td>';
echo '</tr>';
$hindex++;
}
echo '</table>';
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句