آژانس هواپیماییexchanging

توابع در MySQL

شروع موضوع توسط iransbs ‏21 ژوئن 2005 در انجمن PHP

  1. iransbs

    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:
     
  2. iransbs

    iransbs کاربر تازه وارد

    تاریخ عضویت:
    ‏3 می 2005
    نوشته ها:
    471
    تشکر شده:
    0
    محل سکونت:
    ایران، مازندارن، ساری
  3. mazoolagh

    mazoolagh Registered User

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

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

    mazoolagh Registered User

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

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

    iransbs کاربر تازه وارد

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

    iransbs کاربر تازه وارد

    تاریخ عضویت:
    ‏3 می 2005
    نوشته ها:
    471
    تشکر شده:
    0
    محل سکونت:
    ایران، مازندارن، ساری
    آقا شرمنده اگر یه کتابی یا موضوعی که در این باره کامل توضیح می ده با فارسی بنویسین ممنون
     
  7. appbannerkhuniresbanner
  8. mazoolagh

    mazoolagh Registered User

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,940
    تشکر شده:
    7
    طراحي ديتابيس هم مستقل از نحوه ورود اطلاعات و نمايش هست (يعني ارتباطي به اين نداره كه php يا asp استفاده ميكني) و هم تا حد زيادي مستقل از نوع بانك (MySQL - MsSQL - Access همگي تقريبا در تنوع نوع داده ها مشابهند ولي كيفيت كارشون متفاوت هست) و حدس من اينه كه مشكل شما به همين قسمت طراحي برميگرده البته اينجا كساني هستند كه بمراتب تجربه و سطح اطلاعتشون بالاتر باشه و شايد بهتر بتونن راهنمايي كنن.

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

    sama_sally Registered User

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

    mazoolagh Registered User

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,940
    تشکر شده:
    7
  11. iransbs

    iransbs کاربر تازه وارد

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

    iransbs کاربر تازه وارد

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

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

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

    ممنون یکی کمک کنه :questionm
     
  13. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    كدوم Select ؟ Select توی MySQL ؟
     
  14. avajang.com .leftavajang.com.right
  15. sama_sally

    sama_sally Registered User

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

    //ادامه
    ?>
     
  16. iransbs

    iransbs کاربر تازه وارد

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

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

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    به چیچیش چی کار کنیم؟؟؟؟؟؟ :eek: :blink:
     
  18. iransbs

    iransbs کاربر تازه وارد

    تاریخ عضویت:
    ‏3 می 2005
    نوشته ها:
    471
    تشکر شده:
    0
    محل سکونت:
    ایران، مازندارن، ساری
    آقا قربونت به این آی دی پی ام بده کارم گیره
    [email protected]
    ممنون منتظرم
     
  19. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    بابا ياهو لاگين نميكنه!!!!!!!!!!!! :blink:
    لاگين كه كرد پي ام مي دم :blush:
     
  20. iransbs

    iransbs کاربر تازه وارد

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