Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 105,820

HOME > PHP > PHP Forum > จะเรียก php function ภายใน class อย่างไรคะ ผ่าน Url


 

จะเรียก php function ภายใน class อย่างไรคะ ผ่าน Url

 



Topic : 118364



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



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




สมมุติว่ามีclass และ มี ฟังก์ชันภายในคลาสดังนี้ค่ะ

KitchenController.php
Code (PHP)
	Class Controller extends ConnectDb
	{
                

		/**** function insert record ****/
		function fncInsertRecord()
		{
				$strSQL = "INSERT INTO $this->strTable ($this->strField) VALUES ($this->strValue) ";
				return mysql_query($strSQL);
		}
                
                function test(){
                    echo "test";
                }
                

		/**** function select record ****/
		function fncSelectQueue()
		{
				$strSQL = "SELECT * FROM $this->strTable order by $this->Orderby Asc";
				$objQuery = @mysql_query($strSQL);
                                return $objQuery;
		}
                
                function fncSelectMenu()
		{
				$strSQL = "SELECT * FROM $this->strTable WHERE $this->strCondition ";
				$objQuery = @mysql_query($strSQL);
                                return $objQuery;
		}
                
                
                function fncUpdateType()
		{
                    $tbl = $_POST["tblName"];
                    $type = $_POST["type"];
                    $status = $_POST["status"];
                    $strCondition = $_POST["Condition"];
                    $ID = $_POST["id"];
                    
		    $strSQL = "UPDATE $tbl SET $type = $status WHERE $strCondition = $ID";
                    //$strSQL = "UPDATE shell_kitchen SET KitchType = 'Cooking..' WHERE KitchFoodID = 'F0002'";
                    mysql_query($strSQL);
                               // $strSQL = "UPDATE $tbl SET $type = $status WHERE $strCondition = $ID";
				//return @mysql_query($strSQL);
                    echo "test";
		}

		
	}			





อยากจะใช้ jquery เรียก ฟังก์ชัน fncUpdateType() ในclass นี้ จากโค้ด

Code (JavaScript)

function fncSetStatus(ID,Status){

$.post("http://localhost/ShellSoft/KitchenController.php?fncUpdateType",{
           
           type:"KitchType",
           tblName:"shell_kitchen",
           status:Status,
           Condition:"KitchFoodID",
           id:ID
           
    },function(data,status){
        
        $("#shoping-cart").load(location.href + " #shoping-cart");
         
    });
}


ไม่ทราบว่า จะเรียกอย่างไร แล้วก้อ หากเรียกผ่าน Url ตอน link จะเรียกอย่างไร



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-08-13 22:06:58 By : Saw-Series View : 829 Reply : 12
 

 

No. 1



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



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


มีไม๊ใครสักคน ......






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 00:05:29 By : Saw-Series
 


 

No. 2



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



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

เรียกใช้โดยตรงไม่ได้ครับ ต้องเรียกผ่าน PHP อีกตัว

Code (PHP)
<?php
//KitchenController.php
Class Controller extends ConnectDb


Code (PHP)
<?php
//active.php
include "KitchenController.php";
$ctrl=new Controller();
$ctrl->fncUpdateType() ;


เป็นแค่ตัวอย่างพอสังเขปนะครับ แต่เนื่องจาก คลาสนี้มันมีการ extends จาก คลาสแม่ ConnectDb อีกที
ดังนั้น ต้อง include คลาสแม่ ก่อน ไม่งั้นมัน error ครับ

ส่วนวิธีการเรียกใช้ คงต้องอ่านคู่มือ ของ shell-soft ดูแล้วล่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 01:04:25 By : NewbiePHP
 

 

No. 3



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



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


อันนี้เข้าใจแล้วค่ะ แต่เวลาจะเรียกผ่าน link จะทำอย่างไรคะ

Code (PHP)
$db = new Controller(DB_HOST,DB_USER,DB_PASS,DB_NAME);

//ตรงนี้

