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 > OCI8 การใช้คำสั่งนับเรคคอร์ด โดยเขียนเป็นฟังก์ชั่น



 

OCI8 การใช้คำสั่งนับเรคคอร์ด โดยเขียนเป็นฟังก์ชั่น

 



Topic : 075902



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



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




คือว่าตอนนี้เขียน php ต่อกับฐานข้อมูล oracle 10 g โดยใช้ oci (ซึ่งไม่เคยใช่มาก่อนทั้ง oracle และ oci) ก่อนหน้านี้ต่อกับฐานข้อมูลโดยใช้ odbc แต่ไม่พอเอาขึ้น server sun solaris ไม่สามารถทำงานได้ ToT จึงต้องเปลี่ยนเป็น oci8 โดยเขียนเป็นฟังก์ชั่นใช้รูปแปปตามบทความ https://www.thaicreate.com/php/php-oracle-oci-used-function-database-query.html แต่ติดปัญหาตรงนับจำนวนเรคคอร์ดคือ เมื่อดึงข้อมูลจากฐานข้อมูลแล้วไม่ทราบว่าต้องใช้คำสั่งใด เพราะลอง oci_fetch_all กับ oci_fetch_row แต่ก็ยังไม่ได้คะ

model_user

Code (PHP)
	function login($Connect,$strTable,$strCondition){
		$strSQL = "select * FROM $strTable WHERE $strCondition ";
		$objParse = oci_parse($Connect, $strSQL);
		oci_execute($objParse, OCI_DEFAULT);
		return oci_fetch_array($objParse);
	}


control_login

Code (PHP)
	$strTable = "DAPS_USER";
	$strCondition = " USERNAME = '$user' and TYPE = 'y'  ";
	$objSelect = login($objConnect,$strTable,$strCondition);
	$Num_Rows = oci_fetch_all($objSelect);
	echo "$Num_Rows";


error
ใช้
oci_fetch_all :Warning: oci_fetch_all() expects at least 2 parameters, 1 given in C:\AppServ\www\test\control\control_login.php on line 26


ใช้
oci_fetch_row :Warning: oci_fetch_row() expects parameter 1 to be resource, array given in C:\AppServ\www\test\control\control_login.php on line 26


รบกวนพี่ช่วยให้ความรู้ด้วยคะ ขอบคุณคะ



Tag : PHP, Oracle







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-03-21 17:16:01 By : Inwpetdo View : 2966 Reply : 6
 

 

No. 1



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

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

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

ใช้แบบนี้ครับ

Code (PHP)
$objConnect = oci_connect("myuser","mypassword","TCDB");
$strSQL = "SELECT * FROM CUSTOMER ORDER BY CUSTOMERID ASC";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);

$Num_Rows = oci_fetch_all($objParse, $Result);







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-21 17:41:36 By : webmaster
 


 

No. 2



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



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


ขอบคุณ คุณ mr.win มากค่ะ ตอนนี้เอาโค้ดที่ให้ไปประยุกต์ใช้โดยเขียนฟังก์ชั่นเพิ่มขึ้นมาเป็น

Code (PHP)
function fncCountRecord($Connect,$strTable,$strCondition){
		$strSQL = "select * FROM $strTable WHERE $strCondition ";
		$objParse = oci_parse($Connect, $strSQL);
		oci_execute($objParse, OCI_DEFAULT);
		$Num_Rows = oci_fetch_all($objParse, $Result);
		return $Num_Rows;
	} //ให้รีเทรินค่าของ $Num_Rows; ออกมาเลย


ส่วนในหน้าที่เรียกใช้ฟังก์ชั่นก็ใช้เป็น

Code (PHP)
        $strTable = "DAPS_USER";
	$strCondition = " USERNAME = '$user' and TYPE = 'y'  ";
	$Num_Rows = fncCountRecord($objConnect,$strTable,$strCondition);
        // ก็จะได้ค่า $Num_Rows

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-22 09:38:41 By : Inwpetdo
 

 

No. 3



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

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

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

ตกลงได้หรือยังครับ ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-22 09:46:10 By : webmaster
 


 

No. 4

Guest


ได้แล้วคะ แต่ตอนนี้ติดตรงแบ่งหน้าคะ อ้างอิงจากบทความ https://www.thaicreate.com/php/php-oracle-list-record-paging.html คือ อยากเขียนเป็นแบบฟังก์ชั่น


