مشکل در نمایش جدول برگزاری کلاسها

fahimehf

Member
سلام

فرض کنید من تعداد درسهایی که باید توی جدول بیاید گذاشم $number .
رکوردهای کوئری منم آماده است که د راینجا سه تا رکورد دارم.
ساعات برگزاری کلاس توی متغیر $dates هست.
مثلا =یکشنبه(10-8) =
خب حالا یه کد میخوام که مثل شکل زیر رو بهم نشون بده . البته تا یه جاهاییش رفتم یعنی روزهای هفته و دروس نشون میده منتها توی نشون دادن ساعات برگزاری کلاس مشکل دارم .
 
آخرین ویرایش:

tabib_m

Member
سلام

ساعات برگزاری کلاس توی متغیر $dates هست.
مثلا =یکشنبه(10-8) =
این یعنی چی؟

منظورت اینه که یک فیلد وجود داره به نام dates که روز و ساعت رو تعیین کرده؟

اگر اینجوریه ، خوب در کل میتونم بگم بهتر بود طور دیگه ای ذخیره میکردی که کار باهاش راحت تر باشه.
یک فیلد برای شماره ی روز از 1 تا 7 . و یک فیلد هم برای ساعت برگذاری درس.

حالا مشکلت کجاس؟

کدی که تا حالا نوشتی رو بذار تا تصحیح بشه.

موفق باشید.
 

jalilvand

Member
سلام

اگه یه فلد واسه روز هفته داشته باشی، یه فلد هم واسه ساعت کلاس( مثلا عدد 1 نشوندهنده 10-8 و ...) و یه فلد هم واسه درس (اسم یا ID یا کد یا هر چی دیگه):

PHP:
$text='<table border=1>
	<tr>
		<td align="center">&nbsp;</td>
		<td align="center">10-8</td>
		<td align="center">12-10</td>
		<td align="center">14-12</td>
		<td align="center">16-14</td>
		<td align="center">18-16</td>
		<td align="center">20-18</td>
	</tr>';
for($i=0;$i<7;$i++)   //tedade roozaye hafte
{
	$text.='<tr>
	<td align="center">شنبه '.$i.'</td>';
	for($j=0;$j<6;$j++)  // tedade saataye dars   0 = 8 - 10 , 1 = 10-12 .......
	{
		$q="SELECT * FROM `table_name` WHERE `rooz` = '$i' AND `saat`='$j'";
		$res=mysql_query($q);
		$text.="<td align=center>".mysql_result($res,0,'name_dars')."</td>";
	}
	$text.="</tr>";
}
$text.="</table>";


خروجی اینجوری میشه :

HTML:
<table border="0" style="border-collapse: collapse" width="100%">
	<tr>
		<td align="center">&nbsp;</td>
		<td align="center">10-8</td>
		<td align="center">12-10</td>
		<td align="center">14-12</td>
		<td align="center">16-14</td>
		<td align="center">18-16</td>
		<td align="center">20-18</td>
	</tr>
	<tr>
		<td align="center">شنبه</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
	</tr>
	<tr>
		<td align="center">1شنبه</td>
		<td align="center">ویژوال</td>
		<td align="center">اینترنت</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
	</tr>
	<tr>
		<td align="center">2شنبه</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
	</tr>
	<tr>
		<td align="center">3شنبه</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
	</tr>
	<tr>
		<td align="center">4شنبه</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">ویژوال</td>
		<td align="center">ویژوال</td>
	</tr>
	<tr>
		<td align="center">5شنبه</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center"><span lang="en-us">PHP</span></td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
	</tr>
	<tr>
		<td align="center">جمعه</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
		<td align="center">&nbsp;</td>
	</tr>
</table>

این چیزی بود که سریع نوشتم ولی خوب نیست چون هر دفعه یه کوئری اجرا می کنه.
بهترش اینه که همرو اون اول بخونه و تو یه آرایه یه جوری مرتب بشه که هر کاری بشه باهاش کرد
 

