multiple rows return ?

3 views
Skip to first unread message

Alex

unread,
Jul 4, 2009, 1:07:37 PM7/4/09
to phpsoa
Hi all,

I have not found any examples that handle multiple rows of data
returned from database. Anyone can please show me an example? What I
have is this

I have a service that returns multiple rows of result from a database
query, for example

SELECT employeeID, employeeName, employeeAddress FROM EMPLOYEE;

Say the returned result is

1 | John | One Road
2 | Mark | Two Road
3 | Luke | Three Road

How can I represent that in xsd and how those results are going to put
into the array to return the result from the services and at the
client side getting and displaying these results?

Thanks in advance for any help.

Dalibor Andzakovic

unread,
Jul 5, 2009, 4:40:18 PM7/5/09
to php...@googlegroups.com
One way you could achieve this is:

XSD:

<xsd:complexType name="EmployeeList">
<xsd:sequence>
<xsd:element name="Employee" type="EmployeeList_T" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="EmployeeList_T">
<xsd:sequence>
<xsd:element name="employeeID" type="xsd:integer" />
<xsd:element name="employeeName" type="xsd:string" />
<xsd:element name="employeeAddress" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>

PHP

$sth = $this->PDO->prepare("SELECT employeeID, employeeName, employeeAddress FROM EMPLOYEE;");
$sth->execute();

$employeeList = SCA::createDataObject('your/xsd/namespace', 'EmployeeList');

while($row = $sth->fetch(PDO::FETCH_OBJ)){
$employee = $employeeList->createDataObject('Employee');
$employee->employeeID = $row->employeeID;
$employee->employeeName = $row->employeeName;
$employee->employeeAddress = $row->employeeAddress;
}

There is probably a nicer way to merge the resulting row object into the SDO object, but you get the idea.

HTH

dali
Reply all
Reply to author
Forward
0 new messages