Login   Register  
PHP Classes
elePHPant
Icontem

File: complex_example.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Arturs Sosins  >  Phones Complete class  >  complex_example.php  >  Download  
File: complex_example.php
Role: Example script
Content type: text/plain
Description: Interaction with more complex search form
Class: Phones Complete class
Query information of devices from Phones Complete
Author: By
Last change: credits changed
Date: 2011-04-25 13:05
Size: 4,050 bytes
 

Contents

Class file image Download
<?php
/************************************************************* 
 * This script is developed by Arturs Sosins aka ar2rsawseen, http://webcodingeasy.com 
 * Fee free to distribute and modify code, but keep reference to its creator 
 * 
 * This class can create user friendly interface to browse 
 * PhonesComplete user generated mobile phone database
 * and perform searches for different phone models 
 * based on parameter values using PhonesComplete API
 * 
 * For more information, examples and online documentation visit:  
 * http://webcodingeasy.com/PHP-classes/Phones-Complete-class
**************************************************************/

//declaring class instance
include("./mobile.class.php");
$mob = new mobile_phones();

if(isset(
$_POST['search']))
{
    
//excluding post search data from request url
    
$ex[0] = 'search';
    
    
//making url from post data including array from to values
    
$url $mob->make_url($_POST$ex);
    
//performing search using constructed url
    
$phones $mob->search($url);
    
//outputing result
    
foreach($phones as $phone)
    {
        echo 
"<p><a href='?model=".$phone['cached_slug']."'>".$phone['brand']." ".$phone['name']."</a></p>";
    }
}


if(isset(
$_GET['model']))
{
    
//getting information about specific model using cached_slug parameter
    
$arr $mob->get_phone($_GET['model']);
    echo 
"<pre>";
    
print_r($arr);
    echo 
"</pre>";
}
/******************************************************/
/*arrays for user interface form*/
//array with paremeters which to exclude from form
$exclude = array("age""cached_slug""created_at""id""phone_image_content_type""phone_image_file_name""phone_image_file_size""phone_image_updated_at""updated_at""phone_image_url""phone_image_thumb_url""phone_image_medium_url");

//array with paremeters for select user input
$select = array("bluetooth""brand""camera_flash""gps");

//array with paremeters for radio buttons user input
$radio = array("a2dp""edge""edr""frequency_1800""frequency_1900""frequency_2100""frequency_850""frequency_900""full_keyboard""hsdpa""gprs""lte""mini_jack""radio""touchscreen""umts""usb""wlanb""wlang");

//array with parameters for from to length
$from_to = array("width""depth""height""internal_memory""standby_time""talk_time""weight");
/******************************************************/

//creating form
$arr $mob->get_param_list();
echo 
"<form action='' method='post'>";
echo 
"<table border='1' cellpadding='5'>";
foreach(
$arr as $key => $val)
{
    
//excluding unwanted elements
    
if(!in_array($val$exclude))
    {
        echo 
"<tr>";
        
//creating select elements
        
if(in_array($val$select))
        {
            echo 
"<td>".$val."</td><td><select name='".$val."'>";
            echo 
"<option value=''></option>";
            
$parvals$mob->get_all_values($val);
            foreach(
$parvals as $pv)
            {
                echo 
"<option value='".$pv."'>".$pv."</option>";
            }
            echo 
"</select></td>";
        }
        
//creating radio buttons
        
else if(in_array($val$radio))
        {
            echo 
"<td>".$val."</td><td>";
            echo 
"<p><input type='radio' name='".$val."' value=''/> whatever</p>";
            
$parvals$mob->get_all_values($val);
            foreach(
$parvals as $pv)
            {
                echo 
"<p><input type='radio' name='".$val."' value='".$pv."'/> ".$pv."</p>";
            }
            echo 
"</td>";
        }
        
//creating from to values search input
        
else if(in_array($val$from_to))
        {
            echo 
"<td>".$val."</td>";
            echo 
"<td>from: <input type='text' name='".$val."[]' size='4'/> to: <input type='text' name='".$val."[]' size='4'/></td>";
        }
        
//else simple textboxes for string search
        
else
        {
            echo 
"<td>".$val."</td><td><input type='text' name='".$val."' ";
            if(isset(
$_POST[$val]))
            {
                echo 
"value='".$_POST[$val]."'";
            }
            echo 
"/></td>";
        }
        echo 
"</tr>";
    }
}
echo 
"<input type='hidden' name='search'/>";
echo 
"<tr><td colspan='2' align='center'><input type='submit' value='Search'/></td></tr>";
echo 
"</table>";
echo 
"</form>";
    
?>