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,037

HOME > PHP > PHP Forum > อยากสอบถามคำสั่งค้นหน้าจากฐานข้อมูลพร้อมมีระบบแบ่งหน้าในตัว พอดีผมทำแล้วมันใช้ได้แค่อย่างใดอย่าง1



 

อยากสอบถามคำสั่งค้นหน้าจากฐานข้อมูลพร้อมมีระบบแบ่งหน้าในตัว พอดีผมทำแล้วมันใช้ได้แค่อย่างใดอย่าง1

 



Topic : 133446



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



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



// ฟังก์ชั่นสำหรับการแบ่งหน้า และ css

Code (PHP)
<?php  
// ฟังก์ชั่นสำหรับการแบ่งหน้า 
function page_navi($before_p,$plus_p,$total,$total_p,$chk_page){        
    global $urlquery_str;     
    $pPrev=$chk_page-1;     
    $pPrev=($pPrev>=0)?$pPrev:0;     
    $pNext=$chk_page+1;     
    $pNext=($pNext>=$total_p)?$total_p-1:$pNext;          
    $lt_page=$total_p-4;     
    if($chk_page>0){       
        echo "<a  href='$urlquery_str"."pages=".intval($pPrev+1)."' class='naviPN'>ย้อนกลับ</a>";     
    }     
    if($total_p>=11){     
        if($chk_page>=4){     
            echo "<a $nClass href='$urlquery_str"."pages=1'>1</a><a class='SpaceC'>. . .</a>";        
        }     
        if($chk_page<4){     
            for($i=0;$i<$total_p;$i++){       
                $nClass=($chk_page==$i)?"class='selectPage'":"";     
                if($i<=4){     
                echo "<a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";        
                }     
                if($i==$total_p-1 ){      
                echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";        
                }            
            }     
        }     
        if($chk_page>=4 && $chk_page<$lt_page){     
            $st_page=$chk_page-3;     
            for($i=1;$i<=5;$i++){     
                $nClass=($chk_page==($st_page+$i))?"class='selectPage'":"";     
                echo "<a $nClass href='$urlquery_str"."pages=".intval($st_page+$i+1)."'>".intval($st_page+$i+1)."</a> ";           
            }     
            for($i=0;$i<$total_p;$i++){       
                if($i==$total_p-1 ){      
                $nClass=($chk_page==$i)?"class='selectPage'":"";     
                echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";        
                }            
            }                                        
        }        
        if($chk_page>=$lt_page){     
            for($i=0;$i<=4;$i++){     
                $nClass=($chk_page==($lt_page+$i-1))?"class='selectPage'":"";     
                echo "<a $nClass href='$urlquery_str"."pages=".intval($lt_page+$i)."'>".intval($lt_page+$i)."</a> ";        
            }     
        }             
    }else{     
        for($i=0;$i<$total_p;$i++){       
            $nClass=($chk_page==$i)?"class='selectPage'":"";     
            echo "<a href='$urlquery_str"."pages=".intval($i+1)."' $nClass  >".intval($i+1)."</a> ";        
        }            
    }        
    if($chk_page<$total_p-1){     
        echo "<a href='$urlquery_str"."pages=".intval($pNext+1)."'  class='naviPN'>ถัดไป</a>";     
    }     
}  
?>
    <style type="text/css">  
    /* css แบ่งหน้า */ 
    .browse_page{     
        clear:both;     
        margin-left:12px;     
        height:25px;     
        margin-top:5px;     
        display:block;     
    }     
    .browse_page a,.browse_page a:hover{     
        display:block;     
        width: 2%;  
        font-size:14px;     
        float:left;     
        margin:0px 5px;  
        border:1px solid #CCCCCC;     
        background-color:#F4F4F4;     
        color:#333333;     
        text-align:center;     
        line-height:22px;     
        font-weight:bold;     
        text-decoration:none;     
        -webkit-border-radius: 5px;  
        -moz-border-radius: 5px;  
        border-radius: 5px;   
    }     
    .browse_page a:hover{     
        border:1px solid #CCCCCC;  
        background-color:#1148b9;  
        color:#FFFFFF;     
    }     
    .browse_page a.selectPage{     
        display:block;     
        width:45px;     
        font-size:14px;     
        float:left;     
        margin-right:2px;     
        border:1px solid #CCCCCC;  
        background-color:#386bd4;  
        color:#FFFFFF;     
        text-align:center;     
        line-height:22px;      
        font-weight:bold;     
        -webkit-border-radius: 5px;  
        -moz-border-radius: 5px;  
        border-radius: 5px;   
    }     
    .browse_page a.SpaceC{     
        display:block;     
        width:45px;     
        font-size:14px;     
        float:left;     
        margin-right:2px;     
        border:0px dotted #0A85CB;     
        background-color:#FFFFFF;     
        color:#333333;     
        text-align:center;     
        line-height:22px;     
        font-weight:bold;     
        -webkit-border-radius: 5px;  
        -moz-border-radius: 5px;  
        border-radius: 5px;   
    }     
    .browse_page a.naviPN{     
        width:50px;     
        font-size:12px;     
        display:block;     
    /*    width:25px;   */ 
        float:left;     
        border:1px solid #CCCCCC;  
        background-color:#1148b9;  
        color:#FFFFFF;     
        text-align:center;     
        line-height:22px;     
        font-weight:bold;        
        -webkit-border-radius: 5px;  
        -moz-border-radius: 5px;  
        border-radius: 5px;   
    }    
    /* จบ css แบ่งหน้า */ 
    </style>       



