ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรบกวนหน่อยครับ ต้องการตรวจสอบชุดตัวเลขครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รบกวนหน่อยครับ ต้องการตรวจสอบชุดตัวเลขครับ  (อ่าน 1526 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
esanza.com
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 270
ออฟไลน์ ออฟไลน์

กระทู้: 3,673



ดูรายละเอียด
« เมื่อ: 02 กันยายน 2017, 09:48:03 »

โค้ด php

อ้างถึง

$a="[1],[10],[100],[1000],[10000]";
$b="[1]";
หรือ
$a="1,10,100,1000,10000";
$b="1";

ต้องการตรวจสอบว่า $b มีในชุดตัวเลขของ $a หรือไม่ครับ

แล้วใน mysql เราจะ select where ยังไงหากเราเก็บข้อมูลแบบ $a เมื่อเอา $b มาเช็ค

+1 ทุกความเห็นครับ  wanwan017
บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
snohomish
คนรักเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 111



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 02 กันยายน 2017, 10:14:45 »

โค๊ด:
$a="1,10,100,1000,10000";
$b="1";

ถ้า explode มาแล้ว วนลูป เช็คได้ไหมครับ
บันทึกการเข้า
sputtaro
สมุนแก๊งเสียว
*

พลังน้ำใจ: 139
ออฟไลน์ ออฟไลน์

กระทู้: 910



ดูรายละเอียด
« ตอบ #2 เมื่อ: 02 กันยายน 2017, 10:32:25 »

PHP ลองใช้ in_array ดูครับ

ส่วน MySQL ก็ประมาณ select ... where ... in (array) เหมือนกันครับ
ลองค้นดูครับ มันใช้ได้หลายวิธี

https://stackoverflow.com/ques...o-a-query-using-a-where-clause

https://stackoverflow.com/ques...ysql-php-select-where-id-array
บันทึกการเข้า
kumabro
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« ตอบ #3 เมื่อ: 03 กันยายน 2017, 21:47:09 »

mysql ผมคงเติมตัวแบ่งปิดหัวท้ายแล้วเช็ค like เอาเลยครับ   wanwan021

โค๊ด:
WHERE CONCAT(',', colA, ',') LIKE CONCAT('%,', inputB, ',%')
บันทึกการเข้า
FlaminGo
คนรักเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 111



ดูรายละเอียด
« ตอบ #4 เมื่อ: 03 กันยายน 2017, 22:13:08 »

จากคำถามนะครับ

1. ต้องการตรวจสอบว่า $b มีในชุดตัวเลขของ $a หรือไม่ครับ
ตอบ : ในส่วนนี้ต้องการตรวจสอบแค่ว่ามีหรือไม่มี เท่านั้นหรือเปล่าครับ แต่ดูแล้วท่านน่าจะหมายถึงเอาค่ามันด้วย อย่างตัวอย่างก็คือ "1" ลองใช้ฟังก์ชั่น array_intersect() ดูครับ เพราะฟังก์ชั่นนี้ใช้ในการหา element ที่มีค่าเหมือนกันโดยใช้ array แรกเป็นหลัก ตัวอย่างนะครับ
โค๊ด:
$a = array(1, 2, 3, 4);
$b = array(4, 5, 6, 7);
$c = array_intersect($a, $b);
if (count($c) > 0) {
    var_dump($c);
    //there is at least one equal value
}

2. แล้วใน mysql เราจะ select where ยังไงหากเราเก็บข้อมูลแบบ $a เมื่อเอา $b มาเช็ค
ตอบ : ตรงนี้คือท่านต้องเลือกค่าที่ $b มีเหมือนกับ $a ใช่ไหมครับ ถ้าตามตัวอย่าง ก็คือท่านจะได้ค่า = '1' ถ้าใช่ แนะนำให้ใช้ group by ดูครับ
วิธีใช้เพิ่มเติม > http://www.ninenik.com/%E0%B8%...E0%B8%87_SQL_GROUP_BY-122.html

** ปล. ถ้าไม่ตรงความต้องการขออภัยด้วยครับ
บันทึกการเข้า
chaynuwong
คนรักเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 149



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 04 กันยายน 2017, 02:24:31 »

$a="[1],[10],[100],[1000],[10000]";
$b="[1]";
หรือ
$a="1,10,100,1000,10000";
$b="1";

พอดีว่าไม่ได้บอกว่าอยู่ใน array
ขอทำอีกแบบน่ะครับ

ฟังก์ชั่นค้นหา
strpos(string , find , start(0  หรือไม่ใส่ค่า));


ตัวอย่าง echo strpos($a , $b );
จะ ส่งค่ากลับมาว่าอยู่ตำแหน่งที่เท่าไหร่ หากเจอครับ

mysql เช็ค where  ฟิวที่เก็บ $a like '%$b%' อันนี้แบบลวกๆน่ะครับ รัน error แน่ ปรับเองน่ะครับ
บันทึกการเข้า

esanza.com
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 270
ออฟไลน์ ออฟไลน์

กระทู้: 3,673



ดูรายละเอียด
« ตอบ #6 เมื่อ: 04 กันยายน 2017, 11:34:15 »

+1 ให้ทุกท่านแล้วนะครับ
เดี๋ยวผมลองทำตามที่ทุกท่านแนะนำดู
หากได้ผลยังไง ผมจะแจ้งอีกทีครับ

ขอบคุณมากๆครับ
 wanwan017
« แก้ไขครั้งสุดท้าย: 04 กันยายน 2017, 11:35:41 โดย esanza.com » บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
chinchin
ก๊วนเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 221



ดูรายละเอียด
« ตอบ #7 เมื่อ: 04 กันยายน 2017, 13:10:19 »

https://www.w3schools.com/php/...sp?filename=demo_func_in_array

ตัวอย่างด้านบนเลยจ้า
เราเอา ประโยคแรกมา split เป็น array
จากนั้นก็ วนลูป(ถ้ามีหลายค่า) หรือถ้ามีค่าเดียวก็แค่ เอาประโยค 2 ไล่เช็คเอาเลยจ้าาา

ถ้าจะทำให้ดีก็รวบเป็นฟังก์ชั่น เรียกใช้ได้เลยจ้าาา ลองใช้เวลาดูซัก 15 นาที ถ้าไม่ได้มาถามใหม่นะ สู้ๆ

 wanwan017
บันทึกการเข้า

esanza.com
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 270
ออฟไลน์ ออฟไลน์

กระทู้: 3,673



ดูรายละเอียด
« ตอบ #8 เมื่อ: 05 กันยายน 2017, 13:16:30 »

https://www.w3schools.com/php/...sp?filename=demo_func_in_array

ตัวอย่างด้านบนเลยจ้า
เราเอา ประโยคแรกมา split เป็น array
จากนั้นก็ วนลูป(ถ้ามีหลายค่า) หรือถ้ามีค่าเดียวก็แค่ เอาประโยค 2 ไล่เช็คเอาเลยจ้าาา

ถ้าจะทำให้ดีก็รวบเป็นฟังก์ชั่น เรียกใช้ได้เลยจ้าาา ลองใช้เวลาดูซัก 15 นาที ถ้าไม่ได้มาถามใหม่นะ สู้ๆ

 wanwan017

+1 ครับ จากตัวอย่างไม่ใช่ Array นะครับ
เป็นชุดตัวเลขที่เป็น String ธรรมดาครับ  Tongue
บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
sputtaro
สมุนแก๊งเสียว
*

พลังน้ำใจ: 139
ออฟไลน์ ออฟไลน์

กระทู้: 910



ดูรายละเอียด
« ตอบ #9 เมื่อ: 05 กันยายน 2017, 14:28:06 »

ผมคิดว่า ควรดูจากฟอร์แมทของตัวแปร ว่ามันเหมาะที่จะใช้ฟังชั่นไหนมาช่วยนะครับ
ถ้าเป็นสตริง
$a มีค่าเท่ากับ "[string],[string],[string],[string],[string]";
หรือว่า $a มีค่าเท่ากับ "[integer],[integer],[integer],[integer],[integer]";
หรือว่า $a มีค่าเท่ากับ "[integer],string,[integer],string,[integer]";
หรือว่าแบบไหนกันแน่

จากนั้นค่อยเลือกให้เหมาะว่าจะเอาอะไรมาใช้ string function หรือ array function

*********************************************************************

ส่วนสาเหตุที่ผมแนะนำให้ใช้ array เพราะ เห็นว่า
จากรูปแบบที่ให้มา
การเปลี่ยนจาก string ให้เป็น array ก่อน, แล้วใช้ array function จะสะดวกกว่า

แต่อย่างไรก็ตาม มันขึ้นอยู่กับผู้เขียนโค๊ดครับ ว่า ต้องการใช้อะไรมากกว่ากัน
มันทำได้หลากหลายวิธีครับ
« แก้ไขครั้งสุดท้าย: 05 กันยายน 2017, 14:30:07 โดย sputtaro » บันทึกการเข้า
esanza.com
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 270
ออฟไลน์ ออฟไลน์

กระทู้: 3,673



ดูรายละเอียด
« ตอบ #10 เมื่อ: 07 กันยายน 2017, 13:18:24 »

ผมคิดว่า ควรดูจากฟอร์แมทของตัวแปร ว่ามันเหมาะที่จะใช้ฟังชั่นไหนมาช่วยนะครับ
ถ้าเป็นสตริง
$a มีค่าเท่ากับ "[string],[string],[string],[string],[string]";
หรือว่า $a มีค่าเท่ากับ "[integer],[integer],[integer],[integer],[integer]";
หรือว่า $a มีค่าเท่ากับ "[integer],string,[integer],string,[integer]";
หรือว่าแบบไหนกันแน่

จากนั้นค่อยเลือกให้เหมาะว่าจะเอาอะไรมาใช้ string function หรือ array function

*********************************************************************

ส่วนสาเหตุที่ผมแนะนำให้ใช้ array เพราะ เห็นว่า
จากรูปแบบที่ให้มา
การเปลี่ยนจาก string ให้เป็น array ก่อน, แล้วใช้ array function จะสะดวกกว่า

แต่อย่างไรก็ตาม มันขึ้นอยู่กับผู้เขียนโค๊ดครับ ว่า ต้องการใช้อะไรมากกว่ากัน
มันทำได้หลากหลายวิธีครับ


ขอบคุณครับ  wanwan017
บันทึกการเข้า

ใครต้องการเช่าโฮสที่มี Control Panel ดีๆ
และ Support ดี แนะนำ => โฮสอะตอม
หน้า: [1]   ขึ้นบน
พิมพ์