Login   Register  
PHP Classes
elePHPant
Icontem

File: examples/ptcquerybuilder-ex1.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Carlo Pietrobattista  >  PHP PDO Fluent Query Builder  >  examples/ptcquerybuilder-ex1.php  >  Download  
File: examples/ptcquerybuilder-ex1.php
Role: Example script
Content type: text/plain
Description: preparing queries example
Class: PHP PDO Fluent Query Builder
Build and run SQL queries with a fluent interface
Author: By
Last change:
Date: 2014-01-07 05:50
Size: 4,909 bytes
 

Contents

Class file image Download
<?php

    
/* 
    * EXAMPLE 1 FILE FOR PTCQUERYBUILDER CLASS, PREPARING QUERIES FOR LATER USAGE
    * ALL QUERIES THAT ARE PREPARED WITH THE QUERYBUILDER, NEED PLACE HOLDERS
    * TO SEE THE QUERIES EXECUTED REFER TO PTCQUERYBUILDER-EX2.PHP EXAMPLE FILE
    */
    
    
require_once( '../PtcQueryBuilder.php' ); // including the query builder component
    
    
    
$qb = new PtcQueryBuilder( );    // initializing the class
    
    
    /* SELECT ALL RECORDS */
    
$query $qb->table'test_table' )->prepare( );


    
/* SELECT WITH COLUMNS SPECIFIED */
    
$query_with_columns $qb->table'test_table' )
                            ->
select'some_column as test' )
                            ->
prepare( );

    
    
/* SELECT WITH A WHERE CLAUSE  */
    
$query_where $qb->table'test_table' )
                    ->
where'field1' '=' ':value' )
                    ->
prepare( );


    
/* SELECT WITH WHERE OR WHERE CLAUSE */
    
$query_where1 $qb->table'test_table' )
                       ->
where'field1' '=' ':value1' )
                       ->
or_where'field2' '=' ':value2' // adds "OR" to the query
                      //->where( 'field2' , '=' , ':value3' ) // adds "AND" to the query 
                       
->prepare( );

    
    
/* SELECT WITH LIMIT, GROUP BY, ORDER AND LIMIT */
    
$query_where2 $qb->table'test_table' )
                     
//->group( 'field1' ) // group by method
                       
->order'field1' 'desc' )
                       ->
limit':start' ':end' // place holders are used for limit
                       
->prepare( );

    
    
/* INSERT */
    
$fields = array( 'field1' => ':value1' 'field2' => ':value2' ,'field3' => ':value3' ); 
    
$query_insert $qb->table'test_table' )->insert$fields )->prepare( );

    
    
/* UPDATE BASED ON ID */
    
$fields = array( 'field1' => ':value1' 'field2' => ':value2' ); 
    
$query_update $qb->table'test_table' )
                    ->
update$fields ':id' )
                    ->
prepare( );


    
/* UPDATE BASED ON A WHERE CLAUSE */
    
$fields = array( 'field1' => ':value1' 'field2' => ':value2' );
    
$query_update1 $qb->table'test_table' )
                        ->
where'field2' '=' ':value3' )
                        ->
update$fields )->prepare( );


    
/* DELETE BASED ON ID */
    
$query_delete $qb->table'test_table' )->delete':id' )->prepare( );

    
    
/* DELETE BASED ON WHERE CLAUSE */
    
$query_delete1 $qb->table'test_table' )
                       ->
where'field1' '=' ':value' )
                       ->
delete( )
                       ->
prepare( );

    
    
/* ADDING A RAW VALUE INSTEAD OF A PLACE HOLDER , RAW( ) CAN BE USED */
    
$query_raw $qb->table'test_table' )
                    ->
where'field1' '!=' $qb->raw'NOW()' ) )
                    ->
prepare( );


    
/* JOINING TABLES , REPLACE "left_" WITH THE TYPE OF JOIN YOUR ARE LOOKING FOR */
    
$query_join $qb->table'test_table' )
                    ->
left_join'test_table1' 'test_table.id' '=' ,  'test_table1.id' )
                    ->
prepare( );


    
/* SELECT WITH WHERE BETWEEN CLAUSE */
    
$query_between $qb->table'test_table' )
                         ->
where_between'field3' ':value1' ':value2' )
                       
//->where_not_between( 'field3' , ':value1' , ':value2' )
                       //->or_where_between( 'field3' , ':value1' , ':value2' )
                      // ->or_where_not_between( 'field3' , ':value1' , ':value2' )
                         
->prepare( );


    
/* SELECT WITH WHERE IN CLAUSE */
    
$query_in $qb->table'test_table' )
                       ->
where_in'field3' , array( ':1' ':2' ) )
                       
//->where_not_in( 'column' , array( ':1' , ':2' ) )
                       //->or_where_in( 'column' , array( ':1' , ':2' ) )
                       //->or_where_not_in( 'column' , array( ':1' , ':2' ) )
                       
->limit':limit' )
                       ->
prepare( );
    
    
    
/* COMPLICATED WHERE CLAUSE, USING CLOSURES */
    
$query_where3 $qb->table'test_table' )
        ->
where'field1''!='':value1' )
        ->
or_where( function( $query // will generate " OR ( field3 > 10 AND field3 < 100 )
        
{
            
$query->where'field3''>'':value2' )
                   ->
where'field3' '<',  ':value3' );
        } )->
prepare( );
        

    
/* COMPLICATED JOIN CLAUSE, USING CLOSURES */
    
$query_join1 $qb->table'test_table' )
                        ->
left_join'test_table1' , function( $join )
                       {
                        
$join->on(  'test_table.id' '=' ,  'test_table1.id' )
                            
//->or_on(  'test_table.id' , '=' ,  'test_table1.id' )
                            
->on(  'test_table.id' '=' ,  'test_table1.id' );
                        })->
prepare( );


    if ( !isset( 
$running ) ) // preventing the example 1 file to print the queries if example 2 file is used
    

        
/* PRINTING THE PREPARED STATEMENTS */
        
print $query '<br><br>';
        print 
$query_with_columns '<br><br>';
        print 
$query_where '<br><br>';
        print 
$query_where1 '<br><br>';
        print 
$query_where2 '<br><br>';
        print 
$query_insert '<br><br>';
        print 
$query_update '<br><br>';
        print 
$query_update1 '<br><br>';
        print 
$query_delete '<br><br>';
        print 
$query_delete1 '<br><br>';
        print 
$query_raw '<br><br>';
        print 
$query_join '<br><br>';
        print 
$query_between '<br><br>';
        print 
$query_in '<br><br>';
        print 
$query_where3 '<br><br>';
        print 
$query_join1 '<br><br>';
    }
    
    
// REFER TO PTCQUERYBUILDER-EX2.PHP FILE TO SEE THE QUERIES EXECUTED