อยากทราบวิธีการนับจำนวนซ้ำในฐานข้อมูล และให้แสดงจำนวนด้วย (ODBC) php
SELECT id , count( id )
FROM MyTable
GROUP BY id
Date :
2010-08-24 09:57:33
By :
heng
กรณี ฐานข้อมูลผมไม่มี id ครับ จะเป็นเลขทะเบียนแทน โดยใช่เลขทะเบียนเป็น Pm ผมจะ count ชื่อหนังสือว่าเล่มไหนที่มันซ้ำ ให้แสดงออกมาเป็นจำนวน อะครับ
Date :
2010-08-24 16:45:08
By :
slurpee55555
ก็ count field ของคุณอะค่ะ ไม่ได้หรอคะ
Date :
2010-08-24 16:49:09
By :
ultrasiam
ขอโค๊ดตัวอย่างครับ ผมสั่ง <?=$objResult2['count(เลขทะเบียน)'];?> ไม่ทราบว่าถูกปะครับ
Date :
2010-08-24 16:51:38
By :
slurpee55555
<html><!-- InstanceBegin template="/Templates/template.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<title> ระบบสืบค้นสารสนเทศห้องสมุด</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<link href="css/chaingkaing.css" rel="stylesheet" type="text/css">
<link href="../css/chaingkaing.css" rel="stylesheet" type="text/css">
<style type="text/css">
body,td,th {
font-family: Tahoma, Geneva, sans-serif;
}
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- ImageReady Slices (Untitled-1.png) -->
<table width="980" border="0" bgcolor="#D4E1F1" align="center" cellpadding="0" cellspacing="0" id="Table_01">
<tr class="txt_white_s">
<td width="41" height="33" background="../images/index_01.png"><img src="../images/logo-color.jpg" width="40" height="30"></td>
<td width="990" background="../images/index_01.png"> </td>
</tr>
<tr>
<td colspan="2" height="4" background="../images/index_02.png">
</td>
</tr>
<tr>
<td colspan="2" height="5" background="../images/index_03.png">
</td>
</tr>
<tr>
<td colspan="2" valign="top"><table id="Table_" width="970" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="208" height="407" valign="top"><table id="Table_2" width="208" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="6" height="28" background="../images/index_04_01_01.png"></td>
<td width="47" height="28" align="right" background="../images/index_04_01_02.png"><img src="../images/serch.png" width="20" height="20"></td>
<td width="151" align="left" background="../images/index_04_01_02.png">รายการค้นหา</td>
<td width="4" height="28" background="../images/index_04_01_03.png"></td>
</tr>
<tr>
<td width="6" height="458" rowspan="2" background="../images/index_04_01_04.png"></td>
<td height="375" colspan="2" valign="top" bgcolor="#FFFFFF"><table width="198" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="10" colspan="2"></td>
</tr>
<tr>
<td width="36" align="right"><img src="../images/book1.png" width="20" height="20"></td>
<td width="162"> <a href="search_book.php">หนังสือ</a></a></td>
</tr>
<tr>
<td height="5" colspan="2"></td>
</tr>
<tr>
<td align="right"><img src="../images/adreess book1.png" width="20" height="20"></td>
<td> <a href="../journal/search_journal.php">วารสาร</a></td>
</tr>
<tr>
<td height="5" colspan="2"></td>
</tr>
<tr>
<td align="right"><img src="../images/cd1.png" width="20" height="20"></td>
<td> <a href="../Media/search_media.php">วัสดุไม่ตีพิมพ์</a></td>
</tr>
<tr>
<td height="5" colspan="2" align="right"></td>
</tr>
<tr>
<td align="right"><img src="../images/kdict.png"
width="20" height="20"></td>
<td><a
href="search_Type_book.php"> ตรวจสอบสถานะ</a> </td>
</tr>
<tr>
<td height="5" colspan="2" align="right"></td>
</tr>
<tr>
<td height="20" align="right"><img src="../images/opend.png" width="20" height="20"></td>
<td><a href="../index.php"> กลับหน้าแรก</a></td>
</tr>
</table>
<p> </p></td>
<td width="4" height="454" rowspan="2" background="../images/index_04_01_06.png"></td>
</tr>
<tr>
<td colspan="2" height="2" background="../images/index_04_01_08.png"></td>
<td width="4" height="2" background="../images/index_04_01_09.png"></td>
</tr>
</table></td>
<td width="812" valign="top" bgcolor="#D4E1F1"><!-- InstanceBeginEditable name="body" -->
<table width="780" border="0" align="left" cellpadding="0" cellspacing="0" id="Table_3">
<tr>
<td width="147" height="27" background="../images/head.jpg"><table width="100" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td>หนังสือ</td>
</tr>
</table></td>
<td width="661" background="../images/index_04_02_01.png"> </td>
</tr>
<tr>
<td height="378" colspan="2"><table id="Table_4" width="780" height="381" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="3" height="2" background="../images/index_04_02_02_01.png"></td>
<td width="790" height="2" background="../images/index_04_02_02_02.png"></td>
<td width="5" height="2" background="../images/index_04_02_02_03.png"></td>
</tr>
<tr>
<td width="3" height="370" background="../images/index_04_02_02_04.png"></td>
<td width="790" valign="top" bgcolor="#D4E1F1"><table width="780" height="180" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="786" height="35" background="../images/index_04_02_01_01.png"><form action="" method="get" name="frmSearch" id="frmSearch" onSubmit="return chk_post()">
<script language="JavaScript" type="text/javascript" >
function chk_post()
{
if(document.frmSearch.txtKeyword.value=="" )
{
alert("กรุณากรอกข้อความที่จะค้นหา");
document.frmSearch.txtKeyword.focus();
return false;
}
}
</script>
<table width="780" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td width="746" align="right" valign="middle" class="text1">ค้นหาจาก ::
<select name="Tag" style="width:100px; ">
<option value="ชื่อหนังสือ">-- ชื่อเรื่อง --</option>
<option value="หัวเรื่อง1 or หัวเรื่อง2 or หัวเรื่อง3 or หัวเรื่อง4 or หัวเรื่อง5 or หัวเรื่อง6">-- หัวเรื่อง --</option>
<option value="เลขเรียก">-- เลขเรียก --</option>
<option value="ผู้แต่ง1 or ผู้แต่ง2 or ผู้แต่ง3">-- ผู้แต่ง --</option>
<option value="เลขมาตราฐาน">-- ISBN --</option>
</select>
รูปแบบ ::
<select name="Type" style="width:150px; " id="Type">
<option value="%">-- ค้นหาจากในข้อความ --</option>
<option value="">-- ค้นหาตรงคำ --</option>
<option value="<?=$_GET["txtKeyword"];?>%">-- ค้นหาจากคำขึ้นต้น --</option>
</select>
ข้อความ ::
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>" size="30" /></td>
<td width="40">
<input type="image" src="../images/serch.png" width="20" height="20" /></td>
</tr>
</table>
</form></td>
</tr>
<tr>
<script language="javascript" src="../include/function.js"></script>
<td height="145" align="center" valign="top"><table width="770" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFEFA">
<tr>
<th width="100%" align="left"><?
if($_GET["Tag"] =="ชื่อหนังสือ"){
$a="หนังสือ"; $b="ชื่อหนังสือ"; $c="เลขทะเบียน";
}elseif($_GET["Tag"] =="หัวเรื่อง1 or หัวเรื่อง2 or หัวเรื่อง3 or หัวเรื่อง4 or หัวเรื่อง5 or หัวเรื่อง6"){
$a="หนังสือ"; $b="หัวเรื่อง1 or หัวเรื่อง2 or หัวเรื่อง3 or หัวเรื่อง4 or หัวเรื่อง5 or หัวเรื่อง6"; $c="เลขทะเบียน";
}elseif($_GET["Tag"] =="เลขเรียก"){
$a="หนังสือ"; $b="เลขเรียก"; $c="เลขทะเบียน";
}elseif($_GET["Tag"] =="ผู้แต่ง1 or ผู้แต่ง2 or ผู้แต่ง3"){
$a="หนังสือ"; $b="ผู้แต่ง1 or ผู้แต่ง2 or ผู้แต่ง3"; $c="เลขทะเบียน";
}elseif($_GET["Tag"] =="เลขมาตราฐาน"){
$a="หนังสือ"; $b="เลขมาตราฐาน"; $c="เลขทะเบียน";
}
if($_GET["Tag"] and $_GET["txtKeyword"] != "")
{
$tag = $_GET['Tag'];
$Type = $_GET['Type'];
$objConnect = odbc_connect("Library","","") or die("Error Connect to Database");
$strSQL = "SELECT distinct ชื่อหนังสือ FROM $a WHERE ($tag LIKE '$Type".$_GET["txtKeyword"]."') order by $b ASC"; // ค้นหาชื่อหนังสือ
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
$Num_Rows=0;
while(odbc_fetch_row($objExec))$Num_Rows++;
$Per_Page =15; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page)+1;
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$Page_End = $Per_Page * $Page;
if($Page_End > $Num_Rows)
{
$Page_End = $Num_Rows;
}
?>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2" align="center"><? if($Num_Rows<=0){
echo"<br> <font size='16' color=red>ไม่พบข้อมูลที่ค้นหา</font>";
}else{
?>
<table width="100%" border="1" bordercolor="#1B3A73"cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="text5">
<td width="5%" align="center" bgcolor="#1B3A73">ลำดับ</td>
<td width="86%" align="center" bgcolor="#1B3A73">รายการหนังสือ</td>
<td width="9%" align="center" bgcolor="#1B3A73">จำนวน</td>
</tr>
<?
for($i=$Page_Start;$i<=$Page_End;$i++)
{
$objResult = odbc_fetch_array($objExec,$i);
$query2 = "SELECT count(ชื่อหนังสือ) FROM หนังสือ where ชื่อหนังสือ ='$objResult[ชื่อหนังสือ]'";
$objExec2 = odbc_exec($objConnect, $query2) or die ("Error Execute [".$quey2."]");
$objResult2 = odbc_fetch_array($objExec2);
if($bg == "#D4E1F1") {
$bg = "#FFFFFF";
} else {
$bg = "#D4E1F1";
}
?>
<tr bgcolor="<?=$bg?>">
<td width="42" height="25" align="center"><span class="text1"><? echo $i;?></span></td>
<td><a href="grup_Title?id=<?=$objResult["ชื่อหนังสือ"];?>" class="link2">
<?= str_replace ($_GET["txtKeyword"],"<font color=red>$_GET[txtKeyword]</font>",$objResult[ชื่อหนังสือ]);?>
</a></td>
<td align="center"><?=$objResult2['count(ชื่อหนังสือ)'];?></td>
</tr>
<? } ?>
<tr>
<td height="10" colspan="3" bgcolor="#1B3A73"></td>
</tr>
</table></td>
</tr>
</table>
<? } ?></td>
</tr>
<tr>
<td width="21%" align="right" class="text1">ค้นหาทั้งหมด ::<span class="HRED">
<?= $Num_Rows;?>
</span>หัวข้อ </td>
<td width="79%" align="right" class="text1"> จำนวน:<span class="HRED">
<?=$Num_Pages;?>
</span> หน้า
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Tag=$tag&Type=$Type&Page=$Prev_Page&txtKeyword=$_GET[txtKeyword]' class='link2'> << กลับ</a> ";
}
echo "<b>[ <span class='HRED'> $Page</span> ]</b>";
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Tag=$tag&Type=$Type&Page=$Next_Page&txtKeyword=$_GET[txtKeyword]' class='link2'> หน้าต่อไป >> </a> ";
}
?></td>
</tr>
</table></td>
</tr>
</table></th>
</tr>
</table>
<?
}
?></td>
</tr>
</table></td>
<td width="5" height="370" background="../images/index_04_02_02_06.png"></td>
</tr>
</table></td>
</tr>
</table>
<!-- InstanceEndEditable --></td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="2" valign="top"><table width="990" border="0" cellspacing="0" cellpadding="0">
<tr class="txt_white_s">
<td width="357" height="33" align="right" background="../images/index_01.png"><img src="../images/logo-color.jpg" width="40" height="30"></td>
<td width="643" background="../images/index_01.png"></td>
</tr>
</table></td>
</tr>
</table>
<!-- End ImageReady Slices -->
</body>
<!-- InstanceEnd --></html>
ตอนนี้ติดตรง แสดงจำนวนด้านหลังอะครับ ช่วยดูหน่อยนะครับ
Date :
2010-08-25 11:46:58
By :
slurpee55555
$strSQL = "SELECT count(ชื่อหนังสือ) as count ,ชื่อหนังสือ FROM $a WHERE ($tag LIKE '$Type".$_GET["txtKeyword"]."') GROUP BY ชื่อหนังสือ order by $b ASC";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
Date :
2010-08-25 14:07:16
By :
heng
แล้วสั่ง qury ยังไอะครับ ผมลอง <?=$objResult['count(ชื่อหนังสือ)'];?> ตรงแสดงจำนวนนะ มันไม่ออกอะครับ หรือว่าต้องสั่งยังไง
Date :
2010-08-25 20:01:52
By :
slurpee55555
count(ชื่อหนังสือ) as count <= เวลาเรียกใช้ $objResult['count']
แต่ถ้าต้องการเรียกใช้ $objResult['count(ชื่อหนังสือ)'] แบบนี้ ก็เอา as count ออกไป
Date :
2010-08-25 20:16:02
By :
heng
แล้วถ้าผมเขียนแบบนี้อะครับ
$strSQL = "SELECT count(ชื่อหนังสือ) as count ,ชื่อหนังสือ FROM $a WHERE ($tag LIKE '$Type".$_GET["txtKeyword"]."') GROUP BY ชื่อหนังสือ order by $b ASC";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
จะสั่งยังไงให้มันแสดงจำนวนอะครับ ผมสั่ง <?=$objResult['count(ชื่อหนังสือ)']; ?> มันไม่ออกอะครับ ต้องสั่งยังไงอะครับ
Date :
2010-08-26 08:51:21
By :
slurpee55555
ได้ละครับขอบคุณทุกความคิดเห็นครับ
Date :
2010-08-26 09:21:14
By :
slurpee55555
ไอดีซ้ำแต่ข้อมูลไม่เหมือน อยากให้แสดงไอดีเดียวแต่ข้อมมูลแสดงทุกตัว ตัวอย่างเช่น
ถ้า ฐานข้อมูลเก็บ
รหัส ข้อมูล
1 1
1 2
1 3
2 4
2 5
2 6
อยากให้แสดง แบบนี้
รหัส ข้อมูล
1 1,2,3
2 4,5,6
Date :
2011-07-25 11:06:09
By :
ยอด
Load balance : Server 03