<a href="http://localhost/shellsoft/KitchenController?test.php?">test</a>

 $db->strTable = "shell_queue";
         $db->Orderby = "QueNo";
          $queryQue = $db->fncSelectQueue();
          while($table = mysql_fetch_array($queryQue)){
             
           ?>
          <div class="col-xs-7 col-lg-5">
   
          <h2><?php echo $table[QueTable]; ?></h2>
          <table class="table">
              <tr>
                  <th>รหัส</th>
                  <th>รายการ</th>
                  <th>จำนวน</th>
                  <th>สถานะ</th>
                  <th></th>
                  <th></th>
                 
              </tr>
             <?php 
              $db->strTable = "shell_kitchen";
              $db->strCondition = "KitchTable = '".$table[QueTable]."'";
              $queryMenu = $db->fncSelectMenu();
              while($menu = mysql_fetch_array($queryMenu)){
              ?>
              <tr>
                  <td><?php echo $menu[KitchFoodID]; ?></td>
                  <td><?php echo $menu[KitchName]; ?></td>
                  <td><?php echo $menu[KitchQuan]; ?></td>
                  <td style="width: 10px;">
                      <span id="sType_<?php echo $menu[KitchFoodID] ?>"><?php echo $menu[KitchType]; ?></span>
                  </td>
                  <td>
<input type="submit" value="Cook" onclick="fncSetStatus('<?php echo $menu[KitchFoodID] ?>','Cooking..');">
</td>
                  <td>
<input type="submit" value="Finish" onclick="fncSetStatus('<?php echo $menu[KitchFoodID] ?>','Finish');">
</td>
                  </tr>
              
            <?php 
              }
             ?>
           </table>




Code (PHP)
class ConnectDb {
    
               public function __construct($host,$user,$pass,$db_name)
		{
				$Connect = mysql_connect($host,$user,$pass) or die(mysql_error());				
				mysql_query("SET NAMES utf8");
				mysql_select_db($db_name);			   
		}
    
    
}



ประวัติการแก้ไข
2015-08-14 02:36:14
2015-08-14 02:38:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 02:30:08 By : Saw-Series
 


 

No. 4



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



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

Code
$db = new Controller(DB_HOST,DB_USER,DB_PASS,DB_NAME); //ตรงนี้ if(isset($_REQUEST['test_call'])){ $dbl->fncUpdateType() ; exit; } <a href="?test_call=1?">test</a>

เนื่องจากเป็น ไฟล์เดียวกัน ใช้วิธีเรียกแบบสั้นๆ แค่นี้ก็ได้ครับ


ประวัติการแก้ไข
2015-08-14 07:36:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 07:36:25 By : NewbiePHP
 


 

No. 5



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



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


แล้วถ้าจะเก็บตรง

Code (PHP)
if(isset($_REQUEST['test_call'])){
              $this->test();
              exit;
   }


ไว้ภายใน class controller ซึ่งเก็บไว้อีกไฟล์ แต่เรียกผ่านทางหน้า view จะเรียกอย่างไรคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 11:38:01 By : Saw-Series
 


 

No. 6



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



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

งง เรียกผ่าน หน้าวิว

ส่งเป็น parameter จาก controller ให้ views ง่ายกว่าไหมครับ
จัดการใน controller ให้เรียบร้อย แล้วส่งให้ views แสดงข้อมูล

แม้วิวมันจะทำงานกับ code PHP ได้แต่ก็มีข้อจำกัดในการเรียกใช้
หลายคำสั่งทำไม่ได้นะครับ ทำใน controller อยากได้อะไร ก็ load มาใช้งาน


ปล. หรือจะสร้างเป็น model


ประวัติการแก้ไข
2015-08-14 12:02:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 12:01:48 By : NewbiePHP
 


 

No. 7



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



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


คือ สรุปแล้วมันไม่มีวิธีที่จะเรียก function ใน class ผ่าน url ได้ในทันที โดยไม่ผ่าน php ตัวอื่นเลยใช่ป่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 12:26:46 By : Saw-Series
 


 

No. 8



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



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

ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 14:11:54 By : NewbiePHP
 


 

No. 9



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



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


มันต้องเรียกใช้ class ก่อน
ถึงจะนำไปใช้ได้
แบบนี้หรือป่าว?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 14:22:44 By : CasanovaKung
 


 

No. 10



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



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


ถ้ายังงั้น วิธีนี้ ก็ยังไม่ใช่วิธีที่สุดที่จะเอามาใช้ทำงานใช่ป่าวคะเนี่ย = =
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 16:45:09 By : Saw-Series
 


 

No. 11

Guest


ทำ file process ขึ้นมาตัวนึง เช่น
เช่น process.php
Code (PHP)
require_once("KitchenController.php");
	if(isset($_GET[fncUpdateType])){
		$int_kit=new Controller();
		$int_kit->fncUpdateType();
	}


ตัว jquery ก็ post ไปที่
$.post("http://localhost/[path ที่เก็บ]/process.php?fncUpdateType",{.......

แต่ต้อง ระวังเรื่อง security ด้วย จะใช้ session หรือ จะ post ไปทุกค่าเลยก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 20:23:46 By : ผ่านมา
 


 

No. 12



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



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


ขอบคุณค่ะ กะลังลองศึกษาแล้วทำแบบ MVC ดูอยู่ค่ะ เคยใช้แต่ code ตอนนี้ลองเอามาทำเองบ้าง อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-08-14 23:25:33 By : Saw-Series
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จะเรียก php function ภายใน class อย่างไรคะ ผ่าน Url
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, ปรึกษากฎหมายฟรี 24 , ขายเครื่องเสียงมือสอง,vps | เช่า vps , รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2018 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่