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 > อยากสอบถามเรื่องการใข้งาน autocomplete และการดึงข้อมูลออกมาแสดงเป็นหมวดหมู่



 

อยากสอบถามเรื่องการใข้งาน autocomplete และการดึงข้อมูลออกมาแสดงเป็นหมวดหมู่

 



Topic : 111261



โพสกระทู้ ( 283 )
บทความ ( 0 )



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



อยากสอบถามเรื่องการใข้งาน autocomplete และการดึงข้อมูลออกมาแสดงเป็นหมวดหมู่

DB

อันนี้เป็นในส่วนของ ฐานข้อมูลครับ

Code (PHP)
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Autocomplete - Remote datasource</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <style>
  .ui-autocomplete-loading {
    background: white url("images/ui-anim_basic_16x16.gif") right center no-repeat;
  }
  </style>
  <script>
  $(function() {
    function log( message ) {
      $( "<div>" ).text( message ).prependTo( "#log" );
      $( "#log" ).scrollTop( 0 );
    }
 
    $( "#birds" ).autocomplete({
      source: "search.php",
      minLength: 2,
      select: function( event, ui ) {
        log( ui.item ?
          "Selected: " + ui.item.label+ " aka " + ui.item.id :
          "Nothing selected, input was " + this.value );
      }
    });
  });
  </script>
</head>
<body>
 
<div class="ui-widget">
  <label for="birds">Birds: </label>
  <input id="birds">
</div>
 
<div class="ui-widget" style="margin-top:2em; font-family:Arial">
  Result:
  <div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
</div>
 
 
</body>
</html>


search.php

Code (PHP)
if(isset($term))
{
  
$sql = select * from tb where label like ='%$term%';
$qry = mysql_query($sql);

/*while ($arr = mysql_fetch_array($qry))
{
      $data['label'] = $arr[label''];
      $data['id'] = $arr[id''];
      $row[] = $data;
}*/



$menu = array(
    'id' => array(),
	'parent' => array(),
);

while($items = $db1->fetchAssoc($qry))
	{
			$menu['id'][$items['id']] = $items;
			$menu['parent'][$items['id']][] = $items['id'];
	}	

function tree($parent, $menu)
{

	if (isset($menu['parent'][$parent]))
	{
		foreach($menu['parent'][$parent] as $itemId)
       {
		   echo "3";
          if(!isset($menu['parent'][$itemId]))
          {
			  echo $menu['id'][$itemId]['label']."\r\n";
		  }
		  if(isset($menu['parent'][$itemId]))
          {
			  echo $menu['id'][$itemId]['label']."\r\n";
			  echo tree($itemId, $menu)."- -"."\r\n";;
		  }
		  
	   }
	}
}
echo tree(0, $menu);


สมมุติค่าส่งมาเป็น "CODE"  
ก้จะ  echo CODE

ถ้าส่งมาเป็น "PHP"

ก็จะแสดง CODE > PHP (ชื่อหมวดหมู่  = CODE)


หรือ ถ้าส่งมาเป็น "CSS"

ก็จะแสดง CODE > CSS(ชื่อหมวดหมู่  = CODE)
}

echo json_encode($row);




Tag : PHP









ประวัติการแก้ไข
2014-09-11 17:22:09
2014-09-11 23:33:52
2014-09-11 23:46:08
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-09-11 17:18:48 By : asustak View : 1166 Reply : 8
 

 

No. 1



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

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

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

ตรงไหนครับที่เป็นการ WHERE ในส่วนของ Query






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-14 09:38:44 By : mr.win
 


 

No. 2

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2014-09-14 09:38:44
รายละเอียดของการตอบ ::
ลบ link บทความ Yii Framework ทำไมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-14 11:31:51 By : ผ่านมา
 

 

No. 3

Guest


กระทู้ถามถึง Yii Framework กระทู้ที่มี Link บทความYii Framework โดนลบหมด


เพราะอะไร



ต้องการให้ทุกคนต้องรออ่านบทความที่คุณกำลังจะเขียนเท่านั้น?????

ถ้าคุณไม่มีเวลาว่างเขียน ชาตินี้คนที่ตั้งกระทู้ถามจะได้คำตอบไหม





ทำแบบนี้มันน่าเกลียดไปหรือป่าว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-14 12:01:44 By : ผ่านมา
 


 

No. 4



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

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

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

จะฝาก Link ก็ควรทำประโยชน์หน่อยครับ โพสบทความพื้นฐาน หรือหัวข้อ รายละเอียด แล้วค่อย Link สำหรับการอ่านเพิ่มเติม อะไรก็ว่าไป ถ้าทำแบบอย่างที่ทำเมื่อกี่ อีกหน่อยไม่มี Link เต็มไปหมดเหรอครับ

https://www.thaicreate.com/community/uitableview-with-plist-tutorial.html
https://www.thaicreate.com/community/basic-tutorial-ios8-swift-hello-world.html


