2015-08-06 7 views
1

Этот код для вычисления возраста даты рождения базы данных, но проблема, когда показано в таблице, расположение этого возраста находятся за столом, кто-то может мне помочь, этот кодкак отображать данные в таблице из базы данных?

<?php 
    include 'koneksi.php'; 
    $sql=mysql_query("SELECT * FROM pasien"); 
    function umur($tgl_lahir){ 
     $parts = split('-', $tgl_lahir); 
     $thn_lahir='Year: ' + $parts[0]; 
     $bln_lahir='Month: ' + $parts[1]; 
     $tgl_lahir='Day: ' + $parts[2]; 
     $tanggal_today = date('d'); 
     $bulan_today=date('m'); 
     $tahun_today = date('Y'); 
     $harilahir=gregoriantojd($bln_lahir,$tgl_lahir,$thn_lahir); 
     $hariini=gregoriantojd($bulan_today,$tanggal_today,$tahun_today); 
     $umur=$hariini-$harilahir; 
     $tahun=$umur/365; 
     $sisa=$umur%365; 
     $bulan=$sisa/30; 
     $hari=$sisa%30; 
     echo floor($tahun).",".floor($bulan); 
    } 
    while ($row=mysql_fetch_array($sql)){ 

     echo"<table border='1px'>"; 
     echo "<tr>"; 
     echo "<td width='50px'>".umur($row['tgl_lahir'])."</td>"; 
     echo "<td>".$row['nama']."</td>"; 
     echo "</tr>"; 
     echo"</table>"; 
    } 
?> 
+0

Если просмотреть разобранный исходный код страницы и искать для этой таблицы, ваша ошибка будет очевидна. Это произойдет, когда у вас возникнут проблемы с синтаксисом HTML. – zanderwar

+0

Вы можете отправить снимок того, как выглядит ваш результат? –

+0

Вы пытались поместить тег

вне цикла? –

ответ

1

Вы уже являетесь echo результатом функции umur. Но в функции вы делаете это еще раз.

Изменение umur функции последней строки

echo floor($tahun).",".floor($bulan); 

в

return floor($tahun).",".floor($bulan); 

И переместить <table> и </table> за пределами while. В противном случае у вас будет новая таблица для каждой строки.

+0

это работа Большое спасибо –

+0

@RyanIrfandi Не могли бы вы отметить мой ответ, как принято тогда? –

1

Перемещение echo"<table border='1px'>"; до while петля и перемещение echo"</table>"; после while петля.

Обновите свой код

<?php 
include 'koneksi.php'; 
$sql=mysql_query("SELECT * FROM pasien"); 
function umur($tgl_lahir) 
{ 
    $parts = split('-', $tgl_lahir); 
    $thn_lahir='Year: ' + $parts[0]; 
    $bln_lahir='Month: ' + $parts[1]; 
    $tgl_lahir='Day: ' + $parts[2]; 
    $tanggal_today = date('d'); 
    $bulan_today=date('m'); 
    $tahun_today = date('Y'); 
    $harilahir=gregoriantojd($bln_lahir,$tgl_lahir,$thn_lahir); 
    $hariini=gregoriantojd($bulan_today,$tanggal_today,$tahun_today); 
    $umur=$hariini-$harilahir; 
    $tahun=$umur/365; 
    $sisa=$umur%365; 
    $bulan=$sisa/30; 
    $hari=$sisa%30; 
    return floor($tahun).",".floor($bulan); 
} 


echo"<table border='1px'>"; 
while ($row=mysql_fetch_array($sql)) 
{ 

    echo "<tr>"; 
    echo "<td width='50px'>".umur($row['tgl_lahir'])."</td>"; 
    echo "<td>".$row['nama']."</td>"; 
    echo "</tr>"; 
} 
echo"</table>"; 

Рекомендуется использовать return вместо echo в функции, чтобы вернуть значение. Вы можете использовать echo umur($row['tgl_lahir']); для печати возвращаемого значения функции.

+0

Он все еще печатает возраст вне '

'. –

+0

@ReneKorss Я не тестировал выход. – Hassaan

+0

Хорошо. Вам нужно заменить 'echo'' функцией 'return'. –

0

попробуйте следующее: Вы должны вернуть значение из функции, а не эхо его

<?php 
    include 'koneksi.php'; 

    $sql=mysql_query("SELECT * FROM pasien"); 
    function umur($tgl_lahir){ 
     $parts = split('-', $tgl_lahir); 
     $thn_lahir='Year: ' + $parts[0]; 
     $bln_lahir='Month: ' + $parts[1]; 
     $tgl_lahir='Day: ' + $parts[2]; 
     $tanggal_today = date('d'); 
     $bulan_today=date('m'); 
     $tahun_today = date('Y'); 
     $harilahir=gregoriantojd($bln_lahir,$tgl_lahir,$thn_lahir); 
     $hariini=gregoriantojd($bulan_today,$tanggal_today,$tahun_today); 
     $umur=$hariini-$harilahir; 
     $tahun=$umur/365; 
     $sisa=$umur%365; 
     $bulan=$sisa/30; 
     $hari=$sisa%30; 
     return floor($tahun).",".floor($bulan); 
    } 
    echo"<table border='1px'>"; 
    while ($row=mysql_fetch_array($sql)){ 
     echo "<tr>"; 
     echo "<td width='50px'>".umur($row['tgl_lahir'])."</td>"; 
     echo "<td>".$row['nama']."</td>"; 
     echo "</tr>"; 
    } 
    echo"</table>"; 
?> 
+0

Не указывайте такой код без объяснения причин. Это не очень полезно для владельца вопроса и для более позднего читателя. –

+0

это работа, спасибо за ответ и совет –

Смежные вопросы