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 > การวนลูปของ smarty ต้องเขียนยังไงหรือครับ ช่วยหน่อยนะครับ



 

การวนลูปของ smarty ต้องเขียนยังไงหรือครับ ช่วยหน่อยนะครับ

 



Topic : 103958

Guest




อยากทราบวิธี วนลูป ของ smarty อะครับ

ตัวอย่าง ข้อมูลในฐานข้อมูล

id : name
1 : ant
2 : cat
3 : dog

จะดึงข้อมูลมาแสดงแบบแยกตางรางอะครับ

โดยเรียกใช้ โค้ด {$id} กับ {$name} กับหน้า html

โค้ดเชื่อมต่อ SQL

Code (PHP)
$query = "SELECT * FROM info"; 
$data = mysql_query($query);
$info = mysql_fetch_array($data);


ช่วยหน่อยนะครับ ขอบคุณครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-12-25 00:58:33 By : ช่วยหน่อยนะครับ View : 898 Reply : 6
 

 

No. 1

Guest


คำถามดูงงๆ นะครับ
การใช้ template engine โค้ดในส่วนดึงข้อมูลจะไม่เกี่ยวกับโค้ดใน template
คือคุณต้อง assign ค่าที่จะใช้เข้าไปใน smarty ก่อนครับ

ตัวอย่างส่วนของ PHP
$query = "SELECT * FROM info"; 
$data = mysql_query($query);

$infos = array();
while ($row = mysql_fetch_array($data)) {
    $infos[] = $row;
}

$smarty = new smarty;
$smarty->assign('infos', $infos);
$smarty->display('your_template.tpl');


ตัวอย่างส่วนของ template
...
<ul>
{foreach $infos as $row}
<li>{$row.id} = {$row.name}</li>
{foreachelse}
<li>No Data</li>
{/foreach}
</ul>
...


ลองอ่านวิธีใช้ smarty ดูนะครับ
http://www.smarty.net/docs/en/






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-25 01:15:33 By : K
 


 

No. 2

Guest


แต่หากไม่คุ้นเคยกับการใช้ template engine และไม่จำเป็นต้องใช้ smarty (เช่นไม่ได้เอางานของคนอื่นมาแก้) และระบบที่จะทำไม่ใหญ่มาก แนะนำให้ใช้ PHP อย่างเดียวจะดีกว่าครับ เพราะตัว PHP เองก็จัดเป็น template engine เหมือนกัน
อย่างในตัวอย่าง จะเห็นว่ามันเป็นการทำงานที่ซ้ำซ้อน
และที่สำคัญ smarty ช้ามากๆ ครับ เมื่อเทียบกับ template engine อื่นๆ ตอนนี้เขาไม่นิยมใช้ smarty กันแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-25 01:23:15 By : K
 

 

No. 3

Guest


ได้ละครับขอบคุณมากๆ ครับ แต่ข้อมูลมันแสดงออกมาหายไป 1 แถวอะครับ พอจะทราบปัญหานี้ไหมครับ

แล้ว พอจะแนะนำ template engine ตัวอื่นใหมครับ พอดีเพิ่งหัดเขียน ยังไม่มีความรู้มาก ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-25 08:44:15 By : ขอบคุณครับ
 


 

No. 4

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : K เมื่อวันที่ 2013-12-25 01:23:15
รายละเอียดของการตอบ ::
ถ้ากำลังเขียนอยู่ก็ต้อง config ให้มัน compile ใหม่ทุกครั้งที่แก้ มันก็เลยช้า

แต่ถ้าระบบนิ่งแล้ว มันช้าแค่รันครั้งแรก พอ compile เสร็จมันก็ไปเรียกใช้ที่ compile แล้วมาใช้

มันก็ไม่ช้าเท่าไหร่หรอก แต่จะเอาไปเทียบกับ php เพียวๆ มันก็ช้ากว่า แต่ในระดับที่พอรับได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-25 09:19:05 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2013-12-25 09:19:05
รายละเอียดของการตอบ ::
ผมพูดถึงตอนที่รันจาก cache แล้วครับ มันก็ยังช้าเกินไป (ในหลายๆ เคส) สำหรับผมอยู่ดี


มี template engine ที่ใช้ syntax เดียวกันกับ smarty ชื่อว่า dwoo http://dwoo.org/ เริ่มแรกเขาต้องการทำมาเพื่อแทน smarty เพราะเรื่อง performance ของ smarty นี่ล่ะครับ (ฝรั่งยังยอมรับไม่ได้เลย)
แต่พอ smarty เริ่มหมดความนิยม เขาก็เลิกพัฒนาไปแล้วครับ
และทางเว็บนั้นเองแนะนำให้ไปใช้ twig http://twig.sensiolabs.org/ ครับ (เป็น template engine ที่ใช้ในหลายๆ โปรเจ็คต์ใหญ่ๆ ของฝรั่ง)
แต่ twig มันใช้ syntax คนละโลกกับ smarty เลย ถ้าจะใช้จริงๆ ก็คงต้องศึกษาใหม่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-25 12:45:09 By : K
 


 

No. 6

Guest


twig ก็ดี เห็นบาง framework เอาไปใช้อยู่เหมือนกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-25 12:57:12 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

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