Я пытаюсь написать функцию, которая выбирает содержимое из базы данных. Проблема, которую я испытываю, - это отсутствие понимания массивов и возврат переменных из функций.Создание динамического массива и возвращаемого массива с помощью функции-0:
Я написал функцию, но, кажется, крутится вокруг, как построить массив, а затем вернуть его из функции. Php.
Главный файл php. (Этикетки и названия были изменены, чтобы защитить невинных.)
<?php
//include '../sb_mysqli_connect.php';//Connect to the Database
include 'functions.php' ; //Include the functions list
$username = 'foo';
$password = 'bar';
$fields = array(array('username', $username), array('password', $password)); //prep's array for multiple where statements
sbpolldb ("users",$fields, null, 1, null); //function sbpolldb($sbbeta, $sbbecon, $sbbeorder, $sbbelimit, $sbbegroup)
echo $tablex['row_name_y'];
?>
Function.php файл
<?php
function sbpolldb($sbbeta, $sbbecon, $sbbeorder, $sbbelimit, $sbbegroup){ //sbbeta = table name, sbbecon = where condition, sbbeval = Where value, sbbesort = sort value, sbbelim -
include '../sb_mysqli_connect.php';//Connect to the Database
if (empty($sbbeorder)) {
$sbbeotemp="";
} else {
$sbbeotemp=" ORDER By ".$sbbeorder;
} //Check if order by is null
if (empty($sbbelimit)){
$sbbeltemp="";
} else {
$sbbeltemp=" LIMIT ".$sbbelimit;
} //Check if there's a Limit set
if (empty($sbbegroup)){
$sbbegtemp="";
} else {//$ssbegtemp=' GROUP By '.$sbbegroup;
$count = sizeof($sbbegroup);
$sbbegtemp = " GROUP BY ";
//Loop to create WHERE conditons
for ($i = 0; $i < $count; $i++) {
$value = $sbbegroup[$i];
$sbbegtemp = $sbbegtemp.$value;
if ($i < ($count -1)){
$sbbegtemp = $sbbegtemp.' , ';
}
};
}
if (empty($sbbecon)){
$sbbectemp='';
} else {
$count = sizeof($sbbecon);
$sbbectemp = 'WHERE ';
//Loop to create WHERE conditons
for ($i = 0; $i < $count; $i++) {
$value = $sbbecon[$i];
$sbbectemp = $sbbectemp.$value[0]." ="."'".$value{1}."'"; // ' is the code for an apostraphe
if ($i < ($count -1)){
$sbbectemp = $sbbectemp.' AND ';
}
};
}
$sbbesql = "SELECT * FROM ".$sbbeta.' '
.$sbbectemp
.$sbbegtemp
.$sbbeotemp
.$sbbeltemp; //" is code for speach marks
mysql_select_db("database1");
$result = mysql_query($sbbesql, $sbbedbc) or die($sbbesql."<br/><br/>".mysql_error());;
$temp = mysql_fetch_array($result, MYSQL_ASSOC);
// Build Array Here Dynamically $sbbeta content as the variable name.
// How do I then Return this Array as the name is no longer $temp?
}
?>
на строительство SQL работ, но я считаю, динамические переменные создаются с помощью $$label
, который объявляет новую переменную как содержимое старой. Это относится и к массивам? Я создаю веб-приложение, которое будет выполнять множество запросов к базе данных, и я хотел бы сократить повторение кода.
ура спасибо , Acharya –
Нет проблем ... – progrrammer