enter image description here

嗨,大家好,我遇到以下问题:

在网址中


  “ /media.php?module=riwayat&noreg=00020517”


显示所有带有'noreg = 00020517'的数据。我想在单击“ cari”按钮后,使用在文本框中输入的“关键字”过滤显示的数据。如何不更改网址?

“ riwayat.php”上的代码为:

switch($_GET[act]){
        default:
$aksi="modul/riwayat/aksi_riwayat.php";
$table  = 'pasien';
$noreg  = $_GET[noreg];
$text   = "SELECT * FROM $table WHERE noreg = $noreg";
$sql1   = mysql_query($text);
$row1   = mysql_num_rows($sql1);
echo "<div id='dalam_content'>
<h2>RIWAYAT PASIEN</h2>
    <div id='info_pasien'>
";
        if ($row1>0){
        while ($r=mysql_fetch_array($sql1)){
        $lahir  =new DateTime($r['tgl_lahir']);
        // Convert Ke Date Time
        $today      = new DateTime();
        $umur = $today->diff($lahir);
        echo "
            <table>
                <tr>
                    <td>NO REG.</b></td>
                    <td><b>:   $r[noreg]</b></td>
                </tr>
                <tr>
                    <td>Nama</b></td>
                    <td><b>:   $r[nama_pasien]</b></td>
                </tr>
                <tr>
                    <td>Tgl Lahir</b></td>
                    <td><b>:   ".jin_date_str($r[tgl_lahir])."</b></td>
                </tr>
                <tr>
                    <td>Jenis Kelamin</b></td>
                    <td><b>:   $r[kelamin]</b></td>
                </tr>
                <tr>
                    <td>Alamat</b></td>
                    <td><b>:   $r[alamat]</b></td>
                </tr>
                <tr>
                    <td>UMUR</b></td>
                    <td><b>:     "; echo $umur->y; echo " Tahun, "; echo $umur->m; echo " Bulan, dan "; echo $umur->d; echo " Hari";   echo "</b></td>
                </tr>
            </table>
    </div>";
        }}
        echo"
    <div id='tampil_data1'>
        <div id='tombol-cari'>
            <form method=POST action='$aksi?module=riwayat&act=cari' enctype='multipart/form-data'>
            <input name=kata type=text size=23 maxlength=50 />
            <input type=submit value=Cari>
            <input type=hidden name=noreg value=$noreg>
            </form>
            <input type=button value='Pemeriksaan Baru' onclick=\"window.location.href='?module=riwayat&act=periksabaru&noreg=$noreg';\">
        </div>
            <table id='theTable' width='100%'>
                <tr>
                    <th width='10%'>Tanggal</th>
                    <th>Pemeriksaan</th>
                    <th>Terapi</th>
                </tr>";
                $kata = trim($_POST['kata']);
                $kata = htmlentities(htmlspecialchars($kata), ENT_QUOTES);
                $table2 = 'riwayat';
                $where3 = "WHERE noreg= $noreg AND pemeriksaan LIKE '%$kata%' OR terapi LIKE '%$kata%'";
                $sql3   = "SELECT * FROM $table2 $where3    ORDER BY id ASC";
                $query3 = mysql_query($sql3);
                while($rows=mysql_fetch_array($query3)){
                    if ($kata==$kata){
                    $pemeriksaan=$rows[pemeriksaan];
                    $pemeriksaan = preg_replace( "/$kata/i", '<span style="background-color:yellow;">' . $kata . '</span>', $pemeriksaan );
                    $terapi=$rows[terapi];
                    $terapi = preg_replace( "/$kata/i", '<span style="background-color:yellow;">' . $kata . '</span>', $terapi );
                    }
                else {
                    $pemeriksaan=$rows[pemeriksaan];
                    $terapi=$rows[terapi];
                }
                    echo "
                <tr>

                    <td align='center'>".jin_date_str($rows[tgl_periksa])."</td>
                    <td>$pemeriksaan</td>
                    <td>$terapi</td>
                </tr>";

                }
                echo "
            </table>";
    break;


而“ aksi_riwayat.php”代码为:

$module=$_GET[module];
$act=$_GET[act];
$noreg= $_POST[noreg];
// Input pemeriksaanbaru
if ($module=='riwayat' AND $act=='input'){
mysql_query("INSERT INTO riwayat(tgl_periksa,
                                noreg,
                                pemeriksaan,
                                terapi)
                        VALUES('$_POST[tgl]',
                               '$_POST[noreg]',
                               '$_POST[pemeriksaan]',
                               '$_POST[terapi]')");


  header('location:../../media.php?module=riwayat&noreg='.$noreg);
 }
// Input Cari
elseif ($module=='riwayat' AND $act=='cari'){
header('location:../../media.php?module=riwayat&noreg='.$noreg);
}

最佳答案

您可以为此目的使用AJAX。
单击提交按钮后,您必须将数据传递到服务器并从服务器端获取响应。一旦获得数据,就必须在目标位置上进行渲染。

This link将使您更好地了解如何集成AJAX。

以下是来自以上链接的示例代码:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
        $.post("demo_test_post.asp",
        {
          name: "Donald Duck",
          city: "Duckburg"
        },
        function(data,status){
            alert("Data: " + data + "\nStatus: " + status);
        });
    });
});
</script>
</head>
<body>

<button>Send an HTTP POST request to a page and get the result back</button>

</body>
</html>


如果还有疑问,请告诉我。

关于php - 如何通过单击提交按钮在PHP页面的同一链接上显示搜索数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45410914/

10-11 21:56
查看更多