คำสั่งแบ่งตาราง member พร้อมแบ่งหน้า *ตรงที่มีปัญหา หน้ามี ขึ้นแต่ไม่ตัดแบ่งหน้าให้ค้นหาได้ แต่ถ้าแก้ให้แบ่งหน้าค้นหาไม่ได้
Code (PHP)
    <?php
	$i=0;
	$q="
    SELECT * FROM member 
    ";
	 $qr=mysql_query($q);
  $getdata->my_sql_set_utf8();
  $total=@mysql_num_rows($qr);
  $e_page=20; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า
	$getsearch = $getdata->my_sql_select(NULL,"member","member.member_code LIKE '".addslashes($_POST['member_code'])."%' ORDER BY member.member_code DESC");
	if(!isset($_GET['pages'])){     
        $_GET['pages']=0;     
    }else{     
        $_GET['pages']=$_GET['pages']-1;  
        if($_GET['pages']<0){  
            $_GET['pages']=0;     
        }  
        $chk_page=$_GET['pages'];       
        $_GET['pages']=$_GET['pages']*$e_page;     
    } 
$q.=" ORDER BY member_code  LIMIT ".$_GET['pages'].",$e_page";  
 
    $getmember=@mysql_query($q);     
    if(@mysql_num_rows($qr)>=1){     
        $plus_p=($chk_page*$e_page)+@mysql_num_rows($qr);     
    }else{     
        $plus_p=($chk_page*$e_page);         
    }     
    $total_p=ceil($total/$e_page);     
    $before_p=($chk_page*$e_page)+1;    
    /// END PAGE NAVI ZONE       
	  while($showmember = mysql_fetch_object($gesearch)){
		$i++;
		$con = $getdata->my_sql_select(NULL,"member",$e_page);
	?>


ภาพตัวอย่างครับ
01
03


ขออีกข้อนะครับ คำสั่งนี้ไม่ทำงานต้องประกาศอะไรเพิ่มไหมครับ อยู่ด้านบนสุดเลย
JavaScriptใช้ขึ้นในช่องค้นหา
Code (JavaScript)
<script src="../js/ui/jquery.ui.widget.js"></script>
<script src="../js/ui/jquery.ui.mouse.js"></script>
<script src="../js/ui/jquery.ui.sortable.js"></script>
<script src="../js/ui/jquery.ui.tabs.js"></script>
<script src="../js/ui/jquery.ui.menu.js"></script>
<script src="../js/ui/jquery.ui.autocomplete.js"></script>
<script src="../js/ui/jquery.ui.position.js"></script>
<script src="../js/ui/jquery.ui.datepicker.js"></script>
<script src="../js/ui/i18n/jquery.ui.datepicker-th.js"></script>
<script type="text/javascript">
			$( "#showmember" ).autocomplete({
			minLength: 1,
			source: "../modules/payaqua/card_result.php",
			focus: function( event, ui ) {
				$( "#showmember" ).val( ui.item.label );
				return false;
			},
		})
		.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
			return $( "<li>" )
				.append('<a><div class="list_item_container" title="'+item.name+'"><img src="../resource/members/thumbs/' + item.image + '" id="photo_search" border="0" title="'+item.name+'"><span class="label">' + item.name + '</span></div></a>')
				.appendTo( ul );
		};

});
function deleteLogs(mkey){
	
		if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
	 	xmlhttp=new XMLHttpRequest();
	}else{// code for IE6, IE5
  		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.onreadystatechange=function(){
  		if (xmlhttp.readyState==4 && xmlhttp.status==200){
		document.getElementById(mkey).innerHTML = '';
  		}
	}
	xmlhttp.open("GET","../modules/members/delete.php?mkey="+mkey+"&ttype=delete_logs",true);
	xmlhttp.send();
	
}
</script>



