Change numeric array keys into $variable - php

I was wondering if anyone could help with a conceptual issue I'm having, or if there is a better way.
Basically I am searching my database for an array of terms through a search bar.
I have a function that loops through each term and then uses that for a search. It puts everything in an array and returns the array that is then processed into a table.
The search works fine, I put in the terms and it loops through them pushing the rows into an array. Now because I am pushing into different Arrays, the parent Array I Have has indexed keys, I want to change that to be keys of the terms and in the array there are two other arrays 1 for the number of results and another for the results.
// Search index php
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>
<body>
<div id="search">
<form id= "search" action="searchresults.php" method="POST">
<input type="text" name="txtsearch" size="30" id="txtsearch">
<input type="submit" name="srchbtn" id="srchbtn">Search</button>
</form>
</body>
</html>
//Search PHP
<?php
include_once "iud.php";
$arrayval = array();
if(isset($_POST['txtsearch'])){
$search=$_POST['txtsearch'];
}else{
$search = '';
}
$search1 = explode(" ", $search);
array_push($arrayval, $search1);
$combined = array();
foreach ($arrayval as $val){
$orIndex = checkOr($val);
if(empty($orIndex)){
$valcntr = count($val);
$results = getResults($val);
print_r($results);
}
}
function getResults($array){
include_once "iud.php";
$db = connectDatabase();
$totalResults = array();
$length = count($array);
for ($i = 0; $i < $length; $i++){
$outputDisplay = "";
$myrowcount = 0;
$sql_statement = "SELECT userid, username, firstname, lastname ";
//, congroup, cattype, company, position, email, website, phone, mphone, wphone, fax, add1, add2, city, state, zip, country, reference, entrydate, enteredby, notes ";
$sql_statement .= "FROM userlist ";
$sql_statement .= "WHERE (firstname LIKE '%$array[$i]%' or lastname LIKE '%$array[$i]%')";
$sql_statement .= "ORDER BY lastname, firstname";
$sqlResults = selectResults($db, $sql_statement);
$error_or_rows = $sqlResults['resultNum'];
if (substr($error_or_rows, 0 , 5) == 'ERROR')
{
$outputDisplay .= "<br />Error on DB";
$outputDisplay .= $error_or_rows;
} else {
array_push($totalResults, $sqlResults);
$arraySize = $error_or_rows;
}
}
return ($totalResults);
}
function buildTable($totalResults){
include_once "iud.php";
$outputDisplay = "";
$outputDisplay .= '<div id="resultstable">';
$outputDisplay .= '<ul id="results">';
$myrowcount = 0;
for ($i=0; $i < count($totalResults); $i++)
{
$myrowcount++;
$contactid = $totalResults[$i]['userid'];
$firstname = $totalResults[$i]['firstname'];
$lastname = $totalResults[$i]['lastname'];
$pcat = $totalResults[$i]['username'];
$outputDisplay .= '<li id='.$contactid.' class="indRes" ';
$outputDisplay .= 'name="'.$contactid.'" >';
$outputDisplay .= '<span style="font-size:10px;cursor:pointer" onclick="getContactsToForm();">';
$outputDisplay .= '<h3>'.$firstname.' ' .$lastname. '</h3>';
$outputDisplay .= '</span>';
$outputDisplay .= '</li>';
}
$outputDisplay .= '</ul>';
$outputDisplay .= "</div>";
return $outputDisplay;
}
function checkOr($searchArray){
if (in_array("OR",$searchArray)){
$orPos = array_search("OR", $searchArray);
if (!empty($orPos)){
$surrVal = "";
$surrVal = --$orPos;
$orValArray = array();
array_push($orValArray,$searchArray[$surrVal]);
$surrVal = $orPos+2;
array_push($orValArray,$searchArray[$surrVal]);
return $orValArray;
}
}
}
?>
//common functinos IUD
<?php
function connectDatabase()
{
$db = mysqli_connect('localhost','root','');
if (!$db)
{
print "<h1>Unable to Connect to mysqli</h1>";
}
$dbname = 'test';
$btest = mysqli_select_db($db, $dbname);
if (!$btest)
{
print "<h1>Unable to Select the Database</h1>";
}
return $db;
}
function selectResults($db, $statement)
{
$output = "";
$outputArray = array();
$db = connectDatabase();
if ($db)
{
$result = mysqli_query($db, $statement);
if (!$result) {
$output .= "ERROR";
$output .= "<br /><font color=red>mysqli No: ".mysqli_errno();
$output .= "<br />mysqli Error: ".mysqli_error();
$output .= "<br />SQL Statement: ".$statement;
$output .= "<br />mysqli Affected Rows: ".mysqli_affected_rows()."</font><br />";
array_push($outputArray, $output);
} else {
$numresults = mysqli_num_rows($result);
$outputArray['resultNum'] = $numresults;
for ($i = 0; $i < $numresults; $i++)
{
$row = mysqli_fetch_array($result);
$outputArray["rowArray"] = $row;
}
}
} else {
array_push($outputArray, 'ERROR-No DB Connection');
}
return $outputArray;
}
function iduResults($db, $statement)
{
$output = "";
$outputArray = array();
$db = connectDatabase();
if ($db)
{
$result = mysqli_query($db, $statement);
if (!$result) {
$output .= "ERROR";
$output .= "<br /><font color=red>mysqli No: ".mysqli_errno();
$output .= "<br />mysqli Error: ".mysqli_error();
$output .= "<br />SQL Statement: ".$statement;
$output .= "<br />mysqli Affected Rows: ".mysqli_affected_rows()."</font><br />";
} else {
$output = mysqli_affected_rows();
}
} else {
$output = 'ERROR-No DB Connection';
}
return $output;
}
?>
My search returns an array that when printed looks like this:
Array(
[0]=>Array
(
[resultNum]=>1
[rowArray]=>Array(
[0]=>1
[userid]=>1
etc
)
)
[1]=>Array
(
[resultNum]=>1
[rowArray]=>Array(
[0]=>2
[userid]=>2
etc
)
)
I want to make the two outer arrays' keys [0],[1] into the search terms that are used in the loop through the getResults($array) function.
Any ideas?

Change
array_push($totalResults, $sqlResults);
to:
$totalResults[$array[$i]] = $sqlResults;
to make it an associative array instead of an indexed array.
P.S. you should learn to use foreach to loop over array elements, and use prepared statements to prevent SQL injection.
Also, selectResults() is only returning the last row of the query. It should be:
} else {
$numresults = mysqli_num_rows($result);
$outputArray['resultNum'] = $numresults;
$outputArray['rowArray'] = array();
for ($i = 0; $i < $numresults; $i++)
{
$row = mysqli_fetch_array($result);
array_push($outputArray["rowArray"], $row);
}
so that it returns all the rows instead of overwriting rowArray each time through the loop.

Related

PHP - SQL query only shows last result

This only returns the last one of my rows:
<?php
function all_infos_query() {
global $connection;
$query = "SELECT * ";
$query .= "FROM pages ";
$query .= "JOIN subjects ";
$query .= "ON pages.subject_id=subjects.id";
$infos_set = mysqli_query($connection, $query);
confirm_query($infos_set);
return $infos_set;
}
function infos_content() {
$infos_set = all_infos_query();
while($info = mysqli_fetch_assoc($infos_set)) {
$output = htmlentities($info["content"]);
$output .= " <br><br>";
}
mysqli_free_result($infos_set);
return $output;
}
?>
<?php echo infos_content() ?>
If I echo it like this it works (returns all rows):
<?php
$result = all_infos_query();
if($result === FALSE) {
echo "query failed: " . mysqli_error($connection);
}
else {
while($row = mysqli_fetch_array($result)) {
echo htmlentities($row['content']);
echo "<br><br>";
}
}
?>
What do I have to change in the function infos_content() to also get all the rows?
Thanks a lot!
This is because you redefine $ouput for every result
while($info = mysqli_fetch_assoc($infos_set)) {
$output = htmlentities($info["content"]);
$output .= " <br><br>";
Instead, create $ouput outside the loop and append to it..
$output ='';
while($info = mysqli_fetch_assoc($infos_set)) {
$output .= htmlentities($info["content"]);
$output .= " <br><br>";

possible ?: mysql row to an if condition

hi guys im trying to insert a mysql data to a variable that will set an if condition depending on the result. is this possible, am i doing it right? what is the right way to do it ? what i want to achieve is to validate if there's a equal value given by the user inside my mysql rows.
$db = mysql_connect('localhost','test','');
if (!$db)
{
print "<h1>Unable to Connect to MySQL</h1>";
}
$dbname = 'test';
$btest = mysql_select_db($dbname);
if (!$btest)
{
print "<h1>Unable to Select the Database</h1>";
}
$sql_statement = "SELECT * ";
$sql_statement .= "FROM registered_email ";
$result = mysql_query($sql_statement);
$outputDisplay = "";
$myrowcount = 0;
if (!$result) {
$outputDisplay .= "<br /><font color=red>MySQL No: ".mysql_errno();
$outputDisplay .= "<br />MySQL Error: ".mysql_error();
$outputDisplay .= "<br />SQL Statement: ".$sql_statement;
$outputDisplay .= "<br />MySQL Affected Rows: ".mysql_affected_rows()."</font><br />";
}
else{
$numresults = mysql_num_rows($result);
for ($i = 0; $i < $numresults; $i++)
{
$row = mysql_fetch_array($result);
$id = $row['id'];
$sentEmailClients = $row['email'];
$outputDisplay.= "".$sentEmailClients."<br />";
}
}
and here what im trying to achieve, btw is $clientEmail has a default values so dont worry about that.
if($clientEmail === $outputDisplay){
...... some codes..........
}
else{
....... some codes.......
}
you can use mysql row to compare with your user input. you can add condition, while you'r getting row value for the email inside the loop.
$email_exist = 0;//define the default value.
for ($i = 0; $i < $numresults; $i++)
{
$row = mysql_fetch_array($result);
$id = $row['id'];
$sentEmailClients = $row['email'];
$outputDisplay.= "".$sentEmailClients."<br />";
//my code start here
if($sentEmailClients == $clientEmail)
$email_exist = 1;
}
//outside the loop
if($email_exist == 1) {
//..........write some code.......
}else{
//........write some code.......
}
why don't you use a while loop?
make sure to update to mysqli_* because mysql_* is deprecated and is going to get removed on php 7.0
$email_exist = 0;//define the default value.
while ( $row = mysql_fetch_assoc($result) ) // you are using associative array and not the indexed once tho you should go for mysql_fetch_assoc
{
$id = $row['id'];
$sentEmailClients = $row['email'];
$outputDisplay.= "".$sentEmailClients."<br />";
//my code start here
if($sentEmailClients == $clientEmail)
$email_exist += 1; //maybe it exist more than once?
}
//outside the loop
if($email_exist == 1) {
//..........write some code.......
}else{
//........write some code.......
}
or you can do something more simple like this
$query = "select email from tablename where email='$clientemail'";
$result = mysql_query($query);
$count = mysql_num_rows($result);
if($count > 0) {
// email exists
} else {
// doesn't exist
}

Displaying MySQL results in two columns (editing existing code)

I have been asked to revise an existing site, it's still using PHP5.3 and an old version of PHPmyDirectory, and the code is a little messy.
I'm trying to revise it to just display the list of cities in two columns. I'm trying to do it as a table, as it seemed easiest, but I could also just pull the results into to side by side divs, as there are never more than 26 cities listed (so first half or first 13 in div one, the rest in div two).
Here's the existing original code (I know its not mysqli, but we'll be redoing this site shortly so there's no sense trying to redo a million pages of code right now):
function create_service_area($title) {
global $listing;
$sql = "SELECT state_id, city_id FROM " .T_LISTINGS_CITIES. " WHERE listing_id = {$listing['id']} " ;
$result = query($sql);
if(!$result){
$output = "<p>Call for Service Area!</p>";
}
else {
$output = "<p>";
$result_array = array();
while ($service = fetch_array($result))
{
$sql2 = "SELECT title FROM " .T_LOCATIONS. " WHERE id = {$service['city_id']} " ;
$result2 = query($sql2);
if(!$result2){
break;
} else {
while ($service2 = fetch_array($result2))
{
$output .= "{$service2['title']}";
$title_array = explode(',', $service2['title']);
$result_array[] = $title_array;
}
$output .= "<br/>";
}
}
if($listing['custom_103'] =="Yes") {
$output .= "<b>".$title." will travel for an additional fee!</b></p>";
} else {
$output .="</p>";
}
}
return $output;
}
This is what is looks like currently: Current Site
Here's what I've tried to do:
function create_service_area($title) {
global $listing;
$sql = "SELECT state_id, city_id FROM " .T_LISTINGS_CITIES. " WHERE listing_id = {$listing['id']} " ;
$result = query($sql);
if(!$result){
$output = "<p>Call for Service Area!</p>";
}
else {
$result_array = array();
while ($service = fetch_array($result)) {
$sql2 = "SELECT title FROM " .T_LOCATIONS. " WHERE id = {$service['city_id']} " ;
$result2 = query($sql2);
$i=0;
if(!$result2) {
break;
}
else {
while ($service2 = fetch_array($result2)) {
$output .= "{$service2['title']}";
$title_array = explode(',', $service2['title']);
$result_array[] = $title_array;
$i++;
}
echo "<table>";
for ($j=0; $j<$i; $j=$j+2) {
echo "<tr>";
echo "<td>".$title_array[$j]."</td><td>".$title_array[$j+1]."</td>";
echo "</tr>";
}
echo "</table>";
}
}
if($listing['custom_103'] =="Yes") {
$output .= "<p><b>".$title." will travel for an additional fee!</b></p>";
}
else {
$output .="";
}
}
return $output;
}
And here's what I'm getting: DEV site
I'm very much a PHP newbie, and my understanding is pretty spotty, but I've tried a bunch of different solutions I've found here, and can't get them to work. I'm sure I'm missing something obvious.
Thanks for any pointers!
if I got it correct you should change your
else {
$output = "<p>";
$result_array = array();
while ($service = fetch_array($result))
{
$sql2 = "SELECT title FROM " .T_LOCATIONS. " WHERE id = {$service['city_id']} " ;
$result2 = query($sql2);
if(!$result2){
break;
} else {
while ($service2 = fetch_array($result2))
{
$output .= "{$service2['title']}";
$title_array = explode(',', $service2['title']);
$result_array[] = $title_array;
}
$output .= "<br/>";
}
}
if($listing['custom_103'] =="Yes") {
$output .= "<b>".$title." will travel for an additional fee!</b></p>";
} else {
$output .="</p>";
}
}
with
else {
$output = "<table>";
$result_array = array();
$even_odd=true;
while ($service = fetch_array($result))
{
$sql2 = "SELECT title FROM " .T_LOCATIONS. " WHERE id = {$service['city_id']} " ;
$result2 = query($sql2);
if(!$result2){
break;
} else {
$output .= "";
while ($service2 = fetch_array($result2))
{
if ($even_odd) {
$output .= '<tr><td>'."{$service2['title']}".'</td>';
$even_odd=false;
} else {
$output .= '<td>'."{$service2['title']}".'</td></tr>';
$even_odd=true;
}
$output .= "{$service2['title']}";
$title_array = explode(',', $service2['title']);
$result_array[] = $title_array;
}
}
}
if($listing['custom_103'] =="Yes") {
$output .= "<b>".$title." will travel for an additional fee!</b></p>";
} else {
if (!$even_odd)$output .="<td></td></tr>";
$output .="</table>";
}
}
Try this, I couldn't test it of course, since I've got no access to the data being loaded.
echo "<table>";
$result_array = array();
while ($service = fetch_array($result))
{
//this will loop multiple times. 7 times for Tony S. in the example.
$sql2 = "SELECT title FROM " .T_LOCATIONS. " WHERE id = {$service['city_id']} " ;
$result2 = query($sql2);
$i=0;
if(!$result2)
{
break;
}
else
{
while ($service2 = fetch_array($result2))
{
$title_array = explode(',', $service2['title']);
$result_array[] = $title_array;
$i++;
}
}
}
for ($j=0; $j < count($result_array); $j++)
{
if ($j % 2 == 0)
{
echo "<tr>";
}
echo "<td>".$result_array[$j][0]." (".$result_array[$j][1].")</td>";
if ($j % 2 == 0)
{
echo "</tr>";
}
if ($j % 2 == 1 && $j == count($result_array)-1)
{
echo "<td></td></tr>";
}
}
echo "</table>";
Paste and replace between this lines:
if(!$result){
$output = "<p>Call for Service Area!</p>";
}
else {
.... PASTE IN HERE ....
}
Building on Kim's code, I was able to get it working with some revisions. I also scrapped the table for divs, since it seems less messy to me and it seemed like the table styling was interfering somehow.
function create_service_area($title) {
global $listing;
$sql = "SELECT state_id, city_id FROM " .T_LISTINGS_CITIES. " WHERE listing_id = {$listing['id']} " ;
$result = query($sql);
if(!$result){
$output = "<p>Call for Service Area!</p>";
} else {
$output = "<div>";
//$result_array = array();
$even_odd=true;
while ($service = fetch_array($result))
{
$sql2 = "SELECT title FROM " .T_LOCATIONS. " WHERE id = {$service['city_id']} " ;
$result2 = query($sql2);
if(!$result2){
break;
} else {
$output .= "{$service2['title']}";
$title_array = explode(',', $service2['title']);
$result_array[] = $title_array;
while ($service2 = fetch_array($result2))
{
if ($even_odd) {
$output .= '<div style="float:left;width:50%;">'."{$service2['title']}".'</div>';
$even_odd=false;
} else {
$output .= '<div style="float:right;width:50%;">'."{$service2['title']}".'</div>';
$even_odd=true;
}
}
}
}
if($listing['custom_103'] =="Yes") {
$output .= "<div style='clear:both;width:90%;float:none;'><p><b>".$title." will travel for an additional fee!</b></p></div>";
} else {
}
}
return $output;
}
Thanks so much Kim and Mouser!

PHP: MySQL to table

I just wrote simple PHP code that would print some of these rows
That's how does my table structure looks like:
That's my PHP code:
$user = mysql_query("SELECT usr FROM ava_members");
$id = mysql_query("SELECT id FROM ava_members");
$email = mysql_query("SELECT email FROM ava_members");
$dt = mysql_query("SELECT dt FROM ava_members");
//$result = mysql_query("SELECT id,email,dt,regIP FROM ava_members ORDER BY dt LIMIT 5");
$final = "";
$final .= "<table border='1'><tr>";
/* TABELA */
$final .= "<td>Nick</td>";
$final .= "<td>ID</td>";
$final .= "<td>Email</td>";
$final .= "<td>Data</td>";
//$final .= "</tr>\n";
/* TABELA */
//user
while($row = mysql_fetch_row($user))
{
$final .= "<tr>";
foreach($row as $cell)
$final .= "<td>$cell <a href=\"\?usrdel=$cell\"\>[DELETE]</a></td>";
$final .= "</tr>\n";
}
//ID
while($row = mysql_fetch_row($id))
{
$final .= "<tr>";
foreach($row as $cell)
$final .= "<td>$cell</td>";
$final .= "</tr>\n";
}
//email
while($row = mysql_fetch_row($email))
{
$final .= "<tr>";
foreach($row as $cell)
$final .= "<td>$cell</td>";
$final .= "</tr>\n";
}
//dt
while($row = mysql_fetch_row($dt))
{
$final .= "<tr>";
foreach($row as $cell)
$final .= "<td>$cell</td>";
$final .= "</tr>\n";
}
mysql_free_result($user);
mysql_free_result($id);
mysql_free_result($email);
mysql_free_result($dt);
echo '<center>' . $final . '</center>';
And there's output:
But as you can guess that's not what I want...
Output that I want should look like this:
It's pretty simple - just learn in2 html tables
You should learn SQL:
$data = mysql_query("SELECT usr, id, email, dt FROM ava_members");
while ($row = mysql_fetch_row($data))
{
$final .= "<tr>";
foreach($row AS $k => $cell) {
$final .= '<td>' . htmlspecialchars($cell);
if ($k == 'usr') {
$final .= '<td>[DELETE]';
}
$final .= '</td>';
}
$final .= "</tr>\n";
}
And yes, do not use mysql_. Use mysqli_ instead.
Here's a function that I wrote to display the data from a MySQL database as an HTML table:
/* Returns all of the results from a query in one nice table */
/* Example usage: echo $db->allResults("taxi0", "time, latitude, longitude",40,50); */
function allResults($table,$cols,$limstart,$lim) {
if(isset($cols)) {
$query = "SELECT $cols FROM $table LIMIT $limstart,$lim";
}
else {
$query = "SELECT * FROM $table LIMIT $limstart,$lim";
}
$result = $this->query($query);
$output = '<table class="allResults">';
$data = array();
while($row = $this->fetchAssoc($result)) {
$data[] = $row;
}
$colNames = array_keys(reset($data));
$output .= "<tr>";
foreach($colNames as $colName) {
$output .= "<th>$colName</th>";
}
$output .= "</tr>";
foreach($data as $row) {
$output .= "<tr>";
foreach($colNames as $colName) {
$output .= "<td>".$row[$colName]."</td>";
}
$output .= "</tr>";
}
$output .= '</table>';
return $output;
}
Hope it will help you out.
PDO example, as it is both not deprecated and more fun:
// precondition: $row should be a numbered array of column data
function table_row_from_db_row($row) {
$result = '';
foreach($row as $key => $value) {
$result .= "<td>$value</td>\n";
}
return "<tr>\n$result</tr>\n";
}
// precondition: $headers should be an associative array representing the
// first row
function table_head_from_first_row($row) {
$result = '';
foreach($row as $name => $unused) {
$result .= "<th>$name</th>\n";
}
return "<tr>\n$result</tr>\n";
}
// precondition: $sth is a PDO statement handle from a query that returns
// more than 0 rows.
// postcondition: if there were no rows, returns NULL. Otherwise returns
// an HTML table as a string.
function table_from_query_handle($sth) {
$result = '';
// Fetch the first row so we can get column header names.
$row = $sth->fetch(PDO::FETCH_ASSOC);
if(!$row) {
return NULL;
}
$result .= table_head_from_first_row($row);
do {
$result .= table_row_from_db_row($row);
}
while($row = $sth->fetch(PDO::FETCH_ASSOC));
return "<table>\n$result</table>\n";
}
// Alias the column names to the table headers we want to use on the page.
// If we wanted to build the table manually it would still help that we don't
// have two different names for each field (e.g. `dt` and `data`).
$query = "select usr Nick, id ID, email Email, dt Data from ava_members";
// Connect to the database. This belongs in another file in production code.
$dbh = new PDO('mysql:host=localhost;dbname=test');
// Execute the query and get a statement handle.
$sth = $dbh->query($query);
echo table_from_query_handle($sth);

two methods in a class so close in what they do

I have this class that has these two methods that are so closely related to the each other. I do not want to pass the flags so I kept them separate. I was wondering if there is a way to rewrite it so that I do not have to repeat so closely!
class Test extends Controller
{
public static function nonFormattedData($param)
{
$arr = array();
if (is_array($param)) {
$i = 0;
$sql = "
select *
from table1
where
";
if (isset($param['startDate'])) {
$sql .= " date_created between ? AND ?";
$arr[] = $param['startDate'];
$arr[] = $param['endDate'];
$i++;
}
if (isset($param['amount']) && !empty($param['amount'])) {
if ($i > 0) $sql .= " AND ";
$sql .= " balance= ?";
$arr[] = $param['amount'];
$i++;
}
if (isset($param) && !empty($param['amount'])) {
if ($i > 0) $sql .= " AND ";
$sql .= " balance= ?";
$arr[] = $param['amount'];
$i++;
}
if (isset($param['createdBy']) && !empty($param['createdBy'])) {
if ($i > 0) $sql .= " AND ";
$sql .= " column2 like '%Created By: " . $param['createdBy'] . "%'";
}
$sql .= ' group by id.table1 ';
$rs = Query::RunQuery($sql, $arr);
foreach ($rs as $row) {
$records = new Account();
$results[] = $records;
}
return $results;
}
}
public static function formattedData($serArray, $orderBy = "giftcardaccount_id desc", $offset = 0, $limit = 10)
{
$arr = array();
if (is_array($param)) {
$i = 0;
$sql = "
select *
from table1
where
";
if (isset($param['startDate'])) {
$sql .= " date_created between ? AND ?";
$arr[] = $param['startDate'];
$arr[] = $param['endDate'];
$i++;
}
if (isset($param['amount']) && !empty($param['amount'])) {
if ($i > 0) $sql .= " AND ";
$sql .= " balance= ?";
$arr[] = $param['amount'];
$i++;
}
if (isset($param) && !empty($param['amount'])) {
if ($i > 0) $sql .= " AND ";
$sql .= " balance= ?";
$arr[] = $param['amount'];
$i++;
}
if (isset($param['createdBy']) && !empty($param['createdBy'])) {
if ($i > 0) $sql .= " AND ";
$sql .= " column2 like '%Created By: " . $param['createdBy'] . "%'";
}
$sql .= ' group by id.table1 ';
$rs = Query::RunQuery($sql, $arr);
return array("data" => $rs);
}
}
}
Why not have one method, but with an optional formatting options object/array?
public static function getData($params, $formatting = null) {
// continue as normal, adding formatting if it's there
}

Categories