برگزیده های پرشین تولز

توابع در MySQL

iransbs

کاربر تازه وارد
تاریخ عضویت
3 می 2005
نوشته‌ها
471
لایک‌ها
0
محل سکونت
ایران، مازندارن، ساری
سلام خدمت همه

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

خوب اول به این کد نگه کنید
CREATE TABLE class (
id tinyint(4) NOT NULL auto_increment,
name text NOT NULL,
lastname text NOT NULL,
reshte text NOT NULL,
alaghe text NOT NULL,
moudel text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
خوب ما یک جدول با زیر مجموعه و این حرف ها ساخته ایم
و فرض کنید در ریز گروه class مجموعه moudel در نظر ما هست و معدل های دانش آموزان در این قسمت قرار می گیرد که بر فرض مثال نمرات از این قبل هستند 20، 15 ، 16 ، 17 ، 8 ، 9 ، 10 و غیره
( عجب دانش آموز های درس خونی )
بگذریم می خواهم کاری کنم که تمامی نمرات با هم جمع شوند و اگر شد معدل در رو به رویش نوشته شود یا در هر جایی
بچه صورت این کار انجام پذیر است
قابل ذکر هست که من کل نمرات رو به این صورت نشون می دم
PHP:
<HTML>
<link rel="stylesheet" href="quiz.css" type="text/css">
<title>WelCome To IransBs.com</title><style type="text/css">
<!--
body,td,th {
	font-family: Tahoma;
	font-size: 10px;
}
body {
	background-color: #FFFFF4;
}
-->
</style><body dir="rtl"><center>
        <table width="909" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td width="10" height="147" rowspan="2">&nbsp;</td>
            <td colspan="2" align="right" valign="top">&nbsp;</td>
          </tr>
          <tr>
            <td width="888" height="317" align="center" valign="top"><?php

include("contentdb.php");

$result = mysql_query("SELECT * FROM $table ORDER BY id",$db);
echo "<table>";
echo "<tr bgcolor=FFFFFF><td>شماره ثبت</td><td>نام</td><td>فامیلی</td><td>رشته تحصیلی</td><td>علاقه مندی ها</td><td>آخرین معدل تحصیلی</td></tr>";

while ($row = mysql_fetch_array($result)) 
{
	
	$id = $row["id"]; 
	$name = $row["name"]; 
	$lastname = $row["lastname"];
	$reshte = $row["reshte"];
	$alaghe = $row["alaghe"];
	$moudel = $row["moudel"];
	if ($alternate == "1") { 
	$color = "#ffffff"; 
	$alternate = "2"; 
	} 
	else { 
	$color = "#F4EAEA"; 
	$alternate = "1"; 
	} 
	echo "<tr bgcolor=$color><td>$id</td><td>$name</td><td>$lastname</td><td>$reshte</td><td>$alaghe</td><td>$moudel</td></tr>"; 
} 
echo "<tr bgcolor=#F4EAEA><td>آخرین شماره به ثبت رسیده</td><td></td><td></td><td></td><td></td><td>جمع معدل</td></tr>";
echo "<tr bgcolor=#FFFFFF><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
echo "</table>";
?></td>
          <td width="11" align="center" valign="top">&nbsp;</td>
          </tr>
        </table>       
</center>
</body>
</HTML>
خوب اگر ما $id رو تقسیم بر جمع تمامی زیر filed های $moudel کنیم معدل به دست می یاد .
سوال من این هست که چه طوری می شه تمامی زیر filed ها $moudel رو با هم جمع کرد
یادتون نره که امکان داره در هر زمانی یک filed اضافه بشه پس ما یک چیز دینامیک می خواهیم


ممنون یکم بیشتر توضیح بدید چون من زیاد با MySQL کار نکردم :rolleyes:
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
فكر كنم بهتره طراحي جداولت رو تغيير بدي:
يك جدول كلاسها شامل class_id و نام كلاس و توضيحات در مورد اون - بدون هرگونه مشخصات دانش آموزان
يك جدول دانش آموزان شامل student_id , class_id و مشخصات ديگر دانش آموزان
يك جدول دروس شامل lecture_id و نام هر درس و مشخصات ديگه مثلا teacher_id (اگر جدول معلمين هم داشته باشي)
يك جدول نمرات شامل student_id,lecture_id و نمره

حالا نمرات هر دانش آموز رو توي اين جدول آخري بريز.
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
راستي براي معدل گيري نمرات يك دانش آموز ميتوني از تابع average استفاده كني

کد:
select student_name, average(points) from students where student_id=...
 

iransbs

کاربر تازه وارد
تاریخ عضویت
3 می 2005
نوشته‌ها
471
لایک‌ها
0
محل سکونت
ایران، مازندارن، ساری
ببخشید می توانید یک مثال بیارید
مثلا شما فرض کنید ما نمرات رو با نام numbers_bd بر فرض مثال گذاشته ایم
حالا select student_name, average(points) from students where student_id=... باید کجا تغییر کنه ؟
بعد این در کجا بیاد یعنی اگر مثلا من خودم تغییر بدم و وارد <?php بکنمش حله
به دیتابیس وصل هم هستیم
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7
به نقل از iransbs :
ببخشید می توانید یک مثال بیارید
مثلا شما فرض کنید ما نمرات رو با نام numbers_bd بر فرض مثال گذاشته ایم
حالا select student_name, average(points) from students where student_id=... باید کجا تغییر کنه ؟
بعد این در کجا بیاد یعنی اگر مثلا من خودم تغییر بدم و وارد <?php بکنمش حله
به دیتابیس وصل هم هستیم

طراحي ديتابيس هم مستقل از نحوه ورود اطلاعات و نمايش هست (يعني ارتباطي به اين نداره كه php يا asp استفاده ميكني) و هم تا حد زيادي مستقل از نوع بانك (MySQL - MsSQL - Access همگي تقريبا در تنوع نوع داده ها مشابهند ولي كيفيت كارشون متفاوت هست) و حدس من اينه كه مشكل شما به همين قسمت طراحي برميگرده البته اينجا كساني هستند كه بمراتب تجربه و سطح اطلاعتشون بالاتر باشه و شايد بهتر بتونن راهنمايي كنن.

مثال رو در چه موردي بيارم؟ بر اساس طرح شما كه ساختار كاملش رو ندارم!
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
به نقل از iransbs :
آقا شرمنده اگر یه کتابی یا موضوعی که در این باره کامل توضیح می ده با فارسی بنویسین ممنون
كتاب
Sams Teach Yourself PHP In 24 Hours, 3rd Edition , c2004​
نوشته Matt Zandstra​
شايد بتوني توي قسمت SQL چیزی پیدا کنی :blink:
 

mazoolagh

Registered User
تاریخ عضویت
10 آپریل 2004
نوشته‌ها
2,938
لایک‌ها
7

iransbs

کاربر تازه وارد
تاریخ عضویت
3 می 2005
نوشته‌ها
471
لایک‌ها
0
محل سکونت
ایران، مازندارن، ساری
بابا دمت گرم عجب کتابی هست ها
البته هنوز نخوندم ولی از اونجایی که زحمت کشیدی گذاشتی کلی شرمنده شدم
sama_sally از شما هم متشکرم
 

iransbs

کاربر تازه وارد
تاریخ عضویت
3 می 2005
نوشته‌ها
471
لایک‌ها
0
محل سکونت
ایران، مازندارن، ساری
آقا من همه رو خوندم ولی هیچ کدوم نگفت که من چه طوری از select استفاده کنم

یعنی من select رو در کجای پی اچ پی باید بیارم :blink: ، آخه کار من همش با سورس بود حالا دست از سورس کاری برداشتم :blush:

حالا یکی هست به ما بگه select رو باید چه طوری وارد پی اچ پی کرد تا ارور نگیره ، آخه من هر جا می زارم ارور می ده :wacko:

ممنون یکی کمک کنه :questionm
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
به نقل از iransbs :
آقا من همه رو خوندم ولی هیچ کدوم نگفت که من چه طوری از select استفاده کنم

یعنی من select رو در کجای پی اچ پی باید بیارم :blink: ، آخه کار من همش با سورس بود حالا دست از سورس کاری برداشتم :blush:

حالا یکی هست به ما بگه select رو باید چه طوری وارد پی اچ پی کرد تا ارور نگیره ، آخه من هر جا می زارم ارور می ده :wacko:

ممنون یکی کمک کنه :questionm

كدوم Select ؟ Select توی MySQL ؟
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
PHP:
<?php
//اتصال به بانک اطلاعات
$query = "SELECT username FROM users";
$result = mysql_query($query);

//ادامه
?>
 

iransbs

کاربر تازه وارد
تاریخ عضویت
3 می 2005
نوشته‌ها
471
لایک‌ها
0
محل سکونت
ایران، مازندارن، ساری
دمت گرم حالا برای انکه ما بخوایم توی پی اچ پی به نامیشش در باریم باید چی کار کنیم

یعنی چه طوری متغییر باهاش ست بشه
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
به نقل از iransbs :
دمت گرم حالا برای انکه ما بخوایم توی پی اچ پی به نامیشش در باریم باید چی کار کنیم

یعنی چه طوری متغییر باهاش ست بشه

به چیچیش چی کار کنیم؟؟؟؟؟؟ :eek: :blink:
 
بالا