PHP Classes

File: example.php

Recommend this page to a friend!
  Classes of François NEUMANN-RYSTOW   SQL Parse Convert to Tree Array   example.php   Download  
File: example.php
Role: Example script
Content type: text/plain
Description: show how to use the class
Class: SQL Parse Convert to Tree Array
Build a tree to represent an SQL query
Author: By
Last change: Accessible without user login
Date: 16 years ago
Size: 1,582 bytes
 

Contents

Class file image Download
<?php
/**
* Author : NEUMANN-RYSTOW François <kalachnkv@free.fr>
* Date : 23 Oct, 2008
* Purpose : Usage example of dqml2tree class
*/

require 'dqml2tree.php';

// simple query
$sql_query = "SELECT field1, field2 FROM table WHERE field3='val1' AND field4=5 OR field5='val2';";

$query2tree = new dqml2tree($sql_query);
$sql_tree = $query2tree->make();

print_r($sql_tree);


// complex query
$sql_query = 'SELECT

*,
(SELECT avg(field1), field2 as alias1, field3, field4 FROM table1 WHERE field1=table2.field2) as query_field1

FROM
table3,
table4,
((table5 AS alias6
LEFT JOIN table6 ON table5.field5=table6.field5)
INNER JOIN table7 ON table6.field5=table7.field5)
OUTER JOIN table8 ON table7.field5=table8.field5
JOIN table9 ON table8.field5=table9.field5

WHERE
field5 IN (SELECT field5 FROM table10 WHERE field6=\'y\')
AND
field7=\'SELECT field8 FROM table11 WHERE field9 LIKE \'\'%plo\'\'\'\'ppy%\'\' AND field9 LIKE \'\'%WORD (OTHER WORD) IN LETTER\'\'\'\'NAMES\'\'\'
OR
field8 IS NOT NULL
OR
field9 IS NULL
AND
field10>=\'value1\'


UNION

SELECT *, (SELECT max(field11), field12 FROM table12 WHERE field13=table13.field13) as field_alias1
FROM table13
WHERE field14=\'n\' AND (field15<=field16 AND field17=field18)


GROUP BY field19, field20
HAVING count(*)>0 AND avg(field1)=1 OR max(field1)<10

INTERSECT SELECT * FROM table15


ORDER BY field1 ASC, field21 DESC
LIMIT 10
OFFSET 100
'
;


$query2tree = new dqml2tree($sql_query);
$sql_tree = $query2tree->make();

print_r($sql_tree);

?>