ผมจะทำการค้นหาข้อมูลโดยการกรอกช่องการค้นหา 2 ช่อง โดยข้อมูลที่จะออกมาแสดงต้องตรงตามเงื่อนไขที่ กรอกจาก
ช่องที่ 1 และ 2 ถ้ากรอกเพียงช่องเดียว หรือช่องใคช่องหนึ่ง หรือไม่ตรงกับเงื่อนไขที่กำหนอก็ไม่แสดงข้อมูล
ผมได้ทำตามอาจารย์แนะนำแล้ว โดยการกำหนด
req.send('find2.php' , 'user=' + encodeURIComponent(input.value) + '&user2=' + encodeURIComponent(input.value) , function(xhr) {
พอรันแล้วมันไม่เป็นไปตามเงื่อนไข ถ้ากรอกช่องที่ 1 ข้อมูลก็แสดง ถ้ากรอกช่องที่ 2 ข้อมูลก็แสดงเช่นกัน แล้วแต่ว่าการกรอกค้นหาในช่องนั้นๆ จะมีข้อมูลหรือไม่
ผมจะต้องกำหนดเงื่อนไข ยังไงหรือครับ
ช่องที่ 1 และ 2 ถ้ากรอกเพียงช่องเดียว หรือช่องใคช่องหนึ่ง หรือไม่ตรงกับเงื่อนไขที่กำหนอก็ไม่แสดงข้อมูล
ผมได้ทำตามอาจารย์แนะนำแล้ว โดยการกำหนด
req.send('find2.php' , 'user=' + encodeURIComponent(input.value) + '&user2=' + encodeURIComponent(input.value) , function(xhr) {
พอรันแล้วมันไม่เป็นไปตามเงื่อนไข ถ้ากรอกช่องที่ 1 ข้อมูลก็แสดง ถ้ากรอกช่องที่ 2 ข้อมูลก็แสดงเช่นกัน แล้วแต่ว่าการกรอกค้นหาในช่องนั้นๆ จะมีข้อมูลหรือไม่
ผมจะต้องกำหนดเงื่อนไข ยังไงหรือครับ
ถ้าส่งไปแบบนี้ ก็ไป if ที่ php เอาสิครับ ว่า ช่องไหนส่งข้อมูลมา
แนวคิดง่ายๆ ก็คือ
ตอนส่ง เราจะส่งค่าที่ต้องการไปกี่ค่าก็ได้ จะส่งไปทั้งหมด หรือคัดเลือกค่าที่ต้องการก็ได้
ตอนรับ เมื่อเรารับค่ามาแล้ว ก็เอาค่าที่ได้มาคัดแยก หรือ เอาไปทำอย่างอื่นให้เป็นไปตามต้องการ
การส่งค่ากลับ ถ้ามีหลายๆค่า แนะนำให้ส่งกลับเป็น [search]JSON[/search] เพราะในตอนแปลงกลับจะง่ายกว่า
ตอนรับค่ากลับมาแสดงผล ถ้าเราส่งค่ากลับมาเป็น JSON เราก็สามารถ ใช้ฟังก์ชั่น string.toJSON() เพื่อแปลงกลับเป็น JSON และนำผลลัพท์ที่ได้ไปจัดการแสดงผลที่เหมาะสม
แนวคิดนี้มีใช้ใน GCMS ตอนสมัครสมาชิกครับ มีหลักการคล้ายๆกัน
แนวคิดง่ายๆ ก็คือ
ตอนส่ง เราจะส่งค่าที่ต้องการไปกี่ค่าก็ได้ จะส่งไปทั้งหมด หรือคัดเลือกค่าที่ต้องการก็ได้
ตอนรับ เมื่อเรารับค่ามาแล้ว ก็เอาค่าที่ได้มาคัดแยก หรือ เอาไปทำอย่างอื่นให้เป็นไปตามต้องการ
การส่งค่ากลับ ถ้ามีหลายๆค่า แนะนำให้ส่งกลับเป็น [search]JSON[/search] เพราะในตอนแปลงกลับจะง่ายกว่า
ตอนรับค่ากลับมาแสดงผล ถ้าเราส่งค่ากลับมาเป็น JSON เราก็สามารถ ใช้ฟังก์ชั่น string.toJSON() เพื่อแปลงกลับเป็น JSON และนำผลลัพท์ที่ได้ไปจัดการแสดงผลที่เหมาะสม
แนวคิดนี้มีใช้ใน GCMS ตอนสมัครสมาชิกครับ มีหลักการคล้ายๆกัน