เกี่ยวกับการอ่านข้อมูลจาก table DB Access function odbc_exec ครับ
ลองใช้ odbc_num_rows ครับ
Code (PHP)
<?php
$query = odbc_prepare($conn, 'UPDATE table SET cat = ? WHERE id = 1');
$result = odbc_execute($query, $category);
$affected = odbc_num_rows($query);
?>
Date :
2011-07-01 20:26:58
By :
webmaster
ลองใช้ odbc_num_rows แล้วครับไม่ได้เหมือนกัน return ค่ากลับมาเป็น -1 หนังสือบอกว่า odbc_num_rows ใช้กับ MS Access ไม่ได้ครับพี่ มีวิธีอื่นมั๊ยครับ
Date :
2011-07-01 20:50:21
By :
Nut_M
Code (PHP)
$objConnect = odbc_connect("mydatabase","","") or die("Error Connect to Database");
// Search By Name or Email
$strSQL = "SELECT * FROM customer WHERE (Name LIKE '%".$_GET["txtKeyword"]."%' or Email LIKE '%".$_GET["txtKeyword"]."%' )";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
$Num_Rows = 0;
while(odbc_fetch_row($objExec))$Num_Rows++; // Count Record
ตัวอย่างการนับ Record ครับ
Date :
2011-07-01 20:54:54
By :
webmaster
คือว่าปัญหาไม่ได้อยู่ที่ต้องการนับ record ครับ มันอยู่ตรงที่ว่า ต้องการตรวจสอบว่า record นั้นมีหรือไม่มีใน table เพื่อป้องกันการซ้ำ
แต่ว่าเวลา ตรวจสอบโดยใช้ code ที่ให้ไว้น่ะครับมันฟ้องว่ามี record นั้นมีอยู่แล้วแต่จริงๆแล้วใน table ไม่มีข้อมูล record นั้น ทั้งๆที่เปลี่ยนค่าให้กับก้อตรวจสอบแล้วก้อยังฟ้องว่ามันมี record ที่ส่งข้อมูลเข้าไปตรวจสอบอยู่ ทุกๆครั้งไม่ว่าผมจะใส่ค่าอะไรไปแทนเครื่องหมาย ??????? ตัวแปร $num จะมีค่าเป็น 1 เสมอ โดยที่จริงๆแล้วถ้าไม่มีข้อมูลใน table ก็จะผ่านเงื่อนไขของ code ได้
อันนี้เป็น code ที่ใช้จริงนะครับ
Code (PHP)
$sql="select * from TBCOM where Property_No='$Property_No' ";
$result=odbc_exec($c_odbc,$sql);
$num= count($result);
if($num>0) {
echo "ข้อมูล Property_No ซ้ำครับ";
}
ผมใส่ค่าอะไรให้กับ $Property_No ตัวแปร $num ก็จะได้ค่าเป็น 1 เสมอครับเลยสงสัยอยู่ว่าทั้งๆที่ไม่มีข้อมูล record นั้นใน table แต่ทำไมcode ที่เขียนมามันนับ record จาก table ได้เป็น 1 จากการตรวจสอบค่าของตัวแปร $num
หรือว่าจะต้องแก้ไข code ยังไงส่วนไหนหรือว่ามีวิธีตรวจสอบด้วยวิธีอื่นๆมั๊ยครับ
ประวัติการแก้ไข 2011-07-01 21:21:50 2011-07-01 21:23:56 2011-07-01 21:34:13
Date :
2011-07-01 21:20:47
By :
Nut_M
Code (PHP)
<?
$objConnect = odbc_connect("mydatabase","","") or die("Error Connect to Database");
$strSQL = "SELECT * FROM customer WHERE CustomerID = '".$_GET["CusID"]."' ";
$objExec = odbc_exec($objConnect, $strSQL);
$objResult = odbc_fetch_array($objExec);
if(!$objResult)
{
echo "Not found CustomerID=".$_GET["CusID"];
}
else
{
}
แบบนีก็ได้ครับ
หรือ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & Access Tutorial</title>
</head>
<body>
<?
$objConnect = odbc_connect("mydatabase","","") or die("Error Connect to Database");
$strSQL = "SELECT * FROM customer WHERE CustomerID = '".$_POST["txtCustomerID"]."' ";
$objExec = odbc_exec($objConnect, $strSQL);
$objResult = odbc_fetch_array($objExec);
if($objResult)
{
echo "CustomerID already exist.";
}
else
{
$strSQL = "";
$strSQL = "INSERT INTO customer ";
$strSQL .="(CustomerID,Name,Email,CountryCode,Budget,Used) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txtCustomerID"]."','".$_POST["txtName"]."','".$_POST["txtEmail"]."' ";
$strSQL .=",'".$_POST["txtCountryCode"]."','".$_POST["txtBudget"]."','".$_POST["txtUsed"]."') ";
$objExec = odbc_exec($objConnect, $strSQL);
if($objExec)
{
echo "Save Done.";
}
else
{
echo "Error Save [".$strSQL."]";
}
}
odbc_close($objConnect);
?>
</body>
</html>
Go to : PHP Microsoft Access Check Already Exists Add/Insert Record (PHP ODBC)
Date :
2011-07-02 08:50:15
By :
webmaster
Wow !! ได้แล้วครับ ผมลองเปลี่ยนจากคำสั่ง count ไปเป็น odbc_fetch_array แทนได้ตรงตามเงื่อนไขเลยครับพี่
แต่ยังสงสัยอยู่ดี่ว่าทำไม count แล้วมันมองเห็นว่ามี record นั้นใน table ทั้งๆที่ไม่มี record นั้นอยู่จริง
ขอบคุณมากนะครับที่ช่วยเหลือ
Date :
2011-07-02 11:24:09
By :
Nut_M
count มันใช้นับ array ครับ
Date :
2011-07-02 11:31:07
By :
webmaster
กระจ่างชัดกว่าเดิม ขอบคุณครับ
Date :
2011-07-02 12:01:03
By :
Nut_M
มี Code Access ไหมครับ
Date :
2011-12-01 10:53:27
By :
ioffer30
กระจ่างขึ้นมานิดนึง ขอบคุณมากมายค่ะ
Date :
2011-12-06 15:57:46
By :
iibuu
Parse error: syntax error, unexpected T_AS in C:\AppServ\www\supplierdata\login_check.php on line 21
แก้อย่างไรค่ะ รบกวนผู้รู้ด้วยค่ะ
Date :
2018-11-13 11:34:34
By :
waen waen
ไม่รู้จะต้องใส่ตัวแปรอะไรอ่ะค่ะ ช่วยด้วยนะค่ะ ลองใส่ $db ไป มันขึ้นเออเร่อแบบนี้ค่ะ
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\supplierdata\login_check.php on line 20
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\supplierdata\login_check.php:20) in C:\AppServ\www\supplierdata\login_check.php on line 33
Date :
2018-11-13 13:09:06
By :
waen waen
ผิดค่ะ ลองใส่ $data น่ะค่ะ
Date :
2018-11-13 13:11:40
By :
waen waen
ผมเขียนให้คงไม่รู้เรื่องเหมือนเดิม แนะนำให้จขกท กลับไปอ่านพื้นฐานให้มากกว่านี้ครับ เพราะโค๊ดที่เอามาลงของ จขกท สะเปะสะปะ ไม่มีที่มาที่ไปของตัวแปร
ลองเข้าไปอ่านในลิงค์นี้ครับ แล้วลองตาม ตัวอย่างจนกว่าจะเข้าใจ อย่าเพิ่งสร้างงานเองครับ
ทำตามตัวอย่างให้ได้งานตามตัวอย่างก่อน แล้วค่อยปรับ ที่ ฟีลด์ ทีละอย่างเพื่อให้รู้ว่าอะไรเป็นอะไรก่อนครับ
https://www.thaicreate.com/php.html
Date :
2018-11-13 17:17:16
By :
Chaidhanan
ทำเป็นภาพมาถาม ก็ไม่อยากช่วยแล้ว สมาชิกก็สมัครไม่ได้ ไปขุดกระทู้มาถามแบบไร้ตัวตน อยากได้ความจริงใจ ก็จริงใจกลับกันหน่อย
Date :
2018-11-13 17:22:49
By :
apisitp
ส่วนตัวผมก็ยึดหลักที่ว่า "อย่าให้ข้อมูลแบบป้อนข้าวใส่ปาก จงให้ข้อมูลแบบไปศึกษาต่อเอง"
ผมก็จะพยายาม ลด ละ เลิก ไม่ค่อยจะยุ่งกับคำถาม แต่อดไม่ได้ แต่เมื่อมีคนคิดต่าง ก็น้อมรับครับ
ดีแล้วครับ มีคนใจดี ให้น้อง ๆ เขาติดต่อโดยตรง ผมก็จะพยายามสงบจิต สงบใจ
ถ้าผมไม่ช่วยก็จะไม่เข้าไปยุ่งอีกครับ ขออภัยทุกคนครับ
Date :
2018-11-15 13:28:29
By :
apisitp
เขาไม่สมัครสมาชิกก็เลยไม่อยากตอบเขา ไม่อยากช่วยเขา ทำไมไม่ทำว่า ถ้าไม่เป็นสมาชิก ไม่มีสิทอ่าน หรือถามใดๆ ไปเลยล่ะครับ ง่ายดี จะได้ไม่ต้องมีดราม่าเกิดขึ้น อย่างผมเองผมก็ไม่ได้สมัครสมาชิกนะ แต่ผมก็เข้ามาดู มาอ่านอยู่เรื่อยๆ ผมก็คงจัดอยู่ในกลุ่มบุคคลไม่จริงใจสินะครับ
Date :
2018-11-16 10:02:56
By :
Surasak
ดราม่าตรงไหน 1-2 ปีจะมีสักครั้ง ครับ
Date :
2018-11-16 10:14:12
By :
apisitp
อุตส่าห์ไปขุดกระทู้นู้นมาถาม https://www.thaicreate.com/php/forum/088747.html
แล้วก็ยังมาขุดกระทู้นี้มาถามต่อแบบเดิม
หรือจะบอกว่าขุดกระทู้นี้มาถามแล้วยังอุตส่าห์ไปขุดกระทู้นู้นมาถามก็ได้
เอาให้จบในกระทู้เดียวหรือตั้งใหม่ไปเลย ไม่ได้เหรอ?
เอาภาพมาแปะแทนก๊อปโค้ดแค่ CTRL+C CTRL+V มันง่ายกว่าหรือยังไง? ทำไมเอาโค้ดมาวางกันไม่ได้ เป็นอาการติดต่อหรืออะไรกัน?
คำว่านะค่ะ ไม่มีในโลก ไม้เอกไม่ต้องขยันใส่ก็ได้ เวลาพิมพ์ก็ออกเสียงในใจบ้าง.
Date :
2018-11-16 10:41:14
By :
mr.v
Load balance : Server 02