در مورد نمایش اطلاعات از دیتابیس

hassancd

Active Member
سلام
دوستان من میخوام از یک جدول به نام tblcomp که شامل
1 id
2 idteach
3 idstu
4 nomre
هستش و من میخوام استاد زمانی نمرات کلاس رو وارد میکنه نمرات رو داخل فیلد نمره وارد کنم
حالا صفحی ای که استاد لیست هنر جو هاشو میبینه و جلوی هر هنر جو یک text fild هستش که نمره هنرجو رو اونجا وارد کنه و من کدش رو به این صورت نوشتم
PHP:
<?php  $select =$_POST['selectclass']; //کد کلاس استاد در اینجا ریخته میشه 
        $result=mysql_query("SELECT * FROM tblcomp  where idclass='$select' ORDER by id" );
   ?>
   
   <form action="" method="post" name="form1">
   <fieldset dir="rtl">
   <legend style=" color:#00CC00">ورود نمرات</legend>
   <table width="251" align="center" >
   <tr><td width="56">کد هنرجو</td>
       <td width="144">نام هنرجو</td>
    <td width="100">نمره هنرجو</td>
   </tr>
   <?php while  ($row=mysql_fetch_array($result)){
   $resultstu=mysql_query("SELECT * FROM stutbl  where id='$row[idstu]'");
   $rowstu=mysql_fetch_array($resultstu); ?>
   <tr>
     <td><?= $row[idstu];?></td>
       <td><?= $rowstu[name]." ".$rowstu[famil];?></td>
    <td><input type="text" size="5" maxlength="3" name="$row[idstu]" /> </td>
        </tr>
   </table>
   <input type="hidden"  name="idclass" value="<?= $select;?>" />
   <input type="submit" name="sbtnumber" value="ثبت" /></fieldset></form>

و بعد برای در یافت نمرات مشکل پیدا کردم و نمی تونم کدش رو دریافت کنم
اگر که کد بالا رو هم اشتباه نوشتم کمکم کنید و نمی دونم که چجور در
PHP:
mysql_query("UPDATE tblcomp SET nomre='$id' where -----------");

نمدنم جلوی where چی بزارم و چجوری بزارم



دوستان کمکم کنید
 
شما وقتی فرم رو ارسال می کنید چن تا فیلد به صفحه ارسال می شه که هر کدوم نامشون آیدی دانشجوهاست

اون رو باید با یه حلقه بگیرید و کوئری تون رو هم در یه حلقه بزارین و بعد کوئری رو اجرا کنید

اگه نتونستید تمام کد رو به علاوه کد اس کیو ال ساخت تیبل رو بزارین تا براتون درست کنم.
 

pasargad-ir

Active Member
من فکر کنم در اصل روشت اشتباهه

شرمنده ها

ولی به نظر من شما باید چند تا جدول داشته باشی.

حدول اساتید شامل : ID - Name - و ...
جدول دانشجو شامل : ID - Name - و...
جدول دروس شامل : ID - Name - و ...
جدول دروس انتخابی دانشجو شامل : ID - کد دانشجو - کد درس - نمره درس - و ...

این روش به نظرم درستره.
 

hassancd

Active Member
شما وقتی فرم رو ارسال می کنید چن تا فیلد به صفحه ارسال می شه که هر کدوم نامشون آیدی دانشجوهاست

اون رو باید با یه حلقه بگیرید و کوئری تون رو هم در یه حلقه بزارین و بعد کوئری رو اجرا کنید

اگه نتونستید تمام کد رو به علاوه کد اس کیو ال ساخت تیبل رو بزارین تا براتون درست کنم.

دادش گلم
من همه ی فیلدای sqlرو بالا نوشتم نمی دونم چی sql رو میخوای و اسم این جدول tblcomp هستش و توسط connect.php به پایگاه داده وصل میشم
دوستم من فقط نمیدونم چجوری این کاری که میخوام انجام بدم
شرمنده اگه میشه کدی برام بزارید و روی اون بحث کنیم فقط لازم به زکر این هستش که برای اینکه فیلد نمره رو ثبت کنیم شرطمون باید idstu , idteachdیکی باشه و من نمیدونم این دوتارو در حلقه while ارسال کنم و از اون طرف دریافتشون کنم و در updata set کنم
دوستان اگه میشه کدی برام بزارید که بیشتر راهنمایی کنم
شرمنده
ممنون از همه
 

hassancd

Active Member
من فکر کنم در اصل روشت اشتباهه

شرمنده ها

ولی به نظر من شما باید چند تا جدول داشته باشی.

حدول اساتید شامل : ID - Name - و ...
جدول دانشجو شامل : ID - Name - و...
جدول دروس شامل : ID - Name - و ...
جدول دروس انتخابی دانشجو شامل : ID - کد دانشجو - کد درس - نمره درس - و ...

این روش به نظرم درستره.

دوستم همهی این جداول رو دارم و این مشترک بین همهی اینهاست که در اون همون دروس انتخابی دانشجو و اساتید درون اون هستش
و این جدول مشترکمه به نام tblcomp دوستان اگه میشه من رو کمک کنید
 

pasargad-ir

Active Member
PHP:
//$n = تعداد  رکورد هاي مورد نظر براي بروزرساني
for ($i=0; $i<$n; $i++) 
{
 $query="UPDATE `table` set `نمره`='20' where `کد دانشجو`='1111111'";
 mysql_db_query($db,$query,$link);
}
 

hassancd

Active Member
PHP:
//$n = تعداد  رکورد هاي مورد نظر براي بروزرساني
for ($i=0; $i<$n; $i++) 
{
 $query="UPDATE `table` set `نمره`='20' where `کد دانشجو`='1111111'";
 mysql_db_query($db,$query,$link);
}
ببین دوستم من یک صفحه دارم که در اون استاد اسم کلاسش رو انتخاب میکنه و بعد
PHP:
<?php  
   require_once('../connect.php');
$sql = 'SET CHARACTER SET utf8';
mysql_query($sql);
?> 
<form action="classsbt.php" method="post" name="form1">
  <fieldset  dir="rtl" ><legend style="color:#00CC00" >انتخاب کلاس</legend>
     <select name="selectclass" size="0" tabindex="1">
      <?php $query = "SELECT * FROM classtbl where idteach='$id' ORDER BY id";
        $result = mysql_query($query);
        if (mysql_num_rows($result)){
  while ($row = mysql_fetch_array($result)) {
     $name=$row[id];
     ?>
  
   <option value="<?= $name;?>"><?= $row[name];?></option>
      <?php }} else {echo '<script type="text/javascript">alert (".شما در هیچ کلاسی تدریس نمی کنید");history.go(-1); </script>';}?>
    </select>
     <p><input name="sea" type="submit" id="sea" value="مشاهده" ‍ />
  </p>
</fieldset></form>
بعد از انتخاب کد کلاس سابمیت میشه به صفحهی بعد که درون اون لیست اسامی هنرجویان اون کلاس به همراه یک تکس فیلد جلوی اون برای وارد کردن نمره قرار میگیره
PHP:
if (isset($_POST['sea'])){
        $select =$_POST['selectclass'];  
        $result=mysql_query("SELECT * FROM tblcomp  where idclass='$select' ORDER by id" );
   
   ?>
   <form action="" method="post" name="form1">
   <fieldset dir="rtl">
   <legend style=" color:#00CC00">ورود نمرات</legend>
   <table width="251" align="center" >
   <tr><td width="56">کد هنرجو</td>
       <td width="144">نام هنرجو</td>
    <td width="100">نمره هنرجو</td>
   </tr>
   <?php while  ($row=mysql_fetch_array($result)){
   $resultstu=mysql_query("SELECT * FROM stutbl  where id='$row[idstu]'");
   $rowstu=mysql_fetch_array($resultstu);    ?>
   <tr>
     <td><?= $row[idstu];?></td>
       <td><?= $rowstu[name]." ".$rowstu[famil];?></td>
    <td><input type="text" size="5" maxlength="3" name="$row[idstu]" />
    <input type="hidden"  name="$row[id]" value="<?= $row[id]?>" /> </td>
        </tr><?php $_SESSION['$row[idstu]']=$row[idstu];}?>
   </table>
   <input type="hidden"  name="idclass" value="<?= $select;?>" />
   <input type="submit" name="sbtnumber" value="ثبت" /></fieldset></form>

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

ممنون
 

pasargad-ir

Active Member
جدول tblcomp شما حاوی چه مقادیریه ؟؟؟

شما نوشته بودید UPDATE

اون چی می شه ؟؟؟

یعنی شما در جدول tblcomp یک سری اطلاعات دارید که باید به روز بشه ؟؟؟
 

hassancd

Active Member
جدول tblcomp شما حاوی چه مقادیریه ؟؟؟

شما نوشته بودید UPDATE

اون چی می شه ؟؟؟

یعنی شما در جدول tblcomp یک سری اطلاعات دارید که باید به روز بشه ؟؟؟

جدول tblcompشامل 1-id یک شماره برای جدول
2-idclass ایدی کلاس
3-idstu آیدی هنرجو
4-idteach آیدی استاد
5-nomre نمره

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

pasargad-ir

Active Member
شما یه حلقه به تعداد دانشجو هایی که در صفحه دریافت نمره ایجاد کرده اید باید داشته باشید.
PHP:
for(i=0 i<$coun_student $i++)
{
      دستورات
}

بعد Query رو بنویس

PHP:
$query="update tblcomp set `nomre `='$_POST[student_nomre] where `idstu`='$suu_ID' '";
mysql_db_query($query);
فکر کنم همینه.

این دستور برحسب شماره شناسایی دانشجو تو بانک به دنبال دانشجو میگرده و نمره رو جایگزین می کنه.
اگر خواستی محکم کاری کنی باید استاد رو هم بعد where اضافه کنی

PHP:
were `idstu`='$suu_ID' and `ostad`='$ostad' ";

موفق باشی
 

hassancd

Active Member
شما یه حلقه به تعداد دانشجو هایی که در صفحه دریافت نمره ایجاد کرده اید باید داشته باشید.
PHP:
for(i=0 i<$coun_student $i++)
{
      دستورات
}

بعد Query رو بنویس

PHP:
$query="update tblcomp set `nomre `='$_POST[student_nomre] where `idstu`='$suu_ID' '";
mysql_db_query($query);
فکر کنم همینه.

این دستور برحسب شماره شناسایی دانشجو تو بانک به دنبال دانشجو میگرده و نمره رو جایگزین می کنه.
اگر خواستی محکم کاری کنی باید استاد رو هم بعد where اضافه کنی

PHP:
were `idstu`='$suu_ID' and `ostad`='$ostad' ";

موفق باشی
ابتدا من $count_student رو از کجا بدست بیارم و کجا ازش استفاده کنم و توی حلقه ی چجوری idstu هان رو روی روی نام تکس فیلد هام بزارم و اون وقت هنگام سابمیت مند کد هنرجو رو از postها تفکیک کنم و در جای مناسب تفکیک کنم
و به جای ostad باید idclass بزاریم
دوست گلم من در بکارگیری دستورات مشکل دارم نمی دونم چجوری بگم که متوجه بشی

ببین من یک صفحه دارم که در اون لیست هنر جو ها ظاهر میشه و و جلوی هر هنرجو یک تکس باکس قرار داره که درون اون نمره قرار میگیره(لیست هنرجو ها ثابت نیست و بر اساس idclass هستش ) بعد وقتی تمامی نمرات وارد شد یک دکمه سابمیت هستش که که نمرات رو post میکنه و بعد ما این نمرات رو از post خونده و با دستور update در جای مناسب ثبت میکنه .


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

اگه سوالی هست بپورسید
 

pasargad-ir

Active Member
ابتدا من $count_student رو از کجا بدست بیارم و کجا ازش استفاده کنم

در کد هات نوشتی
PHP:
<?php while  ($row=mysql_fetch_array($result)){
   $resultstu=mysql_query("SELECT * FROM stutbl  where id='$row[idstu]'");
   $rowstu=mysql_fetch_array($resultstu);    ?>

یه روش ساده هست خیلی قدیمی ولی کار آمد.
PHP:
<?php
$i=0;
while($row=mysql_fetch_array($result))
{
    $i++;
    $resultstu=mysql_query("SELECT * FROM stutbl  where id='$row ...
?>

به همین سادگی مشخص شد.

ببین من یک صفحه دارم که در اون لیست هنر جو ها ظاهر میشه و و جلوی هر هنرجو یک تکس باکس قرار داره که درون اون نمره قرار میگیره

خیلی خوب

شما هرTEXTBOX ی رو که واسه نمره هر دانشجو می سازی به چه نامی میزاریش ؟؟؟

PHP:
<input name='code_student' type='text' value=''>

این جوری هر TEXT Box دارای یک نام مشخصه.

وقتی فرم رو میفرستی 2 فرم مخفی هم باید داشته باشی.

PHP:
<input name='code_ostad' type='hiden' value='code_ostad'>

PHP:
<input name='code_dars' type='hiden' value='code_dars'>

این هم از کد استاد و کد درس

حالا 4 تا متغیرت مشخصه

کد استاد

کد دانشجو

نمره دانشجو

کد درس

بعد میزاری تو حلقه و جوری Query رو مینویسی که به تعداد متغیر $i (هر چند تا هست) Query تولید بشه و به بانک ارسال بشه.


حله ؟؟؟؟
 

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

بالا