Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > สอบถามปัญหาเกี่ยวกับตารางที่แสดงจากการค้นหาจาก DB หน่อยครับ


[PHP] สอบถามปัญหาเกี่ยวกับตารางที่แสดงจากการค้นหาจาก DB หน่อยครับ

 
Topic : 081151



โพสกระทู้ ( 17 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook


คือตอนนี้สามารถทำการค้นหาทุกอย่างได้แล้วแต่อยากให้มันแสดงในตารางเดียวกันครับ ตอนนี้มันเป็นดังภาพ

ajax

ตอนแรกมันจะแสดงตารางด้านล่างแค่ตารางเดียว ต่อเมือเราคลิกปุ่ม ค้นหา อีกตาราง (ตารางด้านบน) จะแสดงออกมา

อยากให้มันแสดงในตารางเดียวกันเลยครับ ช่วยดูให้หน่อยว่าทำอย่างไร

Code ajax_simple.php
001.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
003.<html xmlns="http://www.w3.org/1999/xhtml">
004.<head>
005.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
006.<title>ajax simple all in one file</title>
007.<style type="text/css">
008.*{
009.    font-family:tahoma, "Microsoft Sans Serif", Verdana;
010.    font-size:12px;
011.}
012.</style>
013.<style type="text/css">
014..browse_page{
015.    clear:both;
016.    margin-left:12px;
017.    height:35px;
018.    margin-top:5px;
019.    display:block;
020.}
021..browse_page a,.browse_page a:hover{
022.    display:block;
023.    height:18px;
024.    width:18px;
025.    font-size:10px;
026.    float:left;
027.    margin-right:2px;
028.    border:1px solid #CCCCCC;
029.    background-color:#F4F4F4;
030.    color:#333333;
031.    text-align:center;
032.    line-height:18px;
033.    font-weight:bold;
034.    text-decoration:none;
035.}
036..browse_page a:hover{
037.    border:1px solid #0A85CB;
038.    background-color:#0A85CB;
039.    color:#FFFFFF;
040.}
041..browse_page a.selectPage{
042.    display:block;
043.    height:18px;
044.    width:18px;
045.    font-size:10px;
046.    float:left;
047.    margin-right:2px;
048.    border:1px solid #0A85CB;
049.    background-color:#0A85CB;
050.    color:#FFFFFF;
051.    text-align:center;
052.    line-height:18px;
053.    font-weight:bold;
054.}
055..browse_page a.SpaceC{
056.    display:block;
057.    height:18px;
058.    width:18px;
059.    font-size:10px;
060.    float:left;
061.    margin-right:2px;
062.    border:0px dotted #0A85CB;
063.    font-size:11px;
064.    background-color:#FFFFFF;
065.    color:#333333;
066.    text-align:center;
067.    line-height:18px;
068.    font-weight:bold;
069.}
070..browse_page a.naviPN{
071.    width:50px;
072.    font-size:12px;
073.    display:block;
074.    height:18px;
075.    float:left;
076.    border:1px solid #0A85CB;
077.    background-color:#0A85CB;
078.    color:#FFFFFF;
079.    text-align:center;
080.    line-height:18px;
081.    font-weight:bold;  
082.}
083.</style>
084. 
085. 
086. 
087.<script language="JavaScript">
088.       var HttPRequest = false;
089. 
090.       function doCallAjax(Search) {
091.          HttPRequest = false;
092.          if (window.XMLHttpRequest) { // Mozilla, Safari,...
093.             HttPRequest = new XMLHttpRequest();
094.             if (HttPRequest.overrideMimeType) {
095.                HttPRequest.overrideMimeType('text/html');
096.             }
097.          } else if (window.ActiveXObject) { // IE
098.             try {
099.                HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
100.             } catch (e) {
101.                try {
102.                   HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
103.                } catch (e) {}
104.             }
105.          }
106.           
107.          if (!HttPRequest) {
108.             alert('Cannot create XMLHTTP instance');
109.             return false;
110.          }
111.     
112.            var url = 'ajax_data.php';
113.            var pmeters = 'mySearch='+Search;
114.            HttPRequest.open('POST',url,true);
115. 
116.            HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
117.            HttPRequest.setRequestHeader("Content-length", pmeters.length);
118.            HttPRequest.send(pmeters);
119.             
120.             
121.            HttPRequest.onreadystatechange = function()
122.            {
123. 
124.                 if(HttPRequest.readyState == 3)  // Loading Request
125.                  {
126.                   document.getElementById("mySpan").innerHTML = "Now is Loading...";
127.                  }
128. 
129.                 if(HttPRequest.readyState == 4) // Return Request
130.                  {
131.                   document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
132.                  }
133.                 
134.            }
135. 
136.       }
137.        
138.</script>
139. 
140. 
141.</head>
142. 
143.<body>
144. 
145. 
146.<div style=" text-align:center;margin:auto;width:80%;">
147.<form id="form_member" name="form_member" method="post" action="">
148.<table width="500" border="0" cellspacing="2" cellpadding="0">
149.  <tr>
150.    <td width="100" align="right">&nbsp;</td>
151.    <td>&nbsp;</td>
152.  </tr>
153.  <tr>
154.    <td align="right">ชื่อผู้ใข้</td>
155.    <td align="left"><input name="member_name" type="text" id="member_name" size="45" /></td>
156.  </tr>
157.  <tr>
158.    <td align="right">รหัสผ่าน</td>
159.    <td align="left"><input name="member_password" type="text" id="member_password" size="45" /></td>
160.  </tr>
161.  <tr>
162.    <td align="right">ชื่อ นามสกุล</td>
163.    <td align="left"><input name="member_fullname" type="text" id="member_fullname" size="45" /></td>
164.  </tr>
165.  <tr>
166.    <td align="right">ประเภท</td>
167.    <td align="left"><select name="member_type" id="member_type">
168.      <option value="">เลือกประเภท</option>
169.      <option value="1">ประเภทที่ 1</option>
170.      <option value="2">ประเภทที่ 2</option>
171.    </select></td>
172.  </tr>
173.  <tr>
174.    <td align="right">&nbsp;</td>
175.    <td align="left"><input type="button" name="save" id="save" value="Save" />
176.      &nbsp; <input type="button" name="cancel" id="cancel" value="Cancel" />
177.      <input name="h_member_id" type="hidden" id="h_member_id" value="" /></td>
178.  </tr>
179.  <tr>
180.    <td align="right">&nbsp;</td>
181.    <td align="left">&nbsp;</td>
182.  </tr>
183.</table>
184.</form>
185. 
186. 
187. 
188. 
189. 
190.<form name="frmMain">
191.Search <input type="text" name="txtSearch" id="txtSearch">
192.<input type="button" name="btnSearch" id="btnSearch" value="Search" OnClick="JavaScript:doCallAjax(document.getElementById('txtSearch').value);">
193.<br><br>
194.<span id="mySpan"></span>
195.</form>
196. 
197. 
198. 
199. 
200. 
201. 
202. 
203. 
204. 
205. 
206. 
207. 
208. 
209. 
210. 
211. 
212. 
213.<div id="showData" style="margin:auto;padding:10px;text-align:center;">
214. 
215.</div>
216. 
217. 
218.</div>
219. 
220.<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
221.<!--<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>-->
222.<script type="text/javascript">
223.$(function(){
224.    $("#showData").load("ajax_data.php");
225. 
226.             
227.    $("#save").click(function(){
228.        $.post("ajax_data.php?method=insert",$("#form_member").serialize(),function(){
229.            $("#showData").load("ajax_data.php");
230.            $("#form_member")[0].reset();
231.        });
232.    });
233.    $("#cancel").click(function(){
234.        $("#form_member")[0].reset();
235.    });
236. 
237.     $(".browse_page a").live("click",function(event){
238.         event.preventDefault();
239.         var url=$(this).attr("href");
240.//       แสดงแบบปกติ
241.         $("#showData").load(url,function(){
242.              
243.         });
244. 
245.////        แสดงแบบ effect  สามารถประยุกต์ effect หรือลูกเล่นอื่นๆ ตามต้องการ
246.//       $("#showData").animate({
247.//           opacity:0
248.//       },100,function(){
249.//           $("#showData").load(url,function(){
250.//              $("#showData").animate({
251.//                  opacity:1
252.//               },200);
253.//           });            
254.//       });
255. 
256.         return false;
257.     });
258. 
259.    $(".delItem").live("click",function(event){
260.        event.preventDefault();
261.        var idMember=$(this).attr("href");
262.        idMember=idMember.replace("#","");
263.        $(this).parent("td").parent("tr").fadeOut();
264.        $.post("ajax_data.php?method=delete",{id:idMember},function(){
265.            $("#showData").load("ajax_data.php");
266.        });
267.    });
268.     
269.    $(".updateItem").live("click",function(event){
270.        event.preventDefault();
271.        var idMember=$(this).attr("href");
272.        idMember=idMember.replace("#","");
273.        $.post("ajax_data.php?method=getupdate",{id:idMember},function(data){
274.            var returnData=data.split("|");
275.            $("#h_member_id").val(returnData[0]);
276.            $("#member_name").val(returnData[1]);
277.            $("#member_password").val(returnData[2]);
278.            $("#member_fullname").val(returnData[3]);
279.            $("#member_type").val(returnData[4]);
280. 
281.        });
282.    });
283.     
284.});
285.</script>
286. 
287. 
288. 
289.</body>
290.</html>[/code]
291. 
292. 
293.อีกไฟล์ครับ
294. 
295.<strong>Code ajax_data.php</strong>
296.[code]<?php
297.header("Content-type:text/html; charset=UTF-8");             
298.header("Cache-Control: no-store, no-cache, must-revalidate");            
299.header("Cache-Control: post-check=0, pre-check=0", false);  
300.mysql_connect("localhost","root","1234") or die("Cannot connect the Server");  
301.mysql_select_db("52010913693") or die("Cannot select database");  
302.mysql_query("set character set utf8"); 
303.?>
304.<?php  
305.// สร้างฟังก์ชั่น สำหรับแสดงการแบ่งหน้า  
306.function page_navigator($before_p,$plus_p,$total,$total_p,$chk_page){  
307.    global $e_page;
308.    global $querystr;
309.    $urlfile="ajax_data.php"; // ส่วนของไฟล์เรียกใช้งาน ด้วย ajax (ajax_dat.php)
310.    $per_page=10;
311.    $num_per_page=floor($chk_page/$per_page);
312.    $total_end_p=($num_per_page+1)*$per_page;
313.    $total_start_p=$total_end_p-$per_page;
314.    $pPrev=$chk_page-1;
315.    $pPrev=($pPrev>=0)?$pPrev:0;
316.    $pNext=$chk_page+1;
317.    $pNext=($pNext>=$total_p)?$total_p-1:$pNext;    
318.    $lt_page=$total_p-4;
319.    if($chk_page>0){ 
320.        echo "<a  href='$urlfile?s_page=$pPrev&querystr=".$querystr."' class='naviPN'>Prev</a>";
321.    }
322.    for($i=$total_start_p;$i<$total_end_p;$i++){ 
323.        $nClass=($chk_page==$i)?"class='selectPage'":"";
324.        if($e_page*$i<=$total){
325.        echo "<a href='$urlfile?s_page=$i&querystr=".$querystr."' $nClass  >".intval($i+1)."</a> ";  
326.        }
327.    }      
328.    if($chk_page<$total_p-1){
329.        echo "<a href='$urlfile?s_page=$pNext&querystr=".$querystr."'  class='naviPN'>Next</a>";
330.    }
331.}  
332.?>
333.<?php
334.// ส่วนของการเพิ่ม ลบ แก้ไข ข้อมูล
335.if($_GET['method']=="insert"){
336.    if($_POST['h_member_id']!=""){
337.        $q="UPDATE  `tbl_member` SET
338.`member_name` = '".$_POST['member_name']."',
339.`member_password` = '".$_POST['member_password']."',
340.`member_fullname` = '".$_POST['member_fullname']."',
341.`member_type` = '".$_POST['member_type']."'
342.WHERE `tbl_member`.`member_id` ='".$_POST['h_member_id']."' ";
343.    }else{
344.        $q="INSERT INTO `tbl_member` (
345.        `member_id` ,
346.        `member_name` ,
347.        `member_password` ,
348.        `member_fullname` ,
349.        `member_type`
350.        )
351.        VALUES (
352.        NULL ,
353.        '".$_POST['member_name']."',
354.        '".$_POST['member_password']."',
355.        '".$_POST['member_fullname']."',
356.        '".$_POST['member_type']."'
357.        );";       
358.    }
359.    mysql_query($q);   
360.}
361.if($_GET['method']=="delete"){
362.    $q="DELETE FROM tbl_member WHERE member_id='".$_POST['id']."' ";
363.    mysql_query($q);   
364.    exit;
365.}
366.if($_GET['method']=="getupdate"){
367.    $q="SELECT * FROM tbl_member WHERE member_id='".$_POST['id']."' ";
368.    $qr=mysql_query($q);   
369.    $rs=mysql_fetch_array($qr);
370.    echo $rs['member_id']."|";
371.    echo $rs['member_name']."|";
372.    echo $rs['member_password']."|";
373.    echo $rs['member_fullname']."|";
374.    echo $rs['member_type'];
375.    exit;
376.}
377.?>
378. 
379.<table width="500" border="0" cellspacing="0" cellpadding="0">
380.<tr>
381.  <td width="35" height="20" align="center" bgcolor="#CCCCCC">#</td>
382.  <td height="20" align="center" bgcolor="#CCCCCC">ชื่อ นามสกุล</td>
383.  <td width="150" height="20" align="center" bgcolor="#CCCCCC">ประเภท</td>
384.  <td height="20" colspan="2" align="center" bgcolor="#CCCCCC">จัดการ</td>
385.  </tr>
386. 
387. 
388.<?php
389.//////////////////////////////////////// เริ่มต้น ส่วนเนื้อหาที่จะนำไปใช้ในไฟล์ ที่เรียกใช้ด้วย ajax
390.?>
391. 
392. 
393.<?php
394. 
395.if(isset($_POST["mySearch"])){
396. 
397.$strSearch = $_POST["mySearch"];
398.$q = "SELECT * FROM tbl_member WHERE member_fullname LIKE '%".$strSearch."%' ";
399.}else{
400.$q="select * from tbl_member where 1";
401.$q.=" ORDER BY member_id DESC   ";
402.} //end if
403. 
404. 
405. 
406.$qr=mysql_query($q);
407.$total=mysql_num_rows($qr);
408.$e_page=5; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า  
409.if(!isset($_GET['s_page'])){  
410.    $_GET['s_page']=0;  
411.}else{  
412.    $chk_page=$_GET['s_page'];    
413.    $_GET['s_page']=$_GET['s_page']*$e_page;  
414.}  
415.$q.=" LIMIT ".$_GET['s_page'].",$e_page";
416.$qr=mysql_query($q);
417.if(mysql_num_rows($qr)>=1){  
418.    $plus_p=($chk_page*$e_page)+mysql_num_rows($qr);  
419.}else{  
420.    $plus_p=($chk_page*$e_page);      
421.}  
422.$total_p=ceil($total/$e_page);  
423.$before_p=($chk_page*$e_page)+1; 
424.?>
425.<?php
426. 
427.$arr_typemember=array(
428.    "1"=>"ประเภทที่ 1",
429.    "2"=>"ประเภทที่ 2"
430.);
431. 
432.?>
433.<?php
434.$i=1;
435.while($rs=mysql_fetch_array($qr)){
436.?> 
437.<tr>
438.  <td height="20" align="center"><?=($chk_page*$e_page)+$i?></td>
439.  <td height="20" align="left">&nbsp; <?=$rs['member_fullname']?></td>
440.  <td height="20" align="center">&nbsp; <?=$arr_typemember[$rs['member_type']]?></td>
441.  <td width="45" height="20" align="center"><a href="#<?=$rs['member_id']?>" class="updateItem">แก้ไข</a></td>
442.  <td width="45" height="20" align="center"><a href="#<?=$rs['member_id']?>" class="delItem">ลบ</a></td>
443.</tr>
444.<?php $i++; } ?>
445.</table>
446.<?php if($total>0){ ?>
447.<div class="browse_page">
448. <?php  
449. // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า  
450.  page_navigator($before_p,$plus_p,$total,$total_p,$chk_page);   
451.  ?>
452.</div>
453.<?php } ?>
454.<?php
455.////////////////////////////////////////////  จบ ส่วนเนื้อหาที่จะนำไปใช้ในไฟล์ ที่เรียกใช้ด้วย ajax
456.?>




Tag : PHP, Ajax, jQuery, CakePHP



ประวัติการแก้ไข
2012-07-16 20:28:35
2012-07-16 22:11:58
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-07-16 20:25:57 By : Jor_Jay View : 1319 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,059 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ถ้า 2 ตารางใช้ UNION ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-17 21:31:02 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาเกี่ยวกับตารางที่แสดงจากการค้นหาจาก DB หน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่