ตัวอย่างของบทความที่ต้องการ Link ครับ ผมว่าเรื่องแค่นี้ไม่ต้องบอกน่ะครับ น่าจะคิดเองได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-14 12:21:34 By : mr.win
 


 

No. 5



โพสกระทู้ ( 283 )
บทความ ( 0 )



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2014-09-14 09:38:44
รายละเอียดของการตอบ ::
Code (PHP)
while($items = $db1->fetchAssoc($qry))
	{
			$menu['id'][$items['id']] = $items;
			$menu['parent'][$items['id']][] = $items['id'];
	}



อันนี้เป็นส่วนของ Query ครับ

Code (PHP)
$sql = select * from tb where label like ='%$term%';


รับค่า ที่ user พิมพ์มาแล้วมา Query เพื่อหาค่าครับ ตัวอย่าง

จากตัวอย่างนะครับ เช่น user พิมพ์คำว่า "PHP"
ตอนนี้ก็จะแสดงเป็น PHP

แต่ผมอยากให้แสดงเป็น CODE > PHP (ชื่อหมวดหมู่ = CODE) ตัวนี้มาจาก ฟิลล์ parent ครับ


ซึ่งตอนนี้ผมเขียน Code เพิ่มเติมต่อไปคือ

Code (PHP)
$sql = select * from tb where label like ='%$term%';
$qry = mysql_query($sql);

while($items = $db1->fetchAssoc($qry))
{

   if($items['parent']==0)
   {
      $name = $items['label'];
   }else{
      $name = get_name_category($items['parent'])." > ". $items['label'];
   }

   $menu['id'][$items['id']] = $items;
   $menu['parent'][$items['id']][] = $items['id'];
   $menu['label'] = $name;
}  


function get_name_category($parent)
{
     $sql_cate = select label from tb where parent='$parent';
     $qry_cate = mysql_query($sql_cate);

     $arr= $db1->fetchAssoc($qry_cate);

return $arr['label'];

}



ผมใช้วิธีนี้แทนครับ

แต่ใจจริงแล้วอยากได้ในแบบของการ Query ออกมาน้อยครั้งที่สุดแล้วเก็บเป็น array เอาครับ แต่ลองศึกษาดูแล้วยังไม่ค่อยเข้าใจแบบกระจ่างเท่าไรครับ

พอมีคำแนะนำดีๆบ้างไหมคับ


ประวัติการแก้ไข
2014-09-14 14:08:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-14 14:06:50 By : asustak
 


 

No. 6



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

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

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

Code (PHP)
$sql = select * from tb where label like '%$term%';


น่าจะแบบนี้น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-15 09:01:25 By : mr.win
 


 

No. 7



โพสกระทู้ ( 283 )
บทความ ( 0 )



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : mr.win เมื่อวันที่ 2014-09-15 09:01:25
รายละเอียดของการตอบ ::
ตอนนี้ผมติดปัญหาในเรื่องของการแสดงชื่อข้อมูล

อย่างขั้นตอนของการ select อันนี้ผมได้ข้อมูลครบแล้วครับ

ผมติดปัญหาในเรื่องของการ while ข้อมูลออกมาเก็บใน array ครับ

อยากให้ได้ข้อมูลออกมาแบบชุดคำสั่งเดียวเลย

ประมาณนี้ครับ

$menu['id'] = 1;
$menu['parent'] = 2;
$menu['label'] = 'CODE >PHP';


คือต้องใช้ข้อมูลในส่วนของ $menu['parent'] = 2; มา query เพื่อนำค่า CODE มาแสดงใน Label เพื่อบ่งบอกว่า sub category นี้ เป็นหมวดหมู่ย่อยของหมวดหมู่หลักอันไหนครับ

มีวิธีไหนที่จะทำให้ตัวระบบทำงานเร็วไหมครับ แบบไม่ต้อง query หลายครั้งครับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-15 14:48:38 By : asustak
 


 

No. 8



โพสกระทู้ ( 283 )
บทความ ( 0 )



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

Code (PHP)
Array
(
    [0] => Array
        (
            [id] => 2
            [label] => code
            [parent] => 0
        )

    [1] => Array
        (
            [id] => 4
            [label] => PHP
            [parent] => 2
        )

)


อันนี้เป็นตัวอย่างครับพี่วิน

Code (PHP)
foreach($data as $key => $value)
{
	echo "key: ",$key."\r\n";	
		echo "Value: ",$value['label']."\r\n";	
		echo $data[$key]."\r\n";	
		
	if (!in_array("0", $value)) // ในส่วนของ parent ถ้ามีค่าเป็น 0 ให้นำค่า [label] => code มาใส่แทน หรือ  query ข้อมูลมาใส่แทน
	{
           echo $data[0][$value['label']].">".$value['label'];
	}	
}


อยาก foreach index ที่ [1] ให้ค่า Label ได้ออกมาเป็น Code > PHP แบบนี้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-16 15:38:06 By : asustak
 

   

ค้นหาข้อมูล


   
 

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