|
[x]
Posted via EE Mobile
|
||
Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again. |
||
| Question |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: |
<?php
class db { //handles database connections
private $hostname;
private $username;
private $password;
private $select_db;
private $connection;
public function __construct() {
$this -> hostname = "[hostname]";
$this -> username = "[username]";
$this -> password = "[password]";
$this -> select_db = "[database]";
}
public function open_connection() {
try {
$this -> connection = mysql_connect($this -> hostname, $this -> username, $this -> password);
$this -> select_db = mysql_select_db($this -> select_db);
}
catch (exception $e)
{return $e;}
}
public function close_connection() {
try { mysql_close ($this -> connection); }
catch(exception $e)
{return $e;}
}
} //end class
/* ******* ******* ******* ******* ******* ******* */
class query {
public $num_results;
public $result = array();
function __construct() {
$conn = new db;
$conn -> open_connection();
}
public function select($table, $rows = '*', $where = null, $order = null) { //runs select query using specified parameters
$sql = 'SELECT '.$rows.' FROM '.$table; //build up the query
if($where != null)
$sql .= ' WHERE '.$where; //...
if($order != null)
$sql .= ' ORDER BY '.$order; //...
if($query = mysql_query($sql)) { //check query is OK, or return false
$this -> num_results = mysql_num_rows($query); //get number of rows
for($i = 0; $i < $this -> num_results; $i++) {
$r = mysql_fetch_array($query);
$key = array_keys($r);
for($x = 0; $x < count($key); $x++) { // Sanitizes keys so only alphavalues are allowed
if(!is_int($key[$x])) { //if the array key isn't a number...
if($this -> num_results > 1) //...and there's more than one row
$this -> result[$i][$key[$x]] = $r[$key[$x]]; //set $result array to $result[incr. number][column name]
else if($this -> num_results < 1) //or there's no rows
$this->result = null; //set result to null
else //or there's only 1 row
$this->result[$key[$x]] = $r[$key[$x]]; //set $result array to $result[column name]
}
}
}
return true;
}
else {return false;}
} //end function
} //end class
/* ******* ******* ******* ******* ******* ******* */
class table {
public $table;
public function __construct() {
;
}
public function add_header($header) { //takes an array and converts to table header
$this -> table .= "<tr>\n";
foreach($header as $cell)
$this -> table .= "<th>$cell</th>\n";
$this -> table .= "</tr>\n";
}
public function add_rows($data) {
if($data[0]) { //checks if multidimensional array has been passed (i.e more than 1 row returned)
foreach($data as $row) { //loops through all arrays. $row remains an array because of multidimensional array input
$this -> table .= "<tr>\n";
foreach ($row as $cell) { //takes $row array and runs loop to extract actual data as $cell
$this -> table .= "<td>$cell</td>\n";
}
$this -> table .= "</tr>\n";
}
} //end if
else { //this runs if the array passed was one-dimensional
$this -> table .= "<tr>\n";
foreach($data as $cell) {
$this -> table .= "<td>$cell</td>\n";
}
$this -> table .= "</tr>\n";
} //end else
} //end function
public function show_table() { //takes the $table variable containing all the table cells, puts <table> tag either side, and returns it.
return "<table>\n" . $this -> table . "</table>\n" ;
} //end function
} //end class
?>
EXAMPLE CODE - for generating a results table from a search form
<?php
if(isset($_POST['search'])) {
$search = $_POST['search'];
$cust_search = new query(); //new query object
$cust_search -> select('customer', 'customer_id, first_name, last_name, address_c_city, address_c_state', "first_name LIKE '%$search%' OR last_name LIKE '%$search%'"); //execute select statement with enclosed parameters
if($cust_search -> num_results == 0) echo "<div class='row w100'><p>No customers found.</p></div>"; //output if no customers found
$cust_table = new table(); //create new table object
$cust_table -> add_header( array("ID","First Name","Last/Co. Name","City","Region") ); // set header row
$cust_table -> add_rows($cust_search -> result); //run add_rows function with the search result passed as an array
echo $cust_table -> show_table(); //output table
|
Advertisement
| Hall of Fame |