fahimehf

Member
فکر می کنم یک فیلد بذارم بهتره چون ممکنه یک درس در هفته سه روز در هفته یا یک روز درهفته تشکیل بشه.
PHP:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="rtl" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<style type="text/css">
<!--
body {
	background-color:#22648e; 
}
</style>
<body style="font-family:tahoma; font-size:12px">

<table align="center" border="1" style="border:thin; border-color:#22648e">
 <tr><td><img src="upload/images/ucp_banner1.jpg" /></td></tr>
 <tr><td  bgcolor="#e6eef7">
  <fieldset class="pro"><legend>انتخاب درس مورد نظر</legend>

<?php  
// Connect to Mysql
 require('connect_mysql.php');
 
 $days = array('شنبه','یکشنبه','دوشنبه','سه شنبه','چهارشنبه','پنج شنبه','جمعه');
 $days1 = array('saturday','sunday','monday','tuesday','wednsday','thursday','friday');
 $idp = $HTTP_SESSION_VARS['idp'];

 $q = "select code,dates,term,idc from codes
       where idp='$idp'";
 $r = mysql_query($q);
 $i =0;
  ?><table border="1" align="center" cellpadding="5px"><tr align="center"><td>&nbsp;</td><?

 while ($row = mysql_fetch_row($r))
    {
	$codes[$i] = $row[0];
    $idc[$i] = $row[3];
	$q2 = "select name from course
           where idc='$idc[$i]'";
	$row2 = mysql_fetch_row(mysql_query($q2));
	$courses[$i] = $row2[0];
	echo "<td>$courses[$i]</td>";
	$i++;
	}

 echo "</tr>";
 $n = mysql_num_rows($r);
 
 $r = mysql_query($q);
 for ($i=0 ; $i<=6 ; $i++)
      {
	  $row = mysql_fetch_row($r);
	  $code = $row[0];
	  $dates = $row[1];
	  $term = $row[2];

		 $p1 = strpos($dates,'(');
		 $p2 = strpos($dates,')');
		 $day1 = substr($dates,0,$p1);//echo "$day1";
		 $first = substr($dates,$p1,$p2-$p1+1);//echo "<input name='d2' value='$first' /><br/>";
		 if ( (strlen($dates)-$p2)>1 )
		    {
			$second = substr($dates,$p2+1);
			$p3 = strpos($second,'(');
			$p4 = strpos($second,')');
			$day2 = substr($dates,$p2+1,$p3);//echo "$day2";
			$second = substr($second,$p3,$p3);//echo "<input name='d1' value='$second' /><br/>";
			if ( (strlen($dates)-($p2+$p4)) >2 )
		       {
			   $third = substr($dates,$p2+$p4+1);
			   $p5 = strpos($third,'(');
			   $day3 = substr($dates,$p2+$p4+2,$p5-1);//echo "$day3<br/>";
			   $third = substr($third,$p5);// echo "<input name='d2' value='$third' /><br/><br/><br/>";
			   }
			}
		 echo "<tr><td>$days[$i]</td>";//echo strlen($day1)."///";echo strlen($days[$i]);
		 for ($j=0 ; $j<=$n-1 ; $j++)
	         {

			 if (($day1==$days1[$i]) && ($codes[$j]==$code))
			    {
				 echo "<td>$first</td>";
				}
			 if (($day2==$days1[$i]) && ($codes[$j]==$code))
			    {
				echo "<td>$second</td>";
				}
			 if (($day3==$days1[$i]) && ($codes[$j]==$code))
			    {
				echo "<td>$third</td>";
				}
			 if (('$day1'!=$days1[$i]) && ('$day2'!=$days1[$i]) && ('$day3'!=$days1[$i]))
 			      echo "<td>&nbsp;</td>";
			 }
		  echo "</tr>";
	  } // end of for
 echo "</table>";
 ?>
  
</body>
</html>
 

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

بالا