چگونگی ساخت این تابع؟

imanmir

Member
با سلام چگونه کد زیر را به صورت یک تابع تعریف کنم که هر موقع خواستم بتونم با تغییر مقدار تابع به این کد دسترسی پیدا کنم

<?
$query_setting=mysql_query("select * from setting");
$fetch_setting=mysql_fetch_array($query_setting);
$lang_set=$fetch_setting['lang'];
$type = $_GET['type'];
$page = $_GET['page'];
if(!filter_var($page, FILTER_VALIDATE_INT, 1))
$page=1;
$records_per_page = 3;
$offset = ($page-1) * $records_per_page;
$sql="SELECT * FROM project where p='0' && co='$lang_set' ORDER BY `id` DESC LIMIT $offset, $records_per_page";
$result = mysql_query($sql);
$count_result = mysql_query("SELECT COUNT(*) FROM project");
$count_row = mysql_fetch_array($count_result);
$count = $count_row["COUNT(*)"];
function build_url($filename, $key, $value){
$values = array();
$query_str = array();
parse_str($_SERVER['QUERY_STRING'], $values);
$query_str[] = "{$key}={$value}";
return "$filename?".implode("&", $query_str);
}
for($i=1; $i<=($count/$records_per_page); $i++){
if($i!=$page)
echo "<a style='cursor:pointer;' onclick=server('showinfo.php','','".build_url("", "page", $i)."','type=last','last');>$i</a>";

else
echo $i;
if($i<$count/$records_per_page)
echo "|";
}


while($fecth_limit_project=mysql_fetch_array($result))
{
echo "

<ul>
<li style='width:30px;'>
<a href=page-".$fecth_limit_project[id].".htm>Viwe</a>
</li>
<li style='width:50px;'>
$fecth_limit_project[3]
</li>
<li style='width:50px;'>
$fecth_limit_project[2]
</li>
<li style='width:42px;'>
$fecth_limit_project[1]
</li>
<li style='width:80px;'>
$fecth_limit_project[0]
</li>
</ul>
";
}
?>
?>
 

Mr.Steres

Active Member
خوب توی پی اچ پی :

PHP:
Function name()

تابع تعریف می شه ! خوب توی تابع شما می تونی چند تا متغییر قرار بدی که توی موقع استفاده از تابع اون ها رو وارد و توی تابع به کارش ببری :

PHP:
Function name($a,$b)

با Return یا Print هم می تونی مقدار خروجی تابع رو به دست بیاری یا چاپ کنی !

خوب یک مثال برات می زنم !

PHP:
Function Getpost($a,$b) {

$r1 = mysql_query("select * from '$a' limit '$b'");
$r2 = mysql_fetch_assoc($r1); 

return

$r2['name'] ;

}

اگر بخوایم از این تابع خروجی بگیریم :

PHP:
echo Getpost('news','10') ;

خوب کد بالا مقدار 10 رکورد Name رو از تیبل News رو چاپ می کنه

امیدوارم روش کلی تایع رو فهمیده باشی !
 
 

imanmir

Member
با سلام

دوست عزیز لطفا تعریف تابع در داخل تابع را بیان نمایید در مثال فوق یک تابع وجود دارد و می خواهم یک تابع بسازم که این تابع را در خود جا بده و کار کنه و تا اخرشو ساختم ولی مشکل پیدا شد

final public function showpage($tabel,$val_url,$limit,$arg)
{
$page = $val_url;
$records_per_page = $limit;
if(!filter_var($page, FILTER_VALIDATE_INT, 1))
$page=1;
$offset = ($page-1) * $records_per_page;
$result = mysql_query("SELECT * FROM ".$tabel." where".$arg." DESC LIMIT $offset, $records_per_page");
while($fecth_limit_project=mysql_fetch_array($sql_result))
{
echo "

<ul>
<li style='width:30px;'>
<a href=page-".$fecth_limit_project[id].".htm>Viwe</a>
</li>
<li style='width:50px;'>
$fecth_limit_project[3]
</li>
<li style='width:50px;'>
$fecth_limit_project[2]
</li>
<li style='width:42px;'>
$fecth_limit_project[1]
</li>
<li style='width:80px;'>
$fecth_limit_project[0]
</li>
</ul>
";
}
$count_result = mysql_query("SELECT COUNT(*) FROM ".$tabel);
$count_row = mysql_fetch_array($count_result);
$count = $count_row["COUNT(*)"];
function build_url($filename, $key, $value){
$values = array();
$query_str = array();
parse_str($_SERVER['QUERY_STRING'], $values);
foreach($values as $k=>$v){
if($k!=$key){
$query_str[] = "{$k}={$v}";
}
}
$query_str[] = "{$key}={$value}";
return "$filename?".implode("&", $query_str);
}
for($i=1; $i<=($count/$records_per_page); $i++){
if($i!=$page)
echo "<a href='".build_url("", "page", $i)."'>$i</a>";
else
echo $i;
if($i<$count/$records_per_page)
echo "|";
}
}
 

جدیدترین ارسال ها

بالا