|
|
|
รบกวนช่วยดู web service ทีคับ พอดีต้องการดึงข้อมูลจากฐานข้อมูล mysql โดยใช้ Nusoap |
|
|
|
|
|
|
|
ผมต้องการดึงข้อมูลจาก database (mysql) โดยใช้ Nusoap (Web Service) โดยใช้ภาษา PHP แต่ดึงขึ้นมาแล้วปรากฎว่าข้อมูลไม่ขึ้นแต่ขึ้น error แทน ช่วยดูให้หน่อยนะครับ
ปล. เป็นงานที่อาจารย์มอบหมายให้นะครับ แต่เค้าไม่สอนไม่อะไรเลย สั่งมาให้ทำ แล้วแก้เอง ผมก็ทำไปงงไป เยอะเลยครับ
ServiceServer.php
<?
require_once("lib/nusoap.php"); //ต้องอ้างตำแหน่งของไฟล์ Library ของ NuSOAP ให้ถูกต้องด้วย
//Create a new soap server
$server = new soap_server();
//Define our namespace
$namespace = "http://127.0.0.1/Site/webSeries/content/service/ServiceServer.php";
$server->wsdl->schemaTargetNamespace = $namespace;
//Configure our WSDL
$server->configureWSDL("getServiceProduct");
//Add ComplexType
$server->wsdl->addComplexType(
'DataList',
'complexType',
'struct',
'all',
'',
array(
'serviceID' => array('name' => 'serviceID', 'type' => 'xsd:string'),
'serviceName' => array('name' => 'serviceName', 'type' => 'xsd:string'),
'serviceDesc' => array('name' => 'serviceDesc', 'type' => 'xsd:string'),
'servicePrize' => array('name' => 'servicePrize', 'type' => 'xsd:string'),
'serviceQuantity' => array('name' => 'serviceQuantity', 'type' => 'xsd:string'),
'serviceIDType' => array('name' => 'serviceIDType', 'type' => 'xsd:string')
)
);
//Add ComplexType
$server->wsdl->addComplexType(
'DataListResult',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:DataList[]')
),
'tns:DataList'
);
//Register our method and argument parameters
$varname = array(
'strServiceIDType' => "xsd:string"
);
// Register service and method
$server->register('resultServiceProduct', // method name
$varname, // input parameters
array('return' => 'tns:DataListResult'));
function resultServiceProduct($strServiceIDType)
{
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("centerdb");
$strSQL = "SELECT * FROM maincenter WHERE 1 AND serviceIDType like '%".$strServiceIDType."%' ";
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die (mysql_error());
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
return $resultArray;
}
// Get our posted data if the service is being consumed
// otherwise leave this data blank.
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
// pass our posted data (or nothing) to the soap service
$server->service($POST_DATA);
exit(); ?>
ServiceClient.php
<html>
<head>
<title>.: Service From Network Shop :.</title>
</head>
<body>
<form name="frmMain" method="post" action="">
<h2>Search Network Product</h2>
Search by Type of Product :
<select id="txtTypeProductID" name="txtTypeProduct">
<option value="01">เครือข่ายแบบสาย (Wired)</option>
<option value="02">เครือข่ายแบบไร้สาย (Wireless)</option>
<option value="03">อุปกรณ์ 3G (3G Devices)</option>
<option value="04">โทรศัพท์แบบไอพี (VOIPs)</option>
<option value="05">สายนำสัญญาณ (Cables)</option>
<option value="06">เสาอากาศ (Antennas)</option>
<option value="07">กล้องวิดีโอ (Cameras)</option>
<option value="08">ฮาร์ดไดร์ฟ (Hard Drives)</option>
<option value="09">ซอฟท์แวร์ (Software)</option>
<option value="10">อุปกรณ์ต่อพ่วง (Accessories)</option>
<option value="11">อุปกรณ์ป้องกันไฟฟ้า (PP)</option>
</select>
<input type="submit" name="Submit" value="Submit">
</form>
<?
if($_POST["txtTypeProduct"] != "")
{
include("lib/nusoap.php"); //ต้องอ้างตำแหน่งของไฟล์ Library ของ NuSOAP ให้ถูกต้องด้วย
$client = new nusoap_client("http://127.0.0.1/Site/webSeries/content/service/ServiceServer.php?wsdl",true);
$params = array(
'strServiceIDType' => $_POST["txtTypeProduct"]
);
$data = $client->call('resultServiceProduct', $params);
//echo '<pre>';
//var_dump($data);
//echo '</pre><hr />';
if(count($data) == 0)
{
echo "Not found data!";
}
else
{
$keywordSearch="";
switch($_POST["txtTypeProduct"]){
case "01": $keywordSearch="เครือข่ายแบบสาย (Wired)"; break;
case "02": $keywordSearch="เครือข่ายแบบไร้สาย (Wireless)"; break;
case "03": $keywordSearch="อุปกรณ์ 3G (3G Devices)"; break;
case "04": $keywordSearch="โทรศัพท์แบบไอพี (VOIPs)"; break;
case "05": $keywordSearch="สายนำสัญญาณ (Cables)"; break;
case "06": $keywordSearch="เสาอากาศ (Antennas)"; break;
case "07": $keywordSearch="กล้องวิดีโอ (Cameras)"; break;
case "08": $keywordSearch="ฮาร์ดไดร์ฟ (Hard Drives)"; break;
case "09": $keywordSearch="ซอฟท์แวร์ (Software)"; break;
case "10": $keywordSearch="อุปกรณ์ต่อพ่วง (Accessories)"; break;
case "11": $keywordSearch="อุปกรณ์ป้องกันไฟฟ้า (PP)"; break;
}
echo "<H3>".$keywordSearch."</H3>";
foreach ($data as $result) {
?>
<? $image=$result["serviceID"].".gif"; ?>
<div class="row-fluid" id="serviceResult">
<div class="span4" id="serviceResultPicture">
<IMG SRC="http://127.0.0.1/Site/webSeries/images/product/<?=$image;?>" WIDTH="200" HEIGHT="200">
</div>
<div class="span8" id="serviceResultPicture">
<FONT>ID : </FONT><?=$result["serviceID"];?> <BR>
<FONT>Name : </FONT><?=$result["serviceName"];?> <BR>
<FONT>Description : </FONT><?=$result["serviceDesc"];?> <BR>
<FONT>Prize : </FONT><?=$result["servicePrize"];?> <BR>
<FONT>Quantity : </FONT><?=$result["serviceQuantity"];?> <BR>
</div>
</div>
<HR>
<? }}}
?>
</body>
</html>
เกิด error ดึงข้อมูลขึ้นมาไม่ได้เลย
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2014-10-28 18:59:24 2014-10-28 18:59:55 2014-10-28 19:00:43
|
|
|
|
|
Date :
2014-10-28 18:58:26 |
By :
l3ios |
View :
862 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
var_dump($data);
ได้ค่าอะไรครับ
|
|
|
|
|
Date :
2014-10-28 20:29:02 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ค่า bool(false) มาครับ
|
|
|
|
|
Date :
2014-10-28 20:50:42 |
By :
l3ios |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แสดงว่ามันดึง Web Services ไมไ่ด้ตั้งแต่แรกครับ
|
|
|
|
|
Date :
2014-10-29 08:45:55 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$client = new nusoap_client("http://127.0.0.1/Site/webSeries/content/service/ServiceServer.php?wsdl",true);
ได้ครับแล้ว พอดีระบุ url ที่กำหนดไว้ในส่วนของ server ผิด
|
|
|
|
|
Date :
2014-10-29 12:03:13 |
By :
l3ios |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|