|
|
|
mysql_num_rows อยากจะนับเฉพาะ rows ที่มีค่า 1 หน่ะครับ 2 3 หรือ อื่นๆ ไม่นับ |
|
|
|
|
|
|
|
แค่อ่านคำถาม ก็งงแล้วค่ะ
|
|
|
|
|
Date :
2017-07-30 22:20:46 |
By :
Th@iDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
where pid=...... and status_img<>1
แต่ควรใช้ select count(*) มากกว่า
|
|
|
|
|
Date :
2017-07-31 05:43:17 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select count(*)
งงเหมือนกันว่า ทำไม SELECT COUNT มันถึงนับค่า Null
แต่เอาจริงๆแล้วผมต้องการให้มันนับแต่ค่า 1 หน่ะครับ ไม่นับ 2 หรือ 3 ไม่ใช้ Null อยู่ดี
หมายถึง 1 Colum นั้นๆ user สามารถสร้าง rows ได้หลาย rows หน่ะครับ
อาจจะ 5 rows แต่ละ rows มี status 1-3 ให้เลือก
4 rows status = 1 ทั้งสี่ rows
อีก row นึง status = 2 หรือ 3
ปกติถ้ามัน 5 rows Point อาจจะเท่ากับ 450
ปกติมันจะหารด้วยจำนวน rows ของมันหน่ะครับ มันจะเท่ากับ 96%
แต่ปัจจุบัน row ที่มี status 2-3 มันจะถูกซ่อน และไม่ส่งค่าออกมา จาก 450 ก็อาจจะเหลือแค่ 360
แต่มันก็ยังหารจำนวน rows ของมันอยู่ดี ทั้งๆที่มันควรหารแต่ row ที่มี status = 1
|
|
|
|
|
Date :
2017-07-31 11:47:42 |
By :
1676148892398444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประยุกต์เอาหน่อยครับ แค่ตัวอย่าง
select count(*) as count_row where pid=id_ที่ต้องการ and status_img=1
อันนี้จะได้ค่า count_row = จำนวนเรคคอร์ด ของสมาชิกทีีมี pid=id_ที่ต้องการ และ status_img = 1
สิ่งสำคัญคุณต้องใส่ where ให้ถูกต้อง ใส่ให้ครบ condition ที่ต้องการ
ส่วนการใช้ mysql_num_rows() มันเป็นการขึ่ช้างจับตั๊กแตน ต้องการแค่จำนวน row ก็มีคำสั่ง count ให้ใช้
แต่ไปเรียก result มาทั้งหมดเพื่อที่จะนำจำนวน row เขาไม่ทำกันแล้วครับ
|
|
|
|
|
Date :
2017-08-01 13:09:33 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|