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 > เราจะนับจำนวนเรคคอร์ดที่ซ้ำยังไงคับ ถ้าสมมุติว่ามันมี catid ซ้ำกันอะคับเราจะนับจำนวนที่มันซ้ำกันยังไงอะคับ



 

เราจะนับจำนวนเรคคอร์ดที่ซ้ำยังไงคับ ถ้าสมมุติว่ามันมี catid ซ้ำกันอะคับเราจะนับจำนวนที่มันซ้ำกันยังไงอะคับ

 



Topic : 012564

Guest




ถ้าสมมุติว่ามันมี catid ซ้ำกันอะคับเราจะนับจำนวนที่มันซ้ำกันยังไงอะคับ

<?=count(row['catid'])?>?????? เราจะเอามันเปรียบเทียบกับอะไรดีอะคับในเมื่อตอนเรียกมันก็เรียกเเค่ row['catid'] งงคับ ยังไงช่วยดูให้หน่อยนะคับ ขอบคุณคับ


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 5 มี.ค. 2550 17:43:40 By : ธีระ View : 13540 Reply : 6
 

 

No. 1

Guest


select จาก table ที่ มี id ซ้ำกัน ครับ
แล้วให้มัน row ออกมา ได้เท่าไร
เอาwhile ไปครอบไว้
แล้ว num++
จนจบ

กรณี ของผม มีการ เพิ่ม ชื่อ นักเรียน ซ้ำกันเข้ามา

แน่นอน เราจะเช็ค
จาก รหัสนักเรียน หรือ Name ของเค้าก้อได้ ว่า ถ้า select ออกมา Name = Name

หรือ id = id
ให้แสดง ออกมาก่อนแล้ว num++ ใน while






Date : 5 มี.ค. 2550 18:07:13 By : ฟูจัง
 


 

No. 2

Guest


ขอดูตัวอย่างหน่อยได้รึป่าวคับ จะได้เข้าใจยิ่งขึ้น ขอบคุณคับ
Date : 5 มี.ค. 2550 20:36:16 By : ธีระ
 

 

No. 3

Guest


<?
$connect = mysql_connect("localhost","","") or die ("Can not connect MySQL !!");
$db = mysql_select_db("ชื่อdb",$connect) or die("Can not connect Database !!");
//3บรรทัดข้างล่างจะเป็นการตัด fieldที่ซ้ำกันออกไป(โดยกรุ้ป)และนับว่ามี record ที่ไม่ซ้ำกันทั้งหมดกี่อัน
$sql="select * from ชื่อtable group by fieldที่จะตรวจว่าซ้ำกัน";
$exec = mysql_query($sql,$connect) or die("Can not run Query !!2");
$max = mysql_num_rows($exec); //อันนี้แหละนับ
//html ธรรมดา
echo"<CENTER>";
echo"<table>";
echo"<tr align = center>";
echo"<td bgcolor = #FFFFCC>login</td><td bgcolor =#FFFFCC>จำนวนที่มี</td></tr>";
for($i=0;$i<$max;$i++) //เอาตัวแปร max มาลูป
{
$data = mysql_fetch_array($exec); //ตัวนี้ fetch มาจาก sql อันบนนู่น
//บรรทัดต่อไปเป็นการนับเร็คคอดโดยเทียบข้อมูลมที่อยู่ในตัวแปรdata
$nub = "select count(login) from score where login ='$data[0]'";
//$data เป็นข้อมูลแบบ อะเร ฉะนั้นเลขในวงเล็บจริงๆคือเลขแถวของ field ที่จะตรวจว่ามันซ้ำ(แถวแรกเป็นเลข 0)
$nubter = mysql_query($nub,$connect) or die("count error");
$shnub=mysql_fetch_array($nubter);//นับว่ามี field ที่ตรงกับ $data (ซ้ำ)อยู่กี่อัน

echo"<tr align = center><td bgcolor = #CCFFFF>$data[0]</td><td bgcolor =#CCFFFF>$shnub[0]</td></tr>";//อันนี้ใช้$shnub[0]ได้เลยงับ
}
สรุป วิธีที่ผมคิดก็คือ เริ่มจากนับจำนวน record โดยตัดตัวที่ซ้ำออกไปก่อน จากนั้น เช็คที่ละ record เลยว่ามีการซ้ำหรือไม่โดยการเทียบ ส่วนที่เลือกวิธีนี้ เพราะมันจะทำเพิ่มได้ง่าย
ปล.ผมลองคอมไพล์(กับDB) โค้ดที่เขียนให้แล้วนะคับว่าใช้งานได้
ปล2.ถ้ามีรูปแบบ DB มาให้ดูจะง่ายขึ้นงับ
ปล3.ถ้ายังงงอยู่ก็มาโพสเพิ่มละกาน

Date : 6 มี.ค. 2550 13:27:03 By : หนมปุยฝ้าย
 


 

No. 4

Guest


