با سلام
دوست عزیز کارهایی رو که گفتین با موفقیت انجام دادم
ممنون
بعد چیکار کنم ؟
Printable View
با سلام
دوست عزیز کارهایی رو که گفتین با موفقیت انجام دادم
ممنون
بعد چیکار کنم ؟
الان وقتی که صفحه رو اجرا میکنی یه تیبل نمایش داده میشه که توش اسمه دانش آموز ها و یه فیلد روبروشونه ؟
کد اون تیبل رو بزار تا بقیشو بگم
با سلام
جلوی فیلد نام یه فیلد نام خانوادگی هم هست بعد یه فیلد نمره دارم که تکس باکس ها اونجا قرار می گیرن
این هم کد :
کد:<table width="1100" border="1">
<tr>
<th width="360" scope="col"><div align="center"><strong><span class="style8">نمره</span></strong></div></th>
<th width="360" scope="col"><span class="style8">نام خانوادگی </span></th>
<th width="358" scope="col"><span class="style8">نام</span></th>
</tr>
<?php do { ?>
<tr>
<td><div align="center">
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" />
</label>
</form>
</div></td>
<td><div align="center"><span class="style5"><?php echo $row_Recordset1['family']; ?></span></div></td>
<td><div align="center"><span class="style5"><?php echo $row_Recordset1['name']; ?></span></div></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
آفرین
حالا شما نیاز به یه شمارنده داری
البته با num_row فرق داره این
شما به یه نام گزاری خاص احتیاج داری که تویه اون صفحه دوم بتونی این فیلد ها رو دریافت کنی
حالا وقتی نمیدونی چند تا فیلد قراره فرستاه بشه چی باید کرد
شما میای یه شمارنده میسازی که به ازای هر بار خونده شن یک سطر از دیتابیس یه شماره اضافه بشه و این شما ره رو به نام تکست فیلد ها اضافه میکنی lمتغیر $counter رو نگا کن توی کد
اینطوری میشه
[php] <table width="1100" border="1">
<tr>
<th width="360" scope="col"><div align="center"><strong><span class="style8">نمره</span></strong></div></th>
<th width="360" scope="col"><span class="style8">نام خانوادگی </span></th>
<th width="358" scope="col"><span class="style8">نام</span></th>
</tr>
<?php do {
$counter +=1;
?>
<tr>
<td><div align="center">
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="<?php echo $counter; ?>grade" />
<input type="hidden" name="<?php echo $counter; ?>id" id="hiddenField" value="<?php echo $row_Recordset1['id']; ?>" />
</label>
</form>
</div></td>
<td><div align="center"><span class="style5"><?php echo $row_Recordset1['family']; ?></span></div></td>
<td><div align="center"><span class="style5"><?php echo $row_Recordset1['name']; ?></span></div></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>[/php]
کد رو ببر تو دریم ویور جای کد خودت بزار تا متوجه بشی
خوب الان اگه مثلا 3 تا دانش آموز داشته باشی میدونی که نام فیلد های نمرشون چی میشه
1grade
2grade
3grade
حالا دیگه فقط کافیه بدونی که تعدا کل فیلد هات چند تاست
که این رو میتونی از مقدار counter بفهمی
بر اساس اون میتونی نام فیل ها رو متوجه بشی
مثلا اگه counter مقدارش 10 بود میفهمی که 10 تا فیلد هست
پس نام هاشون رو میدونی 1grade....تا...10grade
یه فیلد مخفی هم میزاریم که توی اون id دانش آموز ذخیره میشه
اینطوری وقتی نمره میره به یه صفحه دیگه بدونیم که این نمره ماله کدوم دانش آموزه
پس اینطوری میشه داده هامون برای 3 نفر
نمره دانش آموز - آیدی دانش آموز
نمره دانش آموز - آیدی دانش آموز
نمره دانش آموز - آیدی دانش آموز
اگه تا اینجاشو متوجه شدی بگو تا ادامه بدیم
نمره دانش آموز - آیدی دانش آموز
دوست عزیز ،
شما می تونی با کد زیر بدون هیچ اشکالی به mysql وصل بشی :
[php]<?php
$conn=mysql_connect("localhost","root",'');
$sql="select * from YOUR_TABLE";
$query=mysql_query($sql);
?>[/php]
با سلام
دست شما درد نکنه فهمیدم
grade1=id1
گرفتم چی شد
دستتون درد نکنه
شما ادامه بدین ولی شاید خودم بتونم بقیه اش رو بنویسم ؟
هرچی فکرش رو میکنم
می بینم درست نیست 40 تا نمره رو با نشست بین صفحات منتقل کرد
id رو منتقل کردم
ولی نمرات رو خواستم با حلقه منتقل کنم دیدیم کار بی خودی هستش
منتظر راه حل شما هستم
من از این دوستورات استفاده کردم:
session_start();
session_$
ببین الان ما توی اطلاعات فرممون هم نمره دانش آموز هم آیدیش رو داریم و با فرم میتونیم بفرستیمش به صفحه دیگه دیگه برای چی از سشن استفاده کنیم ؟
نه ببین مثلا ما همون 3 تا رو داریمنقل قول:
grade1=id1
گرفتم چی شد
name = ali , id=1 , grade=18
name = max , id=4 , grade=15
name = mamad , id=8 , grade=12
اطلاعاتی و متغیر هایی که از طریق فرم ما به صفحه دیگه فرستاده میشه اینطوری میشن
1grade=18 , 1id=1
2grade=15 , 2id =4
3grade=12 , 3id=8
اگه بیشتز بودن ...
4grad=...a , 4id=.....b
مگه نه اینکه باید اطلاعات یه فرم رو وقتی ارسال کردیم توی صفحه یگه که میخایم پردازش کنیم اول اینطوری دریافت کنیم
[php]$idfield = $_post['idfield'][/php]
ما سعی کردیم یه سیستم نام گزاری بر روی فیلد ها پیدا کنیم که بدونه دونستن تعداد فیلد ها و نام فیلد ها بتونیم توی صفحه دیگه با متد post نامشون رو حدس بزنیم و دریافتشون کنیم
توی اون کد که برات اصلاح کردم به این قسمت ها یه بار دیگه توجه کن تا متوجه بشی
[php]
$counter +=1;
[/php]کد:
اگه اینو متوجه بشی بقیش سادستکد:
<input type="text" name="<?php echo $counter; ?>grade" />
<input type="hidden" name="<?php echo $counter; ?>id" id="hiddenField" value="<?php echo $row_Recordset1['id']; ?>" />
متوجه شدم
حالا قسمت آخر رو چه جوری بنویسم ؟
بیام 50 تا رو از فرم دریافت کنم ؟
میدونم 50 تا نیست به تعداد همون کانتری که گزاشتید هست
اگه میشه کد ثبت نمرات رو بنویسید
یه خورده فکر کردم کاملاً فهمیدم چی شد
حالا یه حلقه می خوایم که به تعداد کانتر لوپ بخوره
ولی باز هم نمی دونم برای هر نمره باید یه متغیر در نظر بگیرم؟
اخه باید از فرم بت متد post دریافت کنم اون هم که متغیر می خواد
میشه post رو بدون متغیر استفاده کرد ؟
ممنون
ضمناً من خودم کد رو دستکاری کردم :
1grade
1id
شده این (این جوری بهتره)
grade1
id1