PDA

View Full Version : چگونه متوان نتایج توابع نوشته شده درphp را در صفحاتhtml دید؟



taghavi
دوشنبه 27 مهر 1383, 09:17 صبح
سلام دوستان
در نظر بگیرید که شما یک اسکریپت با زبان php نوشته اید. این صفحه شامل عناصر مختلف اعم از جدول و ... میباشد. این جدول اطلاعات را از mysql دریافت میکند و بر اساس تاریخ مرتب میکند وبصورت جدول پر شده نشان داده میشود. حالا سوال این است که من مخواهم روی یک header جدول کلیک کنم و جدول بر اساس آن Header مرتب شود. جدا از کد نویسی و ارتباط آن mysql سوال من این است که چگونه می شود که بعد از کلیک روی آن header کد htmlتابع نوشته شده برای مرتب سازی (به زبان php( را صدا بزند و نتیجه در همان صفحه نشان داده شود.
با تشکر

oxygenws
دوشنبه 27 مهر 1383, 09:27 صبح
سلام،

اون کلیک می تونه شامل پارامترهای GET باشه مثلا لینک به صورت زیر باشه:


<a href="filename.php?sort=name">Name</a>


موفق باشید، امید

taghavi
دوشنبه 27 مهر 1383, 13:46 عصر
سلام

[quote="oxygenws"]سلام،

اون کلیک می تونه شامل پارامترهای GET باشه مثلا لینک به صورت زیر باشه:


<a href="filename.php?sort=name">Name</a>

چگونه ؟ شما در نظر بگیرید که در فایل filename,.php شما یک تابع با آرگمان مثل print_tb($ord) تعریف شده. بنا به تغییر $ord روش مرتبسازی تغییر پیدا می کند. حال شما در نظر بگیرید که وقتی روی هدر تاریخ کلیک کنیم، باید تابع print_tb را با آرگمان Date فراخوانی کند و نتیجه را در همان صفحه نشان دهد.
در ضمن من تست بالا را انجام دادم و جواب نگرفتم

nematia
دوشنبه 27 مهر 1383, 13:56 عصر
اینکار رو میتونین با جاوا اسکریپت انجام بدین. یه فانکشن جاوا بنویسید و با php اون رو اجرا کنید.

oxygenws
دوشنبه 27 مهر 1383, 15:26 عصر
با اون چیزی که من گفتم، کد برنامه html شما در بخش تاریخ چیزی شبیه این خواهد شد:


<a href="filename.php?sort=Date">Date</a>


و کد برنامه شما در بخش مربوطه چیزی شبیه این خواهد شد.


if(!isset($_GET['sort'])) $_GET['sort']='Name';
print_tb($_GET['sort']);


موفق باشید، امید

taghavi
چهارشنبه 29 مهر 1383, 14:24 عصر
من مشکلم حل نشد
اصلا" سورس برنامه من این است :


<html>
<head>
<META http-equiv=Content-Type content="text/html;charset=utf-8" >

<SCRIPT LANGUAGE="javaScript" TYPE="text/javascript">
<!--
function popuopwin() {

popupwin = window.open("", "RecordViewer", "toolbar=no , width= 400
,height=500, directories=no , status=no,scrollbars=yes,resize=no,menubar=no");

}
</script>
<TITLE> </Title>
</head>
<body bgcolor="#ffffff">
<?php
global $PHP_SELF;
function print_table ($ord) {
$conn=mysql_connect() or die("Could Not Connect to DataBase");
$selected=mysql_select_db("emdad",$conn) or die(" could not select Database");
$result = mysql_query("select * from Tpress order by '$ord' Limit 15 ", $conn);

while ($query_data=mysql_fetch_row($result)) {
?>
<table border="0" width="70%" cellpadding="0">
<tr bgcolor= "#E5E5E5" >
<td width="60%" align="right"><font face="Tahoma" size="2"><a href=<?php echo $query_data[3] ?>><?php echo $query_data[2] ?></a></td>
<td width="20%" align="center"><font face="Tahoma" size="2"><?php echo $query_data[1] ?></td>
<td width="15%" align="center"><font face="Tahoma" size="2"><?php echo $query_data[0] ?></td>
</tr>


<?PHP
} //end while
mysql_close($conn);
?>
</TABLE>
<?php
} //end of function
?>

<br>
<center><img src="image/title2.jpg"></center>
<br>
<br>

<Div Align="center">
<table border="0" width="70%" cellpadding="0">
<tr bgcolor="#BBFFBB">
<th width="60%">caption</th>
<th width="20%">newspaper</th>
<th width="15%">date</th>
</tr>
</table>


<?php
print_table(date);
?>
</DIV>

حال من می خواهم وقتی صفحه brows می شود روی NewsPaper کلیک کنم (newspaper یک header از جدولی میباشد که اطلاعات در آن نشان داده می شود) برنامه اطلاعات را بر همان اساس مرتب و در همان صفحه نشان دهد.(یعنی مثلا" صفحه اصلی refresh شود و اطلاعات صحیح نشان داده شود)
باتشکر

oxygenws
چهارشنبه 29 مهر 1383, 14:48 عصر
با اینکه اصولا دوست ندارم برای کسی تو انجمن ها کد بزنم ولی این یک بار رو چشم.


<?php
global $PHP_SELF;
function print_table ($ord) {
$conn=mysql_connect() or die("Could Not Connect to DataBase");
$selected=mysql_select_db("emdad",$conn) or die(" could not select Database");
$result = mysql_query("select * from Tpress order by '$ord' Limit 15 ", $conn);

while ($query_data=mysql_fetch_row($result)) {
?>
<table border="0" width="70%" cellpadding="0">
<tr bgcolor= "#E5E5E5" >
<td width="60%" align="right"><font face="Tahoma" size="2"><a href=<?php echo $query_data[3] ?>><?php echo $query_data[2] ?></a></td>
<td width="20%" align="center"><font face="Tahoma" size="2"><?php echo $query_data[1] ?></td>
<td width="15%" align="center"><font face="Tahoma" size="2"><?php echo $query_data[0] ?></td>
</tr>


<?PHP
} //end while
mysql_close($conn);
?>
</TABLE>
<?php
} //end of function
?>

<br>
<center><img src="image/title2.jpg"></center>
<br>
<br>

<Div Align="center">
<table border="0" width="70%" cellpadding="0">
<tr bgcolor="#BBFFBB">
<th width="60%"><a href="filename.php">caption</a></th>
<th width="20%"><a href="filename.php?sort=newspaper">newspaper</a></th>
<th width="15%"><a href="filename.php?sort=date">date</a></th>
</tr>
</table>


<?php
if(!isset($_GET['sort'])) $_GET['sort']='caption';
print_tb($_GET['sort']);
?>

لطفا مقادیر filename.php رو به اسم فایلت تغییر بده.
در ضمن، من فرض کردم ستون های جدولت با نام های caption و newspaper و date ساخته شده اند.

نکته خارجی: بهتره روی تمام این فیلد هایی که قراره روشون مرتب سازی انجام بشه ایندکس بذاری.

موفق باشید، امید

taghavi
شنبه 02 آبان 1383, 07:42 صبح
ممنون مشکل من حل شد.

oxygenws
شنبه 02 آبان 1383, 12:42 عصر
موفق باشید