note 102689 added to refs.database

From: Date: Mon, 28 Feb 2011 23:36:57 +0000
Subject: note 102689 added to refs.database
Groups: php.notes 
Request: Send a blank email to php-notes+get-177423@lists.php.net to get a copy of this message
This is an example to create SQL query commands automatically by setting options. <?php // Set required parameters here. // The order of setting determines the order of constructing options. $options = array( "SELECT" => array('item1', "item2"), "FROM" => 'table', "WHERE" => array("visible = 1", 'param > 3'), "LIMIT" => array(2, 5) ); // Each command can have different separator strings. // default: " " (white space) // for example : [ WHERE visible = 1 param > 3 ] to [ WHERE visible = 1 AND param > 3 ] $separators = array( "AND" => "WHERE", "," => array("SELECT", 'LIMIT') ); echo "<pre>"; echo queryGenerate($options, $separators); echo "</pre>"; // output: // SELECT item1 , item2 FROM table WHERE visible = 1 AND param > 3 LIMIT 2 , 5 function queryGenerate($options = array(), $separators = array()) { $sql = ""; if(is_array($options) && is_array($separators)) { foreach ($options as $command => $param) { if(is_array($param)) { $separateCode = null; foreach ($separators as $separator => $words) { if(is_array($words)) { for ($i = 0, $count = count($words); $i < $count; $i++) { if(stripos($words[$i], $command) !== false) { $separateCode = $separator; } } } else { if(stripos($words, $command) !== false) { $separateCode = $separator; } } } $sql .= "{$command} "; for ($i = 0, $count = count($param); $i < $count; $i++) { if($i > 0) { $sql .= ($separateCode === null) ? " " : " {$separateCode} "; } $sql .= "{$param[$i]}"; } $sql .= " "; } else { $sql .= "{$command} {$param} "; } } } return $sql; } ?> ---- Server IP: 69.147.83.197 Probable Submitter: 113.146.110.135 ---- Manual Page -- http://www.php.net/manual/en/refs.database.php Edit -- https://master.php.net/note/edit/102689 Del: integrated -- https://master.php.net/note/delete/102689/integrated Del: useless -- https://master.php.net/note/delete/102689/useless Del: bad code -- https://master.php.net/note/delete/102689/bad+code Del: spam -- https://master.php.net/note/delete/102689/spam Del: non-english -- https://master.php.net/note/delete/102689/non-english Del: in docs -- https://master.php.net/note/delete/102689/in+docs Del: other reasons-- https://master.php.net/note/delete/102689 Reject -- https://master.php.net/note/reject/102689 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#177423) next »