cat_form.php
<?
require_once("../include/connect_db.php");
require_once("../include/function.php");
$count=0;
$result= show_data("categories");
?>
<br>
<table align="center" width="404">
<form action="../admin/deletecat_many.php" method="post">
<tr bgcolor="#CCAAFF">
<td width="110" align="center"><font size="2" face="MS Sans Serif, Tahoma, sans-serif"><b>รหัส</b></font></td>
<td width="129" align="center"><font size="2" face="MS Sans Serif, Tahoma, sans-serif"><b>หมวดหมู่</b></font></td>
<td width="149" align="center"><font size="2" face="MS Sans Serif, Tahoma, sans-serif">จำนวนสินค้าในหมวดหมู่</font></td>
</tr>
<?
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{

if($count==0)
{
?>
<tr bgcolor=#EEEEFF>
<td align=center><input type=checkbox name="checkbox[]" value=<?=$row["catid"]?>></td>
<td><font face="Ms Sans serif"> <a href="../admin/editcat_form.php?catid=<?=$row["catid"]?>">
<?=$row["catname"]?> <?=$row["catid"]?>
</a></font></td>

</tr>
<?
$count=1;
}
else
{
?>
<tr bgcolor="#CCCCFF">
<td align=center><input type=checkbox name="checkbox[]" value=<?=$row["catid"]?>></td>
<td><font face="Ms Sans serif"> <a href="../admin/editcat_form.php?catid=<?=$row["catid"]?>">
<?=$row["catname"]?>
</a></font></td>
</tr>
<?
$count=0;
}
}
?>
<tr>
<td align="center"><input type="submit" name="delete" value="ลบหมวดหมู่"></td>
</form>
<form action="../admin/insertcat_form.php" method="post">
<td><input type="submit" name="insert" value="เพิ่มหมวดหมู่"></td>
</form></tr>
</table>

นี่โค้ดที่ผมมี คืออยากเพิ่มในส่วน จำนวนสินค้าในหมวดหมู่ คืออยากรู้ว่าในหมวดหมู่นี้มีสินค้ากี่อันคับ
นี่database ของ product ประกอบด้วย
isbn title price description picture catid
นี่database ของ categories ประกอบด้วย
catid catname

ยังไงช่วยดูให้อีกทีนะคับ

Date : 7 มี.ค. 2550 15:28:03 By : ขออีกรอบคับ
 


 

No. 5

Guest


งืมๆ ฟิลไหนที่มันจะซ้ำ(บอกหมวดหมู่)ละคับ เดาว่า catid นะ งั้นรูปแบบ db คงเป็น
isbn title price description picture catid
001 กก 100 .................. ...... A
002 กข 100 .................. ...... B
003 กค 100 .................. ...... C
004 ขก 100 .................. ...... B
005 ขข 100 .................. ...... A
006 คก 100 .................. ...... A
007 คข 100 .................. ...... C
008 คง 100 .................. ...... C
009 คจ 100 .................. ...... D
010 จก 100 .................. ...... A
011 จข 100 .................. ...... B
012 ฉก 100 .................. ...... A
ปล.priceผมขี้เกียวจพิมนะ แฮะๆ
ในที่นี้ catid จะมี 4 แบบ A B C D

วิธีคิดนะคับ ถ้ามีดินสอหลายๆสีอยู่ในกล่องเดียวกัน ถ้าอยากรู้ว่าซ้ำกันกี่แทง ก่อนอื่นก้ต้องรู้ก่อนว่าสีที่มีทั้งหมดมีกี่สี
แล้วจึงแยกนับว่าแต่ละสีมีกี่แท่ง

เริ่มทำด้วยการนับว่าข้อมูลใน catid มีกี่แบบ
$connect = mysql_connect("ชื่อโฮส","","") or die ("Can not connect MySQL !!");
$db = mysql_select_db("ชื่อdb",$connect) or die("Can not connect Database !!");
$sql="select * from product group by catid";
$exec = mysql_query($sql,$connect) or die("Can not run Query !!2");
$max = mysql_num_rows($exec);
ที่ทำ 5 บรรทัดบนนี่ จะทำการนับคับ ว่ามี ประเภทของ catid อยู่กี่แบบ โดยรวบแบบโดย group by catid
$max จะเป็นตัวแปรที่นับ type ของ catid และจะได้ค่าเป็น 4(จากตัวอย่างข้างบนนะ)

ต่อไป
for($i=0;$i<$max;$i++) //เอาตัวแปร max มาลูปได้ 4 รอบ เพราะมี type 4 แบบ
//ต่อไปนี้เราจะทำการนับว่าแต่ละ type ของ catid จะมีข้อมูลอยู่กี่ตัว
{
$data = mysql_fetch_array($exec); //ตัวนี้ fetch มาจาก sql อันบนนู่น
$nub = "select count(isbn) from product where catid ='$data[0]'";
//ตัวนี้เป็นการนับ isbn (จริงๆนับฟิลไหนก็ได้) โดยเทียบกับ $data[0] โดย $data[0] จะเป็นค่าของ catid ในแต่ละรอบ
และ ทำทั้งหมด $max รอบ(จากลูป for ข้างบน) ก็คือ 4 รอบ โดยรอบแรกที่นับ จะนับตัวที่มี catid หรือ $data[0] เป็น A รอบ2,3,4 เป็น BCD
//$data เป็นข้อมูลแบบ อะเร ฉะนั้นเลขในวงเล็บจริงๆคือเลขแถวของ field ที่จะตรวจว่ามันซ้ำ(แถวแรกเป็นเลข 0)
$nubter = mysql_query($nub,$connect) or die("count error");
$shnub=mysql_fetch_array($nubter);//นับว่ามี field ที่ตรงกับ $data (ซ้ำ)อยู่กี่อัน
//ผลลัพ(จำนวนเร็คคอดที่ซ้ำ)ก็จะถูกเก็บไว้ใน $shnub[0]
}
เสร็จและคับส่วน ดีไซน์ HTML ยังไงก็ตามสบายส่วนตัวแปรที่จะเอาออกมาใช้ในการ report คือ $data[0] และ $shnub[0]
โดย $data[0] คือประเภทของ catid และ $shnub[0] เป็นจำนวนที่ซ้ำในแต่ละ catid
ปล.ทั้ง 2 ตัวแปรต้องใช้ใน ลูป for นะคับ

Date : 13 มี.ค. 2550 00:45:41 By : หนมปุยฝ้าย
 


 

No. 6



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

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

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


Date : 2009-10-07 18:41:48 By : webmaster
 

   

ค้นหาข้อมูล


   
 

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