อยากได้แบบนี้นะครับแต่ทำไม่เป็น 555+
อยากได้แบบนี้ครับ
45



Tag : PHP, MySQL









ประวัติการแก้ไข
2019-04-09 10:12:16
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-04-09 10:11:01 By : 2796150640410084 View : 777 Reply : 12
 

 

No. 1



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


https://www.thaicreate.com/php/forum/095986.html

https://www.thaicreate.com/php/forum/133371.html
https://www.thaicreate.com/php/forum/133380.html
https://www.thaicreate.com/php/forum/122621.html








ประวัติการแก้ไข
2019-04-09 10:28:29
2019-04-09 10:29:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-09 10:27:46 By : mr.v
 


 

No. 2



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



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


$total=@mysql_num_rows($qr);
ถ้าเป็น case ที่ไม่มีการค้นหา อันนี้ไม่ติดนะครับ
แต่พอค้นหาแล้ว total ต้องเท่ากับ ผลลัพธ์ที่ where ออกมาอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-09 10:30:45 By : Jatmentz
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : Jatmentz เมื่อวันที่ 2019-04-09 10:30:45
รายละเอียดของการตอบ ::
จะใช้ทั้งคู่ไม่ได้สินะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-09 11:01:08 By : 2796150640410084
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : 2796150640410084 เมื่อวันที่ 2019-04-09 11:01:08
รายละเอียดของการตอบ ::
ใช่ครับ ลองใช้เป็น
select count(field)
from table
where ...condition..
ดูครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-09 11:04:04 By : Jatmentz
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : Jatmentz เมื่อวันที่ 2019-04-09 11:04:04
รายละเอียดของการตอบ ::
ตอนนี้ปวดหัวมากมาย 555+ ทำไม่ได้เลย


Code (PHP)
 <?php
	$i=0;
	$q="
    SELECT * FROM member 
    ";
	 $qr=mysql_query($q);
  $getdata->my_sql_set_utf8();
  $total=@mysql_num_rows($qr);
  $e_page=20; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า
	$getsearch = $getdata->my_sql_select(NULL,"member","member.member_code LIKE '".addslashes($_POST['member_code'])."%' ORDER BY member.member_code DESC");
	if(!isset($_GET['pages'])){     
        $_GET['pages']=0;     
    }else{     
        $_GET['pages']=$_GET['pages']-1;  
        if($_GET['pages']<0){  
            $_GET['pages']=0;     
        }  
        $chk_page=$_GET['pages'];       
        $_GET['pages']=$_GET['pages']*$e_page;     
    } 
