2017-07-31 12 views
1

enter image description here提出ボタンをクリックしてPHP上の同じページのリンク上に検索データを表示する方法は?

こんにちはGuysは、私は次のような問題を持っている:URLで

"/media.php?module=riwayat & NOREG = 00020517"

すべて「noreg = 00020517」のデータが表示されます。私は 'cari'ボタンをクリックした後、テキストボックスに入力された 'keyword'で表示されたデータをフィルタリングしたい。どのようにURLを変更せずに?

'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); 
} 
+0

返された結果をフィルタリングしたいですか? – Swellar

+0

はい、textfield 'kata'のキーワードを使用しています –

答えて

0

あなたは、この目的のために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> 

の場合:

後は、サンプルコードです。

関連する問題