Code (admin_home.php)
include("model/model_user.php");
						$strTable = "daps_user";
					//	$strCondition = " select d.regn,d.act3,d.act5,d.urno from daps_acrtab d ";
						$objResult = fncSelectRecordAll($objConnect,$strTable);
						$Num_Rows = fncCountRecordAll($objConnect,$strTable);
						
				//		$Num_Rows = 0;
				//		while($objSelect)$Num_Rows++; // Count Record
						
						$Per_Page = 10;   // Per Page
						
						$Page = $_GET["Page"];
						if(!$_GET["Page"])
						{
							$Page=1;
						}
						
						$Prev_Page = $Page-1;
						$Next_Page = $Page+1;
						
						$Page_Start = (($Per_Page*$Page)-$Per_Page)+1;
						if($Num_Rows<=$Per_Page)
						{
							$Num_Pages =1;
						}
						else if(($Num_Rows % $Per_Page)==0)
						{
							$Num_Pages =($Num_Rows/$Per_Page) ;
						}
						else
						{
							$Num_Pages =($Num_Rows/$Per_Page)+1;
							$Num_Pages = (int)$Num_Pages;
						}
						$Page_End = $Per_Page * $Page;
						if($Page_End > $Num_Rows)
						{
							$Page_End = $Num_Rows;
						}
						
						for($i=$Page_Start;$i<=$Page_End;$i++){
				//		$objResult = odbc_fetch_array($objSelect,$i);
						$status = $objResult[STATUS][$i];
						echo "status$status";
						if($status == '1'){
							$status = 'ผู้ดูแลระบบ';
						}else if($status == '2'){
							$status = 'สมาชิก';
						}
						$type = $objResult[TYPE][$i];
						if($type == 'y'){
							$type = 'ใช้งานได้';
						}else if($type == 'n'){
							$type = 'ถูกระงับการใข้งาน';
						}
					//	$objExec = $acr->selectUn();
				//		$i = 0;
				//		$seton["0"] = "false"; $seton["1"] = "true"; 
				//		while($objResult = odbc_fetch_array($objSelect))
				//		{	
				//		$i++;
						
						?>
              <tr id="tr<?=$i;?>">
                <td align="center" height="20"> <input type="hidden" name="username" value="<?=$objResult["USERNAME"][$i];?>" OnClick="ClickMakeColor(this,'tr<?=$i;?>');" > <?=$objResult["USERNAME"][$i];?></td>
                <td><div align="center">
                    <input type="hidden" name="firstname" value="<?=$objResult["FIRSTNAME"][$i];?>">
                    <?=$objResult["FIRSTNAME"][$i];?>
                  </div></td>
                <td><input type="hidden" name="lastname" value="<?=$objResult["LASTNAME"][$i];?>">
                  <?=$objResult["LASTNAME"][$i];?></td>
                <td><input type="hidden" name="status" value="<? echo $status; ?>">
                  <? echo $status; ?></td>
				   <td><input type="hidden" name="type" value="<? echo $type; ?>">
                  <? echo $type; ?></td>
				  <td ><a href='admin_edit.php?user=<?=$objResult["USERNAME"][$i];?>'><img src='images/edit button.png' width='15' height='15' border='0' align="middle" /></a></td>
              </tr>

model_user.php
	function fncSelectRecordAll($Connect,$strTable)
		{
				$strSQL = "SELECT * FROM $strTable order by username ";
		//		echo "$strSQL";
				$objParse = oci_parse($Connect, $strSQL);
				oci_execute($objParse, OCI_DEFAULT);
				return oci_fetch_array($objParse);
		}

	function fncCountRecordAll($Connect,$strTable)
		{
				$strSQL = "SELECT * FROM $strTable order by username ";
	//			echo "$strSQL";
				$objParse = oci_parse($Connect, $strSQL);
				oci_execute($objParse, OCI_DEFAULT);
				$Num_Rows = oci_fetch_all($objParse, $Result);
				return $Num_Rows;
		}


ต่ผลลัพธ์ไม่ออกคะ ออกเป็นตัวอักษรตัวเดียว ในแต่ละช่องคอลัมน์คะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-22 11:26:58 By : Inwpetdo
 


 

No. 5



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



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


แงๆ ช่วยหน่อยคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-22 13:57:15 By : Inwpetdo
 


 

No. 6



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



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


ข้อมูลมีสองเรคคอร์ด แต่ข้อมูลออกมาแค่เรคคอร์ดเดียว ไม่ทราบว่าเป็นที่ตรงไหน ลอง echo ตัวแปร i ออกมาแล้วก็เป็นสองแต่ งง ว่าทำไมข้อมูลออกแค่เรคคอร์ดเดียว

Code (PHP)
<?
						$objConnect = oci_connect("sfif","sfif","192.168.1.154/gocc");
						$strSQL = "SELECT * FROM daps_user ORDER BY username ";
						$objParse = oci_parse ($objConnect, $strSQL);
						oci_execute ($objParse,OCI_DEFAULT);

						$Num_Rows = oci_fetch_all($objParse, $Result);

				/*		include("model/model_user.php");
						$strTable = "daps_user";
						$strCondition = " select d.regn,d.act3,d.act5,d.urno from daps_acrtab d ";
						$objResult = fncSelectRecordAll($objConnect,$strTable);
						$Num_Rows = fncCountRecordAll($objConnect,$strTable); */
						
				//		$Num_Rows = 0;
				//		while($objSelect)$Num_Rows++; // Count Record
						
						$Per_Page = 10;   // Per Page
						
						$Page = $_GET["Page"];
						if(!$_GET["Page"])
						{
							$Page=1;
						}
						
						$Prev_Page = $Page-1;
						$Next_Page = $Page+1;
						
						$Page_Start = (($Per_Page*$Page)-$Per_Page)+1;
						if($Num_Rows<=$Per_Page)
						{
							$Num_Pages =1;
						}
						else if(($Num_Rows % $Per_Page)==0)
						{
							$Num_Pages =($Num_Rows/$Per_Page) ;
						}
						else
						{
							$Num_Pages =($Num_Rows/$Per_Page)+1;
							$Num_Pages = (int)$Num_Pages;
						}
						$Page_End = $Per_Page * $Page;
						if($Page_End > $Num_Rows)
						{
							$Page_End = $Num_Rows;
						}
						
						for($i=$Page_Start;$i<=$Page_End;$i++){
					//	$objResult = odbc_fetch_array($objResult,$i);
						$status = $Result[STATUS][$i];
						echo "i$i";
						echo "status$status";
						if($status == '1'){
							$status = 'ผู้ดูแลระบบ';
						}else if($status == '2'){
							$status = 'สมาชิก';
						}
						$type = $Result[TYPE][$i];
						if($type == 'y'){
							$type = 'ใช้งานได้';
						}else if($type == 'n'){
							$type = 'ถูกระงับการใข้งาน';
						}
					//	$objExec = $acr->selectUn();
				//		$i = 0;
				//		$seton["0"] = "false"; $seton["1"] = "true"; 
				//		while($objResult = odbc_fetch_array($objSelect))
				//		{	
				//		$i++;
						
						?>
              <tr id="tr<?=$i;?>">
                <td align="center" height="20"> <input type="hidden" name="username" value="<?=$Result["USERNAME"][$i];?>" OnClick="ClickMakeColor(this,'tr<?=$i;?>');" > <?=$Result["USERNAME"][$i];?></td>
                <td><div align="center">
                    <input type="hidden" name="firstname" value="<?=$Result["FIRSTNAME"][$i];?>">
                    <?=$Result["FIRSTNAME"][$i];?>
                  </div></td>
                <td><input type="hidden" name="lastname" value="<?=$Result["LASTNAME"][$i];?>">
                  <?=$Result["LASTNAME"][$i];?></td>
                <td><input type="hidden" name="status" value="<? echo $status; ?>">
                  <? echo $status; ?></td>
				   <td><input type="hidden" name="type" value="<? echo $type; ?>">
                  <? echo $type; ?></td>
				  <td ><a href='admin_edit.php?user=<?=$Result["USERNAME"][$i];?>'><img src='images/edit button.png' width='15' height='15' border='0' align="middle" /></a></td>
              </tr>
              <?
						}
					
				//		$acr->show($option);
						?>
               </table>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-22 14:22:17 By : Inwpetdo
 

   

ค้นหาข้อมูล


   
 

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