$q.=" ORDER BY member_code  LIMIT ".$_GET['pages'].",$e_page";  
 
    $showmember=@mysql_query($q);     
    if(@mysql_num_rows($qr)>=1){     
        $plus_p=($chk_page*$e_page)+@mysql_num_rows($qr);     
    }else{     
        $plus_p=($chk_page*$e_page);         
    }     
    $total_p=ceil($total/$e_page);     
    $before_p=($chk_page*$e_page)+1;    
    /// END PAGE NAVI ZONE       
	  while($showmember = mysql_fetch_object($getsearch)){
		$i++;
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-09 14:11:30 By : 2796150640410084
 


 

No. 6



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


ฉบับเต็ม --> การแสดงแบบแบ่งหน้าโดยใช้ kgPager Class (PHP & MySQL)
Code (PHP)
<?PHP
    error_reporting(0);
    header('Content-Type: text/html; charset=utf-8');
    require_once('kgPager.class.php');
    $conn = mysql_pconnect('localhost', 'root', 'root');
    $select = mysql_select_db('thailand', $conn);
    mysql_query("SET NAMES 'utf8'");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>การเขียนโค้ดแบ่งหน้าการแสดงผลแบบใช้ kgPager Class  : โดย คนธรรมดา ไม่พิเศษ(Thaicreate.com)</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<?PHP

$page   = empty($_GET['page']) ?	1 : $_GET['page']; 
$search = ! empty($_GET['member_code']) ? htmlspecialchars($_GET['member_code']) : NULL;
$query  = " SELECT * FROM member "; //คำสั่ง SQL
$query  .= ! empty($search) ? " member.member_code LIKE '".$search."% " : "";
$sql    = mysql_query($query);
$total_records = mysql_num_rows($sql); //นับจำจำนวน record 
$scroll_page = 5; //จำนวนแบ่งหน้าที่จะให้แสดง คือ <ก่อนหน้า , 1 , 2 , 3 , ต่อไป>
$per_page = 10; //จำนวนข้อมูลที่ต้องการแสดงในแต่ละหน้า
$current_page = $page; //รับค่าเพจ
$pager_url = 'test.php?member_code='.$search.'&page='; //URL ตามตัวครับ
$inactive_page_tag = 'id="current_page"'; //ตำแหน่งหน้าปัจจุบัน
$previous_page_text = '&lt; ย้อนกลับ'; //ปุ่มย้อนกลับ
$next_page_text = 'ถัดไป &gt;'; //ปุ่มถัดไป
$first_page_text = '&lt;&lt; หน้าแรก'; //ปุ่มหน้าแรก
$last_page_text = 'หน้าสุดท้าย &gt;&gt;'; //ปุ่มหน้าสุดท้าย

$kgPagerOBJ = new kgPager(); #เรียกใช้งาน class
$kgPagerOBJ -> pager_set($pager_url, $total_records, $scroll_page, $per_page, $current_page, $inactive_page_tag, $previous_page_text, $next_page_text, $first_page_text, $last_page_text, $pager_url_last);

#-------------ส่วนแสดงผลจำนวน record ทั้งหมด--------------#
echo '<p><strong>Toplam Sayfa :</strong>';
echo $kgPagerOBJ -> total_pages;
echo '</p>';
#-------------จบส่วนแสดงผลจำนวน record ทั้งหมด--------------#

$sql = mysql_query($query." ORDER BY member_code LIMIT ".$kgPagerOBJ -> start.", ".$kgPagerOBJ -> per_page."");
while ($read = mysql_fetch_assoc($sql)) {
	#-------------ส่วนแสดงผล--------------#
    echo '?????????????????????????????....';
	#-------------จบส่วนแสดงผล--------------#
}

#------ตัวแบ่งหน้า คือ <ก่อนหน้า , 1 , 2 , 3 , ต่อไป> จะเอาไปแปะตรงไหนก็ได้ในหน้าเพจ----#
echo '<p id="pager_links">';
echo $kgPagerOBJ -> first_page;
echo $kgPagerOBJ -> previous_page;
echo $kgPagerOBJ -> page_links;
echo $kgPagerOBJ -> next_page;
echo $kgPagerOBJ -> last_page;
echo '</p>';
?>
</body>
</html>


ถ้าไม่ต้องการแสดงผลการค้นหาทั้งหมด ลองปรับการรับ-ส่งค่า เป็น $_GET ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-09 16:36:26 By : arm8957
 


 

No. 7



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



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : arm8957 เมื่อวันที่ 2019-04-09 16:36:26
รายละเอียดของการตอบ ::
อยากสอบถามว่ามันค้นหาไม่ออกต้องประกาศอะไรครับ แง้ๆ

Code (PHP)
<?PHP
$page   = empty($_GET['page']) ?	1 : $_GET['page']; 
$search = ! empty($_GET['member_code']) ? htmlspecialchars($_GET['member_code']) : NULL;
$query  = " SELECT * FROM member "; //คำสั่ง SQL
$query  .= ! empty($search) ? " member.member_code LIKE '".$search."% " : "";
$sql    = mysql_query($query);
$total_records = mysql_num_rows($sql); //นับจำจำนวน record 
$scroll_page = 5; //จำนวนแบ่งหน้าที่จะให้แสดง คือ <ก่อนหน้า , 1 , 2 , 3 , ต่อไป>
$per_page = 10; //จำนวนข้อมูลที่ต้องการแสดงในแต่ละหน้า
$current_page = $page; //รับค่าเพจ
$pager_url = '?p=search_member&pages='.$search.'&page='; //URL ตามตัวครับ
$inactive_page_tag = 'id="current_page"'; //ตำแหน่งหน้าปัจจุบัน
$previous_page_text = '&lt; ย้อนกลับ'; //ปุ่มย้อนกลับ
$next_page_text = 'ถัดไป &gt;'; //ปุ่มถัดไป
$first_page_text = '&lt;&lt; หน้าแรก'; //ปุ่มหน้าแรก
$last_page_text = 'หน้าสุดท้าย &gt;&gt;'; //ปุ่มหน้าสุดท้าย

$kgPagerOBJ = new kgPager(); #เรียกใช้งาน class
$kgPagerOBJ -> pager_set($pager_url, $total_records, $scroll_page, $per_page, $current_page, $inactive_page_tag, $previous_page_text, $next_page_text, $first_page_text, $last_page_text, $pager_url_last);

$sql = mysql_query($query." ORDER BY member_code LIMIT ".$kgPagerOBJ -> start.", ".$kgPagerOBJ -> per_page."");
while ($read = mysql_fetch_assoc($sql)) {
	#-------------ส่วนแสดงผล--------------#
	?>
    <tr class="aqua_treatment_text" id="<?php echo $read['member_key']?>">
    <td align="center" <?php echo @$bg;?>><img src="../resource/members/thumbs/<?php echo $read['member_photo']?>" width="50"  alt="" id="photo_border"/></td>
    <td align="center" <?php echo @$bg;?>><?php echo $read['member_code']?></td>
    <td <?php echo @$bg;?>>&nbsp;<?php echo $read['member_prefix'].$read['member_name']."&nbsp;&nbsp;".$read['member_lastname'];?></td>
        <td <?php echo @$bg;?>>&nbsp;<?php echo $read['member_prefix_en'].$read['member_name_en']."&nbsp;&nbsp;".$read['member_lastname_en'];?></td>
        <td align="center" <?php echo @$bg;?>><?php echo $read['member_subdistrict'];?></td>
        <td align="center" <?php echo @$bg;?>>&nbsp;<?php echo $read['member_address'];?></td>
        <td align="center" <?php echo @$bg;?>><?php echo $read['member_licence_a'].$read['member_licence_b']."&nbsp;<br>".$read['member_licence_c']?></td>
    <td align="center" <?php echo @$bg;?>><a href="?p=payaqua&member_code=<?php echo $read['member_code'];?>"><div class="button_symbol green"><img src="../media/icons/set/white/right2.png" width="25" height="25"  alt="" title="ข้อมูลสมาชิกวินจักรยานยนต์"/></div></a><a href="?p=register_subjects&key=<?php echo $read['member_key'];?>"><div class="button_symbol brown"><img src="../media/icons/set/white/treatment.png" width="25" height="25"  alt="" title="ลงทะเบียนเรียน"/></div></a><a href="../modules/members/print.php?key=<?php echo $read['member_key'];?>" target="_blank"><div class="button_symbol yellow"><img src="../media/icons/set/white/print.png" width="25" height="25"  alt="" title="พิมพ์บัตรสมาชิก"/></div></a><a href="?p=member_detail&key=<?php echo $read['member_key'];?>"><div class="button_symbol green"><img src="../media/icons/set/white/detail.png" width="25" height="25"  alt="" title="รายละเอียด"/></div></a>
    <div class="button_symbol red" onClick="javascript:deleteMember('<?php echo $read['member_key'];?>');"><img src="../media/icons/set/white/delete1.png" width="25" height="25"  alt="" title="ลบ"/></div></td>
  </tr>
  <?php
  }
  ?>
</table>
  <?php
#------ตัวแบ่งหน้า คือ <ก่อนหน้า , 1 , 2 , 3 , ต่อไป> จะเอาไปแปะตรงไหนก็ได้ในหน้าเพจ----#
echo '<p id="pager_links">';
echo $kgPagerOBJ -> first_page;
echo $kgPagerOBJ -> previous_page;
echo $kgPagerOBJ -> page_links;
echo $kgPagerOBJ -> next_page;
echo $kgPagerOBJ -> last_page;
#-------------ส่วนแสดงผลจำนวน record ทั้งหมด--------------#
echo '<strong>จำนวนแถว :&nbsp;</strong>';
echo $kgPagerOBJ -> total_records; echo '<strong>&nbsp;แถว</strong>';
echo '&nbsp;&nbsp;<strong>จำนวน :&nbsp;</strong>';
echo $kgPagerOBJ -> total_pages; echo '<strong>&nbsp;หน้า</strong>';
#-------------จบส่วนแสดงผลจำนวน record ทั้งหมด--------------#
?>
</div>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-10 13:22:28 By : 2796150640410084
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


04.$query = " SELECT * FROM member "; //คำสั่ง SQL
05.$query .= ! empty($search) ? " member.member_code LIKE '".$search."% " : "";

แก้เป็น
04.$query = " SELECT * FROM member "; //คำสั่ง SQL
05.$query .= ! empty($search) ? " where member.member_code LIKE '".$search."% " : "";

ปล. จริงๆแล้ว mysql มันมีคำสั่ง SQL_CALC_FOUND_ROWS และ FOUND_ROWS() สำหับการนับจำนวนเรคคอร์ดอยู่
ใช้ให้เป็นจะได้ประโยชน์มาก

Code (PHP)
$Per_Page = 10;
$Page = isset($_GET['Page'])? $_GET['Page'] : 1;
$strSQL = 'select SQL_CALC_FOUND_ROWS * from customer 
order by Name1 limit '.(($Page-1) * $Per_Page.','.$Per_Page;
$rows = $conn->query($strSQL) or die('error '.$strSQL.'<br>'.$conn->error);
$rows_count = $conn->query('SELECT FOUND_ROWS() as c')->fetch_assoc()->c;



ประวัติการแก้ไข
2019-04-10 19:48:38
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-10 13:33:48 By : Chaidhanan
 


 

No. 9



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



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


Code (SQL)
ให้ $search = ค่าว่าง ในกรณีที่ไม่มีการค้นหา

/* หา total records */

select count(field) as total
from member
where ($search = '' or member_code = '$search')

/* --------------------- */

/* หา result */

select *
from member
where ($search = '' or member_code = '$search')
order by .... limit ....

/* --------------------- */

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-10 16:10:30 By : Jatmentz
 


 

No. 10



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



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-04-10 13:33:48
รายละเอียดของการตอบ ::
รบกวนอีกรอบนะครับ ผมใส่code แบบนี้แล้วมันค้นหาไม่ได้ต้องประกาศแบบไหนครับ

ช่องค้นหา
Code (PHP)
<fieldset class="field_bar" >
  ชื่อหรือเลขบัตรประชาชน :
  <input name="member_code" type="text" autofocus class="aqua_textfield12" placeholder="พิมพ์เพื่อค้นหา" id="showmember" autocomplete="off" value="<?php echo @addslashes($_GET['member_code']);?>">
  <input type="submit" name="submit" class="button green" value="ค้นหา">
</fieldset>


ภาพตัวอย่าง
ค้นหา5

ระบบค้นหาที่อยากได้
ค้นหาจริง
ชื่อแถวข้อมูลเพิ่มเติม
member_name = ชื่อ
member_lastname = นามสกุล
member_address = วิน
pr_member_name = เลขคุมกระดาษ
member_numcard = เลขที่ใบขับขี่

**รบกวนด้วยนะครับผมลองหลายแบบแล้วงับ ยังมือใหม่หัดทำครับ

ตารางสมาชิกทั้งหมด
Code (PHP)
<?PHP
$page   = empty($_GET['page']) ?	1 : $_GET['page']; 
$search = ! empty($_GET['member_code']) ? htmlspecialchars($_GET['member_code']) : NULL;
$query  = " SELECT * FROM member "; //คำสั่ง SQL
$query .= ! empty($search) ? " where member.member_code LIKE '".$search."% " : "";
$sql    = mysql_query($query);
$total_records = mysql_num_rows($sql); //นับจำจำนวน record 
$scroll_page = 5; //จำนวนแบ่งหน้าที่จะให้แสดง คือ <ก่อนหน้า , 1 , 2 , 3 , ต่อไป>
$per_page = 10; //จำนวนข้อมูลที่ต้องการแสดงในแต่ละหน้า
$current_page = $page; //รับค่าเพจ
$pager_url = '?p=search_member&pages='.$search.'&page='; //URL ตามตัวครับ
$inactive_page_tag = 'id="current_page"'; //ตำแหน่งหน้าปัจจุบัน
$previous_page_text = '&lt; ย้อนกลับ'; //ปุ่มย้อนกลับ
$next_page_text = 'ถัดไป &gt;'; //ปุ่มถัดไป
$first_page_text = '&lt;&lt; หน้าแรก'; //ปุ่มหน้าแรก
$last_page_text = 'หน้าสุดท้าย &gt;&gt;'; //ปุ่มหน้าสุดท้าย

$kgPagerOBJ = new kgPager(); #เรียกใช้งาน class
$kgPagerOBJ -> pager_set($pager_url, $total_records, $scroll_page, $per_page, $current_page, $inactive_page_tag, $previous_page_text, $next_page_text, $first_page_text, $last_page_text, $pager_url_last);

$sql = mysql_query($query." ORDER BY member_code LIMIT ".$kgPagerOBJ -> start.", ".$kgPagerOBJ -> per_page."");
while ($read = mysql_fetch_assoc($sql)) {
	#-------------ส่วนแสดงผล--------------#
	if($read['member_status'] != 1){
		  $bg = 'bgcolor="#CCCCCC"';
	  }else{
		  $bg = 'bgcolor="#8DC2FF"';
	  }
	?>
    <tr class="aqua_treatment_text" id="<?php echo $read['member_key']?>">
    <td align="center" <?php echo @$bg;?>><img src="../resource/members/thumbs/<?php echo $read['member_photo']?>" width="50"  alt="" id="photo_border"/></td>
    <td align="center" <?php echo @$bg;?>><?php echo $read['member_code']?></td>
    <td <?php echo @$bg;?>>&nbsp;<?php echo $read['member_prefix'].$read['member_name']."&nbsp;&nbsp;".$read['member_lastname'];?></td>
        <td <?php echo @$bg;?>>&nbsp;<?php echo $read['member_prefix_en'].$read['member_name_en']."&nbsp;&nbsp;".$read['member_lastname_en'];?></td>
        <td align="center" <?php echo @$bg;?>><?php echo $read['member_subdistrict'];?></td>
        <td align="center" <?php echo @$bg;?>>&nbsp;<?php echo $read['member_address'];?></td>
        <td align="center" <?php echo @$bg;?>><?php echo $read['member_licence_a'].$read['member_licence_b']."&nbsp;<br>".$read['member_licence_c']?></td>
    <td align="center" <?php echo @$bg;?>><a href="?p=payaqua&member_code=<?php echo $read['member_code'];?>"><div class="button_symbol green"><img src="../media/icons/set/white/right2.png" width="25" height="25"  alt="" title="ข้อมูลสมาชิกวินจักรยานยนต์"/></div></a><a href="?p=register_subjects&key=<?php echo $read['member_key'];?>"><div class="button_symbol brown"><img src="../media/icons/set/white/treatment.png" width="25" height="25"  alt="" title="ลงทะเบียนเรียน"/></div></a><a href="../modules/members/print.php?key=<?php echo $read['member_key'];?>" target="_blank"><div class="button_symbol yellow"><img src="../media/icons/set/white/print.png" width="25" height="25"  alt="" title="พิมพ์บัตรสมาชิก"/></div></a><a href="?p=member_detail&key=<?php echo $read['member_key'];?>"><div class="button_symbol green"><img src="../media/icons/set/white/detail.png" width="25" height="25"  alt="" title="รายละเอียด"/></div></a>
    <div class="button_symbol red" onClick="javascript:deleteMember('<?php echo $read['member_key'];?>');"><img src="../media/icons/set/white/delete1.png" width="25" height="25"  alt="" title="ลบ"/></div></td>
  </tr>
  <?php
  }
  ?>
</table>
  <?php
#------ตัวแบ่งหน้า คือ <ก่อนหน้า , 1 , 2 , 3 , ต่อไป> จะเอาไปแปะตรงไหนก็ได้ในหน้าเพจ----#
echo '<p id="pager_links">';
echo $kgPagerOBJ -> first_page;
echo $kgPagerOBJ -> previous_page;
echo $kgPagerOBJ -> page_links;
echo $kgPagerOBJ -> next_page;
echo $kgPagerOBJ -> last_page;
#-------------ส่วนแสดงผลจำนวน record ทั้งหมด--------------#
echo '<strong>&nbsp;จำนวนแถว :&nbsp;</strong>';
echo $kgPagerOBJ -> total_records; echo '<strong>&nbsp;แถว</strong>';
echo '&nbsp;&nbsp;<strong>จำนวน :&nbsp;</strong>';
echo $kgPagerOBJ -> total_pages; echo '<strong>&nbsp;หน้า</strong>';
#-------------จบส่วนแสดงผลจำนวน record ทั้งหมด--------------#
?>






ประวัติการแก้ไข
2019-04-10 21:53:46
2019-04-10 22:00:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-10 21:46:40 By : 2796150640410084
 


 

No. 11



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code (PHP)
<?php
	error_reporting(-1);
	ini_set('display_errors', 1);


เพิ่มไว้ต้นไฟล์ จะได้รู้ว่า มันเออเร่อร์อะไร code มันผิด ไวยกรณ์

$sql = mysql_query($query) or die($query.'<br>'.mysql_error());
เพิ่มสีแดงไว้ทุก query
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-11 09:08:33 By : Chaidhanan
 


 

No. 12



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



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


ลองทำตามที่อาจารย์แจ้งก่อนครับ แล้วตรวจหาความผิดปกติ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-04-11 09:31:21 By : Jatmentz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากสอบถามคำสั่งค้นหน้าจากฐานข้อมูลพร้อมมีระบบแบ่งหน้าในตัว พอดีผมทำแล้วมันใช้ได้แค่อย่างใดอย่าง1
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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