mohsen60
سه شنبه 04 آذر 1393, 10:38 صبح
برای گزارشگیری،از چند لیست کشویی مقادیری رو انتخاب میکنم، با post، ارسال میکنم به صفحه بعدی ، یه سوییچ میزنم برای query های مختلف ، بعد کد مربوط به نمایش رو نوشتم.ولی خطا میده. از خطاش سر درنمیارم.
(خلاصه: مثلا کاربر انتخاب میکنه دکتری، میخوام تمام کاربرانی که مدرک دکتری رو دارند رو نمایش بدم و ...)
<form action="report.php" method="post">
<p>
<span lang="en-us">
<select name="madrak" style="width:150px;" id="shoghl2" size="1">
<option></option>
<option>دکتری</option>
<option>دانشجوی دکتری</option>
<option>کارشناسی ارشد</option>
<option>دانشجوی کارشناسی ارشد</option>
</select></span></p>
<p>
<span lang="en-us">
<select name="group" style="width:150px;" id="shoghl3" size="1">
<option></option>
<option>مهندسی برق</option>
<option>مهندسی کامپیوتر</option>
<option>مهندسی عمران</option>
<option>مهندسی صنایع</option>
<option>معماری و شهرسازی</option>
<option>مهندسی شیمی</option>
<option>مهندسی مکانیک</option>
<option>مهندسی منابع طبیعی</option>
<option>تربیت بدنی و علوم ورزشی</option>
<option>حقوق</option>
<option>حسابداری</option>
<option>مدیریت</option>
<option>عمومی و معارف اسلامی</option>
<option>علوم پایه</option>
</select></span></p>
<p>
<span lang="en-us">
<input class="submit" type="submit" value="ارسال" /></p>
</form>
-----------------------------------------صفحه report.php
<?php
$madrak= $_POST['madrak'];
$group= $_POST['group'];
switch ($madrak) {
case "دکتری":
$query1 = "SELECT
nam,famil,id FROM users where madrak='دکتری' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query1;
break;
case "دانشجوی دکتری":
$query2 = "SELECT
nam,famil,id FROM users where madrak='دانشجوی دکتری' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query2;
break;
default:
echo "شما باید نوع مدرک خود را انتخاب نمایید. <br/>";
}
switch ($group) {
case "مهندسی برق":
$query3 = "SELECT
nam,famil,id FROM users where group='مهندسی برق' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query3;
break;
case "مهندسی عمران":
$query4 = "SELECT
nam,famil,id FROM users where group='مهندسی عمران' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query4;
break;
default:
echo "شما باید نوع مدرک خود را انتخاب نمایید. <br/>";
}
// how many rows to show per page
$rowsPerPage = 4;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
include_once('icd.php');
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{
echo '<br>';
echo ' '.$row['nam'].' '.' '.$row['famil'].'<br>' ;
echo ' <a target="_blank" href=" send1.php?id='.$row['id'].'" > "جزئیات بیشتر" </a>' .'<br>' ;
}
echo '<br>';
// how many rows we have in database
$query = "SELECT COUNT(nam) AS numrows FROM users ";
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);
// print the link to access each page
$self = $_SERVER['PHP_SELF'];
$nav = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nav .= " $page "; // no need to create a link to current page
}
else
{
$nav .= " <a href=\"$self?page=$page\">$page</a> ";
}
}
// creating previous and next link
// plus the link to go straight to
// the first and last page
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[صفحه قبلي]</a> ";
$first = " <a href=\"$self?page=1\">[اولين صفحه]</a> ";
}
else
{
$prev = ' '; // we're on page one, don't print previous link
$first = ' '; // nor the first page link
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[صفحه بعدي]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[آخرين صفحه]</a> ";
}
else
{
$next = ' '; // we're on the last page, don't print next link
$last = ' '; // nor the last page link
}
// print the navigation link
mysql_query("set names utf8");
mysql_query("SET CHARACTER_SET utf8");
echo $first . $prev . $nav . $next . $last;
// and close the database connection
?>
(خلاصه: مثلا کاربر انتخاب میکنه دکتری، میخوام تمام کاربرانی که مدرک دکتری رو دارند رو نمایش بدم و ...)
<form action="report.php" method="post">
<p>
<span lang="en-us">
<select name="madrak" style="width:150px;" id="shoghl2" size="1">
<option></option>
<option>دکتری</option>
<option>دانشجوی دکتری</option>
<option>کارشناسی ارشد</option>
<option>دانشجوی کارشناسی ارشد</option>
</select></span></p>
<p>
<span lang="en-us">
<select name="group" style="width:150px;" id="shoghl3" size="1">
<option></option>
<option>مهندسی برق</option>
<option>مهندسی کامپیوتر</option>
<option>مهندسی عمران</option>
<option>مهندسی صنایع</option>
<option>معماری و شهرسازی</option>
<option>مهندسی شیمی</option>
<option>مهندسی مکانیک</option>
<option>مهندسی منابع طبیعی</option>
<option>تربیت بدنی و علوم ورزشی</option>
<option>حقوق</option>
<option>حسابداری</option>
<option>مدیریت</option>
<option>عمومی و معارف اسلامی</option>
<option>علوم پایه</option>
</select></span></p>
<p>
<span lang="en-us">
<input class="submit" type="submit" value="ارسال" /></p>
</form>
-----------------------------------------صفحه report.php
<?php
$madrak= $_POST['madrak'];
$group= $_POST['group'];
switch ($madrak) {
case "دکتری":
$query1 = "SELECT
nam,famil,id FROM users where madrak='دکتری' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query1;
break;
case "دانشجوی دکتری":
$query2 = "SELECT
nam,famil,id FROM users where madrak='دانشجوی دکتری' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query2;
break;
default:
echo "شما باید نوع مدرک خود را انتخاب نمایید. <br/>";
}
switch ($group) {
case "مهندسی برق":
$query3 = "SELECT
nam,famil,id FROM users where group='مهندسی برق' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query3;
break;
case "مهندسی عمران":
$query4 = "SELECT
nam,famil,id FROM users where group='مهندسی عمران' ORDER BY id DESC LIMIT $offset, $rowsPerPage ";
$query=$query4;
break;
default:
echo "شما باید نوع مدرک خود را انتخاب نمایید. <br/>";
}
// how many rows to show per page
$rowsPerPage = 4;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
include_once('icd.php');
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{
echo '<br>';
echo ' '.$row['nam'].' '.' '.$row['famil'].'<br>' ;
echo ' <a target="_blank" href=" send1.php?id='.$row['id'].'" > "جزئیات بیشتر" </a>' .'<br>' ;
}
echo '<br>';
// how many rows we have in database
$query = "SELECT COUNT(nam) AS numrows FROM users ";
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);
// print the link to access each page
$self = $_SERVER['PHP_SELF'];
$nav = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nav .= " $page "; // no need to create a link to current page
}
else
{
$nav .= " <a href=\"$self?page=$page\">$page</a> ";
}
}
// creating previous and next link
// plus the link to go straight to
// the first and last page
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[صفحه قبلي]</a> ";
$first = " <a href=\"$self?page=1\">[اولين صفحه]</a> ";
}
else
{
$prev = ' '; // we're on page one, don't print previous link
$first = ' '; // nor the first page link
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[صفحه بعدي]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[آخرين صفحه]</a> ";
}
else
{
$next = ' '; // we're on the last page, don't print next link
$last = ' '; // nor the last page link
}
// print the navigation link
mysql_query("set names utf8");
mysql_query("SET CHARACTER_SET utf8");
echo $first . $prev . $nav . $next . $last;
// and close the database connection
?>