หัวข้อ: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 06 มกราคม 2011, 01:01:20 โค๊ด: // รับค่าตัวแปล ไม่รู้ว่าผมเขียนถูกป่าวครับ ช่วยผมดูหน่อยครับ :-X หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: aum_mix ที่ 06 มกราคม 2011, 03:41:40 แล้วมันมีปัญหาอะไรอะครับ ?
หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: morizaki ที่ 06 มกราคม 2011, 05:17:42 ไม่รู้จะช่วยดูอะไร บอกปัญหาหน่อยครับ เดี๋ยวคนอื่นพากันงงหมด :P
หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: thai2ads ที่ 06 มกราคม 2011, 08:50:00 :P อยากช่วยแต่ไม่รู้ปัญหา ถ้าถามว่าเขียนถูกไหม คงตอบได้ว่า เขียนถูกครับรูปแบบตัวแปรและคำสั่งต่างๆนะครับ
run ดูแล้ว มันได้ตามที่ต้องการหรือเปล่าละ แล้วสคริปตัวนี้ความต้องการมันคืออะไรครับ เพื่อจะได้ช่วยได้นิดๆหน่อยๆครับเพราะผมเองก็ งูๆปลาๆ :wanwan019: หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: Joejoe ที่ 06 มกราคม 2011, 12:01:06 ผิดครับ ถึง run ออก ก็ได้ผลลัพธ์ไม่ตรงวัตถุประสงค์อย่างแน่นอนครับ
ตัวอย่างเช่นคุณ wornnoncook ต้องการหาอายุโดยการส่งค่ามาเป็น a1 ( ตาม URL คือ "tb_age=a1" ) $age = $_GET['tb_age']; <-- ก็คือ a1 เมื่อมาเปรียบเทียบใน if ก็จะได้ $age_a = "AND age < 18 "; ดูให้ดีนะครับ ตัวแปร $age_a ตอนนี้ของคุณเก็บเป็น string ไปแล้วเมื่อถูกไปแทนค่าใน SQL ของคุณก็จะได้ select * from $table WHERE age LIKE '%AND age < 18%'; ( ตัวนี้ผมตัดมาจาก SQL ของคุณ wornnoncook ให้ดูเป็นตัวอย่างนะครับจะได้เห็นภาพได้ชัด ) สังเกตุว่า SQL จะเปรีบเทียบค้นหา field "age" ของคุณว่า มีคำว่า "AND age < 18" อยู่ใน field "age" ของคุณหรือไม่ แน่นอนว่าต้องไม่มีแน่เพราะความเป็นจริง field "age" ของคุณต้องถูกเก็บมาเป็นตัวเลขตั้งแต่ต้น แต่นี้ SQL ดันไปค้นหาและเปรียบเทียบเป็นแบบ string ไปแล้วครับ ดังนั้นถ้า SQL ทำงานได้ ผลลัพธ์ที่ได้ออกมาก็เป็น 0 อยู่ดี หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: ttong ที่ 06 มกราคม 2011, 12:06:03 บอกถึงปัญหาที่เจอ จะแก้ไขได้ถูกจุด และเร็วกว่านะครับ
หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 06 มกราคม 2011, 12:17:13 คือว่ามันค้นหาไม่ได้ครับ
หรือใครพอมีโค้ดการค้นจาก select ผมขอหน่อยครับ พดดีผมจะทำหน้านี้ครับ http://playbb.in.th/showpin.php ยังไม่ได้สักที่ :-X ขอบคุณครับ หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 06 มกราคม 2011, 12:28:08 โค๊ด: <? อันนี้เป็นโค้ดเต็มๆนะครับ หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: dragonmath ที่ 06 มกราคม 2011, 12:32:56 1. ลอง echo ตัวแปรที่รับออกมาก่อนว่ามันรับได้มั้ย
2.ลองเช็คอักขระดูครับว่าใน file .php กับ ใน ดาต้าเบสเหมือนกันมั้ย แนะนำให้ตั้งเป็น utf-8 (ใน db เป็น utf8_general_ci )ทั้งคู่เลยครับ หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 06 มกราคม 2011, 12:39:12 ครับผมเด๋วจะลองดูใหม่นะครับ
หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: navico ที่ 06 มกราคม 2011, 12:41:13 echo $sql; ออกมาดูด้วยครับ
หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: Joejoe ที่ 06 มกราคม 2011, 12:56:52 // รับค่าตัวแปล
$gender = $_GET['gender']; $age = $_GET['age']; $province = $_GET['province']; $photo = $_GET['photo']; $page = (!isset($_GET['page']))? 1 : $_GET['page']; $condition = ' (id <> 0) '; // ( 2 ) เพศ if ($gender > '0') { $condition .= " AND (gender = '{$gender}') "; } switch($age) { case 'a1': $condition .= " AND (age < 18) "; break; case 'a2': $condition .= " AND ( age between 18 and 20 ) "; break; case 'a3': $condition .= " AND ( age between 21 and 30 ) "; break; case 'a4': $condition .= " AND ( age between 31 and 40 ) "; break; case 'a5': $condition .= " AND ( age > 41 ) "; break; } // ( 4 ) จังหวัด if ($province > 0) { $condition .= " AND (PROVINCE = '{$province}') "; } // ( 6 ) Picture if ($photo == "1") { $condition .= " AND (picture <> 0) "; } mysql_connect($dbhost, $dbuname, $dbpass); $total = 0; $sql = "SELECT * from {$tblname} {$condition} "; // แนะนำ SQL SELECT เพื่อนับจำนวนแถวที่ได้ทั้งหมด แนะนำให้ใส่ field ที่เป็น pimary key ลงไปแค่ตัวเดียวนะครับ จะได้ query ได้เร็ว $result = mysql_db_query($dbname, $sql); $total = mysql_num_rows($result); $perpage = 20; $offset = ($page-1)*$perpage; // เลือกข้อมูลที่จะแสดงจาก field ต่างๆ จาก query นี้เลยครับ ไม่แนะนำให้ใช้ * $sql = "SELECT * from {$tblname} {$condition} LIMIT {$perpage} OFFSET {$offset} "; $result = mysql_db_query($dbname, $sql); ลองดูก่อนนะครับ ผมเขียนสดๆ ยังไม่ได้ ไปลอง run ดู หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 06 มกราคม 2011, 12:58:15 // รับค่าตัวแปล $gender = $_GET['gender']; $age = $_GET['age']; $province = $_GET['province']; $photo = $_GET['photo']; $page = (!isset($_GET['page']))? 1 : $_GET['page']; $condition = ' (id <> 0) '; // ( 2 ) เพศ if ($gender > '0') { $condition .= " AND (gender = '{$gender}') "; } switch($age) { case 'a1': $condition .= " AND (age < 18) "; break; case 'a2': $condition .= " AND ( age between 18 and 20 ) "; break; case 'a3': $condition .= " AND ( age between 21 and 30 ) "; break; case 'a4': $condition .= " AND ( age between 31 and 40 ) "; break; case 'a5': $condition .= " AND ( age > 41 ) "; break; } // ( 4 ) จังหวัด if ($province > 0) { $condition .= " AND (PROVINCE = '{$province}') "; } // ( 6 ) Picture if ($photo == "1") { $condition .= " AND (picture <> 0) "; } mysql_connect($dbhost, $dbuname, $dbpass); $total = 0; $sql = "SELECT * from {$tblname} {$condition} "; // แนะนำ SQL SELECT เพื่อนับจำนวนแถวที่ได้ทั้งหมด แนะนำให้ใส่ field ที่เป็น pimary key ลงไปแค่ตัวเดียวนะครับ จะได้ query ได้เร็ว $result = mysql_db_query($dbname, $sql); $total = mysql_num_rows($result); $perpage = 20; $offset = ($page-1)*$perpage; // เลือกข้อมูลที่จะแสดงจาก field ต่างๆ จาก query นี้เลยครับ ไม่แนะนำให้ใช้ * $sql = "SELECT * from {$tblname} {$condition} LIMIT {$perpage} OFFSET {$offset} "; $result = mysql_db_query($dbname, $sql); ลองดูก่อนนะครับ ผมเขียนสดๆ ยังไม่ได้ ไปลอง run ดู เด๋วจะลองดูนะครับ หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: gunhotnews ที่ 06 มกราคม 2011, 13:04:46 - -ดันออิิอ
หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 06 มกราคม 2011, 13:29:18 // รับค่าตัวแปล $gender = $_GET['gender']; $age = $_GET['age']; $province = $_GET['province']; $photo = $_GET['photo']; $page = (!isset($_GET['page']))? 1 : $_GET['page']; $condition = ' (id <> 0) '; // ( 2 ) เพศ if ($gender > '0') { $condition .= " AND (gender = '{$gender}') "; } switch($age) { case 'a1': $condition .= " AND (age < 18) "; break; case 'a2': $condition .= " AND ( age between 18 and 20 ) "; break; case 'a3': $condition .= " AND ( age between 21 and 30 ) "; break; case 'a4': $condition .= " AND ( age between 31 and 40 ) "; break; case 'a5': $condition .= " AND ( age > 41 ) "; break; } // ( 4 ) จังหวัด if ($province > 0) { $condition .= " AND (PROVINCE = '{$province}') "; } // ( 6 ) Picture if ($photo == "1") { $condition .= " AND (picture <> 0) "; } mysql_connect($dbhost, $dbuname, $dbpass); $total = 0; $sql = "SELECT * from {$tblname} {$condition} "; // แนะนำ SQL SELECT เพื่อนับจำนวนแถวที่ได้ทั้งหมด แนะนำให้ใส่ field ที่เป็น pimary key ลงไปแค่ตัวเดียวนะครับ จะได้ query ได้เร็ว $result = mysql_db_query($dbname, $sql); $total = mysql_num_rows($result); $perpage = 20; $offset = ($page-1)*$perpage; // เลือกข้อมูลที่จะแสดงจาก field ต่างๆ จาก query นี้เลยครับ ไม่แนะนำให้ใช้ * $sql = "SELECT * from {$tblname} {$condition} LIMIT {$perpage} OFFSET {$offset} "; $result = mysql_db_query($dbname, $sql); ลองดูก่อนนะครับ ผมเขียนสดๆ ยังไม่ได้ ไปลอง run ดู ไม่ได้ครับผม :wanwan008: แต่ขอขอบคุณนะครับ หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: Joejoe ที่ 07 มกราคม 2011, 10:16:24 คุณลองปรับเปลี่ยน ตัวแปรให้เข้ากับ attribute ของคุณหรือยังครับ หรือแม้กระทั้ง parameter ที่คุณส่งมา
อย่างเช่น $condition = ' (id <> 0) '; id นี้ให้เป็น attribute primary ของคุณนะครับ เพราะผมไม่แน่ใจว่าคุณมี attribute นี้อยู่หรือป่าว หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 07 มกราคม 2011, 13:02:20 คุณลองปรับเปลี่ยน ตัวแปรให้เข้ากับ attribute ของคุณหรือยังครับ หรือแม้กระทั้ง parameter ที่คุณส่งมา อย่างเช่น $condition = ' (id <> 0) '; id นี้ให้เป็น attribute primary ของคุณนะครับ เพราะผมไม่แน่ใจว่าคุณมี attribute นี้อยู่หรือป่าว attribute primary คืออะไรหรอครับ ผมไม่รู้เรื่องจริงๆครับ :wanwan008: ขอความรู้อีกหน่อยครับ :wanwan031: แต่ผมลองเอาโค้ดของคุนมาแปลงแล้ว จะค้นหาได้แต่อายุ ครับผม ^^ :wanwan017: หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: Joejoe ที่ 12 มกราคม 2011, 13:46:07 ขอโทษทีครับที่มาช้า
ผมตอบไปทาง pm แล้วนะครับ มีอะไรสอบถามได้ครับยินดีครับ หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: XXL ที่ 13 มกราคม 2011, 14:22:07 อยู่ที่ $sql = ".........
ลอง ตรวจสอบ ดูดีๆ :wanwan020: หัวข้อ: Re: พี่ๆครับใครเก่ง php ช่วยผมทำระบบค้นหาหน่อยครับ เริ่มหัวข้อโดย: วอนนอนคุก ที่ 13 มกราคม 2011, 14:38:36 ทำได้แล้วครับ :wanwan019: :wanwan003:
|