سبد (0)

برنامه نویسی php

  • متغیر ها، ظرفی برای ذخیره اطلاعات هستند.

    مثال (متغییر ها در PHP)

    <?php
    $x=5;
    $y=6;
    $z=$x+$y;
    echo $z;
    ?>

    خروجی کد بالا:

    11

    آیا جبر را از زمان مدرسه به یاد دارید؟

    Wiki

    x=5, y=6, z=x+y

    آیا به یاد می آورید که یک حرف (مانند x) می تواند برای نگهداری یک مقدار (مثل 5) به کار رود و شما می توانید طبق اطلاعات بالا مقدار z را برابر 11 ارزیابی کنید.

    این حروف، متغیر نامیده می شوند و آنها را می توان برای نگهداری مقادیر (x=5) و یا عبارات (z=x+y) استفاده کرد.

    x=5
    y=6
    z=x+y

    Note به متغیرها مانند ظرفی برای نگهدازی داده ها نگاه کنید.

    متغییر ها در PHP

    Wiki

    • متغییرها برای ذخیره ی مقادیر مانند رشته های متنی، اعداد، یا آرایه ها استفاده می شوند.
    • زمانی که یک متغییر را تعریف می کنید، می توانید آنرا در کدتان بارها و بارها استفاده کنید.
    • در PHP متغییر ها برخلاف C نوع خاصی ندارند، و از متغییرها بدون تعریف قبلی می توان استفاده نمود.
    • هر متغییر با علامت $ در ابتدای آن مشخص می شود.

    روشی صحیح برای تعریف یک متغییر در PHP:

    $var_name = value;

    توجه: اغلب برنامه نویسان تازه کار در PHP فراموش می کنند که در ابتدای نام متغییر علامت $ را درج کنند، در این صورت برنامه کار نخواهد کرد.

    مثال1:در زیر یک متغییر با محتویات رشته و یک متغییر دیگر با محتویات عدد تعریف شده است:

    <?php
    $txt="Hello World!";
    $x=16;
    ?>


    قواعد نامگذاری متغییر ها در PHP

    Wiki

    • نام یک متغییر باید با یک حرف یا یک "_" آغاز شود.
    • نام یک متغییر می تواند شامل اعداد، حروف کوچک و بزرگ و "_"  باشد. (0-9,A-Z,a-z)
    • نام متغییر ها نباید شامل فضای خالی باشد.
    • نام متغیرها به حروف بزرگ و کوچک حساس است. (y$ و Y$ دو متغیر متفاوت اند)
    Note بیاد داشته باشید که متغیرها در PHP به حروف کوچک و بزرگ حساس هستند.

    ایجاد یا اعلان متغیرها در PHP

    Wiki

    در PHP دستوری برای ایجاد متغیرها وجود ندارد.

    یک متغیر زمانی که مقداری را به آن اختصاص می دهید ایجاد می شود.

    مثال (متغییر ها در PHP)

    <?php
    $txt="Hello world!";
    $x=5;
    $y=10.5;

    echo $txt;
    echo "<br>";
    echo $x;
    echo "<br>";
    echo $y;
    ?>

    خروجی کد بالا:

    Hello world!
    5
    10.5

    بعد از اجرای مثال بالا، متغیر txd مقدار "!Hello world"، متغیر x مقدار "5" و متغیر y مقدار "10.5" را در خود نگهداری می کنند.

    توجه: زمانی که می خواهید یک مقدار رشته ای را به یک متغیر اختصاص دهید از علامت ' استفاده نمایید.


    PHP یک زبان بی ربط و بی قاعده (Loosely Type Language)

    Wiki

    در PHP یک متغییر نیازی به تعریف پیش از استفاده ندارد.

    در مثال بالا، می بینید که مجبور نیستید به PHP بگویید که متغییر از چه نوع داده ای است، PHP به طور خودکار متغییر ها را به نوع داده ای مناسب شان تبدیل می کند که بستگی دارد چگونه مقدار دهی شده باشند.

    در یک زبان برنامه نویسی قوی (مانند C یا Java) شما باید نوع و اسم متغییر را پیش از استفاده تعیین کنید. در PHP متغییر ها زمانی که شما از آنها استفاده می کنید به طور خود کار تعریف می شوند.


    محدوده متغیرها در PHP

    Wiki

    در PHP، متغیرها در هرجایی از کد می توانند اعلان شوند.

    منظور از محدوده، بخشی از اسکریبت است که متغیر می تواند در آن محدوده استفاده شود.

    سه محدوده مختلف برای متغیرها وجود دارد:

    • local
    • global
    • static

    متغیر های محلی (local) در PHP

    Wiki

    متغیرهایی که داخل یک تابع اعلان شده اند، تنها داخل همان تابع، قابل دسترسی اند. (متغیرهای با قلمرو محلی)

    متغیرهای محلی به محض اینکه عملیات تابع تکمیل شد، حذف می شوند.

    Note

    شما می توانید در توابع مختلف، متغیرهای محلی با نام های یکسان داشته باشید. بخاطر اینکه متغیرهای محلی، تنها بوسیله تابعی که آنها را اعلان کرده است شناخته می شوند.

    در بیاموزهای بعدی، درباره توابع بیشتر خواهید آموخت.


    متغیر های عمومی (global) در PHP

    Wiki

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

    زمانی که یک صفحه وب را ببندید، متغیرهای عمومی حذف خواهند شد.

    در مثال زیر، می توانید محدوده متغیرهای محلی و عمومی را مشاهده نمایید:

    مثال (متغییر ها در PHP)

    <?php
    $x=5; // global scope

    function myTest()
    {
    $y=10; // local scope
    echo "<p>Test variables inside the function:<p>";
    echo "Variable x is: $x";
    echo "<br>";
    echo "Variable y is: $y";
    }

    myTest();

    echo "<p>Test variables outside the function:<p>";
    echo "Variable x is: $x";
    echo "<br>";
    echo "Variable y is: $y";
    ?>

    خروجی کد بالا:

    Test variables inside the function:
    Variable x is:
    Variable y is: 10

    variables outside the function:
    Variable x is: 5
    Variable y is:

    در مثال بالا، دو متغیر x$ و y$ و یک تابع ()myTest وجود دارد. متغیر x$، بخاطر اینکه خارج از تابع اعلان شده، عمومی است و متغیر y$، بخاطر اینکه داخل تابع اعلان شده، محلی است.

    زمانی که داخل تابع ()myTest، مقادیر متغیرها را چاپ می کنیم، مقدار متغیر y$ بخاطر اینکه محلی است چاپ می شود، اما مقدار متغیر x$، چونکه خارج از تابع اعلان شده است نمی تواند چاپ شود.

    سپس، زمانی که مقادیر متغیرها را خارج از تابع ()myTest چاپ می کنیم، مقدار متغیر x$ چاپ می شود، اما مقدار متغیر y$، چونکه داخل تابع ()mytest اعلان شده است نمی تواند چاپ شود.


    کلمه کلیدی global در PHP

    Wiki

    با استفاده از کلمه کلیدی global، می توانید به متغیرهای عمومی در داخل یک تابع دسترسی داشته باشید.

    برای انجام این کار، از کلمه کلیدی global، قبل از نام متغیر استفاده نمایید:

    مثال (متغییر ها در PHP)

    <?php
    $x=5;
    $y=10;

    function myTest()
    {
    global $x,$y;
    $y=$x+$y;
    }

    myTest();
    echo $y; // outputs 15
    ?>

    خروجی کد بالا:

    15

    در PHP، با استفاده از آرایه GLOBALS$ نیز می توانید به متغیرهای عمومی دسترسی داشته باشید. در واقع تمام متغیرهای عمومی در این آرایه ذخیره می شوند و با استفاده از نام متغیر بعنوان ایندکس آرایه می توانید به متغیرها، دسترسی داشته باشید.

    بازنویسی مثال بالا، با استفاده از آرایه GLOBALS$:

    مثال (متغییر ها در PHP)

    <?php
    $x=5;
    $y=10;

    function myTest()
    {
    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    }

    myTest();
    echo $y; // outputs 15
    ?>

    خروجی کد بالا:

    15

    کلمه کلیدی static در PHP

    Wiki

    بطور معمول زمانی که اجرای یک تابع به پایان می رسد، تمام متغیرهای آن نیز حذف خواهند شد. اما بعضی مواقع نیاز می شود که یک متغیر محلی برای استفاده های بعدی حذف نشود.

    برای انجام این کار، از کلمه کلیدی static در ابتدای اعلان متغیر، استفاده نمایید:

    مثال (متغییر ها در PHP)

    <?php

    function myTest()
    {
    static $x=0;
    echo $x;
    echo "<br />";
    $x++;
    }

    myTest();
    myTest();
    myTest();

    ?>

    خروجی کد بالا:

    0
    1
    2

    هر زمان که تابع صدا زده می شود، آخرین مقدار متغیر static، حفظ می شود.

    توجه: در مثال بالا، متغیر x$ محلی است و فقط در داخل تابع به آن دسترسی وجود دارد.


    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • متغیر ها و توابع Static

    Wiki

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

    نحوه دسترسی:

     نام متغیر یا تابعی که static تعریف شده   ::   نام کلاس

    چهار محدوده نمایش وجود دارد:

    1. public : منبع مورد نظر در هر قسمتی قابل استفاده می باشد.
    2. protected : فقط در کلاسی که تعریف شده و کلاس هایی که آن را توسعه می دهند قابل استفاده می باشد.
    3. private : فقط در کلاسی که تعریف شده قابل استفاده می باشد.
    4. final : در هر جایی قابل استفاده می باشد، اما در کلاس های توسعه دهنده نمی تواند دوباره تعریف شود.(final به کلاس ها نیز میتواند تخصیص یابد، کلاس هایی که به صورت final تعریف شده اند، نمی توانند توسعه یابند.)

    مثال: در مثال زیر متغیر name و تابع ()action به صورت static تعریف شده است:

    <?php
    class My_Class{
        static $name="Beyamooz.com is for tutorial\n";
        static function action()
        {
            echo "PHP is easy!!\n";
        }
    }
    My_Class::action();
    echo My_Class::$name;
    $obj=new My_Class();
    $obj->action();
    //echo $obj->name;  Undefined "Property" name
    echo $obj::$name;
    ?>

    خروجی کد بالا:

    PHP is easy!!
    Beyamooz.com is for tutorial
    PHP is easy!!
    Beyamooz.com is for tutorial

    توجه: به متغیرهای Static یک کلاس، نمی توان از طریق شیء و عملگر فلش (<-) دسترسی داشت (با خطای Undefined "Property" name مواجه خواهید شد.)


    ثوابت (const)

    Wiki

    ثابت ها یا همان const ها در کلاس ها همانند متغیر ها هستند با این تفاوت که مقدار آنها قابل تغییر نمی باشد و با این مزیت که در هرجایی میتوانند مورد استفاده قرار گیرند!

    مثال:

    <?php
    class My_Class{
        const name="www.beyamooz.com<br />";
        function test()
        {
            echo self::name;
        }
    }
    echo My_Class::name;
    $obj=new My_Class;
    $obj->test();
    ؟>

     خروجی کد بالا:

    www.beyamooz.com
    www.beyamooz.com

    READ MORE
  • متغیرهای جلسه (session) در php

    Wiki

    وقتی یک Application تحت ویندوز را باز می کنید و چند تغییر روی آن می دهید و سپس آنرا می بندید، کامپیوتر می داند شما چه کسی هستید، چه موقع درخواست را آغاز و چه موقع آن را به اتمام رسانده اید. اما در اینترنت یک مشکل وجود دارد، سرور وب نمی داند شما که هستید و چه می کنید چون آدرس HTTP، حالت State را پشتیبانی نمی کند.

    یک جلسه یا session این مشکل را برای شما حل می کند، در حقیقت اطلاعات کاربر(مثل: نام کاربری و غیره) بر روی سرور برای استفاده های بعدی ذخیره می شود. اما اطلاعات جلسه موقتی اند و پس از اینکه کاربر، وب سایت را رها کند، اطلاعات حذف خواهند شد، اگر نیاز به ذخیره سازی دائمی دارید باید داده ها را در یک پایگاه داده ذخیره کنید.

    جلسه ها با ایجاد یک شماره ID منحصر به فرد برای هر بیننده و ذخیره متغیرها براساس این شماره ها کار می کنند.

    نکته: در یک پروژه تحت وب، بعد از ایجاد یک متغیر جلسه، مقدار آن برای همه ی صفحات پروژه قابل دستیابی است.


    آغاز یک جلسه (session) در php

    Wiki

     قبل از اینکه بتوانید اطلاعات کاربر، را در جلسه تان ذخیره کنید، ابتدا باید یک جلسه آغاز شود، تابع ()session_start برای این منظور استفاده می شود.

    نکته:تابع ()session_start باید قبل از تگ <html> بیاید:

    <?php session_start(); ?>

    <html>
    <body>

    </body>
    </html>


    تعریف یک متغیر جلسه (session) در PHP

    Wiki

     روش صحیح برای ذخیره و بازیابی متغیرهای جلسه، استفاده از SESSION_$ است:

    <?php
    session_start();
    // store session data
    $_SESSION['views']=1;
    ?>

    <html>
    <body>

    <?php
    //retrieve session data
    echo "Pageviews=". $_SESSION['views'];
    ?>

    </body>
    </html>

    خروجی کد بالا:

    Pageviews=1

    در مثال زیر یک "شمارنده بازدید صفحه" ایجاد کرده ایم، تابع ()isset بررسی می کند که آیا متغیر "views" در حال حاضر تنظیم شده است یا نه:

    <?php
    session_start();

    if(isset($_SESSION['views']))
       $_SESSION['views']=$_SESSION['views']+1;
    else
       $_SESSION['views']=1;
    echo "Views=". $_SESSION['views'];
    ?>


    از بین بردن جلسه (session) در PHP

    Wiki

    برای از بین بردن جلسه ها در PHP می توان از توابع زیر استفاده کرد:

    • ()unset: یک جلسه مشخص را به عنوان پارامتر دریافت می کند و آنرا از بین می برد.
    • ()session_destroy: کلیه جلسه های ایجاد شده را از بین می برد.

    <?php
    unset($_SESSION['views']);
    ?>

    <?php
    session_destroy();
    ?>

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHPکلیک کنید.

    READ MORE
  • متغیرهای رشته ای در PHP

    Wiki

    متغیر های رشته ای برای ذخیره مجموعه ای از کاراکترها استفاده می شود.

    در این فصل قصد داریم متداولترین توابعی که برای دستکاری رشته ها(String) در PHP استفاده می شود را نشان دهیم.

    بعد از اینکه یک متغیر رشته ای(String Variable) ایجاد کردید می توانید آنرا دستکاری کنید، یک رشته می تواند مستقیماً در یک تابع استفاده شود یا می توانید آنرا در یک متغیر ذخیره کنید.

    در کد PHP زیر کلمه "سلام" را به یک متغیر رشته ای(String Variable) بنام TXT$ انتساب داده و سپس آنرا چاپ می کنیم:

    <? php
    $TXT = "سلام";
    echo $TXT;
    ?>

    خروجی کد بالا:

    سلام


      حالا اجازه دهید تا بعضی از توابع و عمل کننده هایی(Operators) که برای دستکاری رشته ها بکار می رود را نشان دهیم:

    عمل کننده الحاق(نقطه)

    Wiki

    در PHP تنها یک عمل کننده برای رشته ها وجود دارد، و برای الحاق دو رشته بکار می رود، در کد زیر دو رشته "سلام" و "روز خوبی داشته باشید" به هم الحاق شده اند:

    <? php
    echo "روز خوبی داشته باشید" . " " . "سلام";
    ?>

    خروجی کد بالا:

    سلام روز خوبی داشته باشید


    تابع ()strlen

    Wiki

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

    <?php
    echo strlen("سلام!");
    echo "<br />";
    echo strlen("beyamooz.com");
    ?>

    خروجی کد بالا:

    9
    12

    توجه: در خط اول مثال بالا، چون در رشته "!سلام" از کاراکترهای فارسی استفاده شده است و به ازای هر کاراکتر فارسی 2 بیت فضا در نظر گرفته می شود، خروجی تابع ()strlen به ازای رشته مذکور 9 خواهد شد. یعنی 8 بیت برای رشته "سلام" و 1 بیت برای کاراکتر "!" در نظر گرفته خواهد شد.


    تابع ()strpos

    Wiki

    این تابع برای پیدا کردن مکان یک کاراکتر یا یک کلمه در یک رشته استفاده می شود.

    <?php
    echo strpos("beyamooz.com","m");
    ?>

    خروجی کد بالا:

    4

    توجه: همانطور که مشاهده می شود کاراکتر "m" در مکان 4 یافت شد. توجه داشته باشید که اولین مکان در رشته از 0 شروع می شود و نه 1.


    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  •  متغییرها یا Properties

    Wiki

    اشیاء یا Objectها به متغییرهای خاصی دسترسی دارند که به آنها Property می گویند این Propertyها می توانند در هرجای بدنه کلاس تعریف شوند اما برای اینکه اسکریبتمان مرتب باشد بهتر است که در بالای کلاس تعریف شوند.

    مثال:در my_class یک property به نام name با مقدار اولیه "Amir" تعریف شده است:

    <?php
    class my_class
    {
      public $name="Amir";
    }

    $obj1=new my_class();
    $obj1->name="Reza";
    $obj2=new my_class();
    print "$obj1->name"."<br />";
    print "$obj2->name"."<br />";
    ?>

    خروجی کد بالا:

    Reza
    Amir

    توضیح مثال بالا:

    1. در مثال بالا متغییر یا Property تعریف شده، در ابتدا با مقدار "Amir" تنظیم شده است، ولی در ادامه با ساختن شیء obj1 و دسترسی به این متغییر مقدار آنرا به "Reza" تغییر می دهیم.
    2. به این نکته توجه داشته باشید که بعد از اسم کلاس از دو پرانتز خالی استفاده نمودیم چون کلاس را ساده و بدون سازنده (Constructor) ساختیم.
      (بعداً به سازنده (Constructor) و مخرب (Destructor) می پردازیم.)
    3. علامت "<-" به شما اجازه می دهد تا به متغییر های یک کلاس دسترسی داشته باشید.
    READ MORE
  • مرتب کردن داده ها

    Wiki

    با استفاده از کلمه کلیدی ORDER BY می توانید داده ها را مرتب کنید.

    به صورت پیشفرض داده ها به صورت صعودی مرتب می شوند. (ASC)

    اگر مایلید که اطلاعات به صورت نزولی مرتب شوند باید از کلمه کلیدی DESC استفاده کنید.

    نحوه استفاده:

    SELECT column_name(s)
    FROM table_name
    ORDER BY column_name(s) ASC|DESC

    برای کسب اطلاعات بیشتر در مورد SQL، به لینک روبرو مراجعه فرمایید: آموزش SQL-مقدمه

    در مثال زیر ستون های id و firstname و lastname از جدول MyGuests انتخاب شده و بر اساس ستون lastname نمایش داده می شود (ASC):

    مثال(MySQLi Object-oriented)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ارتباط به پایگاه داده
    $conn = new mysqli($servername, $username, $password, $dbname);
    // مطمئن شدن از صحت ارتباط
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    //تنظیم کوئری
    $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";
    //اجرای کوئری و قرار دادن نتیجه در متغیر
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    // نمایش داده ها به ازای هر ردیف
    while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
    } else {
    echo "0 results";
    }
    //بستن ارتباط با پایگاه داده
    $conn->close();
    ?>

    خروجی کد بالا:

    id: 1 - Name: John Doe
    id: 3 - Name: Julie Dooley
    id: 2 - Name: Mary Moe

    در مثال زیر داده ها بصورت DESC (بزرگ به گوچک) نمایش داده می شود:

    مثال(MySQLi Procedural)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ایجاد ارتباط با پایگاه داده
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    // اطمینان از صحت ارتباط
    if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    }
    //تنظیم کوئری
    $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname DESC";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
    // نمایش داده ها به ازای هر ردیف
    while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
    } else {
    echo "0 results";
    }

    mysqli_close($conn);
    ?>

    خروجی کد بالا:

    id: 2 - Name: Mary Moe
    id: 3 - Name: Julie Dooley
    id: 1 - Name: John Doe

    مرتب سازی براساس دو ستون

    Wiki

    هنگام مرتب سازی براساس بیشتر از یک ستون، ستون دوم تنها موقعی استفاده می شود که مقادیر در ستون اول مساوی باشند.

    در واقع ستون دوم موقعی در مرتب سازی دخالت می کند که مقادیر ردیفها در ستون اول مساوی باشند و در بقیه موارد اثری ندارد.

    نحوه استفاده:

    SELECT column_name(s)
    FROM table_name
    ORDER BY column1, column2


    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • جلسه ی هشتم طراحی یک فروشگاه اینترنتی-نمایش تعداد کالاهای سبد خرید

    در قسمت دوم از این جلسه، به آموزش 'نمایش تعداد کالاهای سبد خرید' خواهیم پرداخت.


    آنچه که در قسمت قبل طراحی شد

    در قسمت قبل، موارد کلی زیر آموزش داده شدند:

    1.  نحوه ی حذف کالاها از سبد خرید با استفاده از ajax

    مشاهده ی آنچه که در قسمت قبل طراحی شد:

     


    آنچه که در قسمت 'نمایش تعداد کالاهای سبد خرید' خواهید آموخت

    در قسمت 'نمایش تعداد کالاهای سبد خرید' موارد زیر آموزش داده خواهند شد:

    توضیح مختصر:

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


    نمایش تعداد کالاهای سبد خرید

     به سراغ نرم افزار دریم ویور می رویم و دو فایل left.php و top.php را باز می کنیم. در اینجا، قبل از تابع deletesabad که در جلسه ی قبل آن را نوشتیم، تابع جدیدی را می نویسیم  و نام آن را tedadkol قرار می دهیم. این تابع تعداد کل را برای ما محاسبه می کند. حالا یک متغیر به نام number تعریف می کنیم و مقدار آن را برابر با 0 می گذاریم:

    حالا کاری که باید انجام دهیم تا بتوانیم تعداد کل محصولات موجود در سبد خرید را به دست بیاوریم، این است که به داخل سبد خرید خود برویم و تک تک قسمت هایی که مربوط به تعداد هست و درون liها قرار دارد را باید درون هرکدام از آنها بگردیم و فیلد تعداد را پیدا کنیم و عددش را دریافت کنیم و سپس آنها را با هم جمع کنیم تا تعداد کل به دست بیاید. همان طور که می دانید، قبلا ما این عددها را که مربوط به تعداد محصول هست را در داخل یک span قرار دادیم و آی دی آنها را tedad قرار دادیم:

     

    دوباره به سراغ نرم افزار دریم ویور می رویم و کدهای جی کوئری مان را می نویسیم:

     


    دسترسی به موارد آموزشی بالا در بسته ی خریداری شده:

    • شماره جلسه: 8
    • نام فایل ویدئو: 32
    • فرمت فایل: mp4.

    نقطه ی شروع بحث بالا (نمایش تعداد کالاهای سبد خرید) در ویدئو: 00:00

    READ MORE
  • با استفاده از AJAX، می توانید با پایگاه داده ارتباط متقابل داشته باشید.


    واکشی اطلاعات از پایگاه داده با استفاده از AJAX

    Wiki

    در مثال زیر، نحوه واکشی اطلاعات از پایگاه داده، با استفاده از AJAX نشان داده شده است:

    مثال (واکشی اطلاعات پایگاه داده با ajax)

    اطلاعات شخص انتخاب شده، اینجا نمایش داده می شود...

    توضیح مثال - پایگاه داده MySQL

    Wiki

    جدولی که در مثال بالا از آن استفاده شده است:

    id FirstName LastName Age Hometown Job
    1 Amir Pahlavansadegh 30 Isfahan Developer
    2 Nader Karimi 35 Isfahan Developer
    3 Farshid Aslani 25 Isfahan Developer
    4 Sara Ahmadi 28 Isfahan Developer
    5 reza Masomi 38 Isfahan Developer

    توضیح مثال - صفحه HTML

    Wiki

    زمانی که کاربر، یکی از آیتم های لیست کشویی بالا را انتخاب می کند، تابع "()showUser" فراخوانی و اجرا می شود. این تابع توسط رویداد "onchange" راه اندازی می شود:

    <html>
    <head>
    <script>
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","getuser.php?q="+str,true);
    xmlhttp.send();
    }
    </script>
    </head>
    <body>

    <form>
    <select name="users" onchange="showUser(this.value)">
    <option value="">انتخاب کنید</option>
    <option value="1">Amir Pahlavansadegh</option>
    <option value="2">Nader karimi</option>
    <option value="3">farshad Aslani</option>
    <option value="4">Sara Ahmadi</option>
    <option value="5">Reza Masomi</option>
    </select>
    </form>
    <br>
    <div id="txtHint"><b>اطلاعات شخص انتخاب شده، اینجا نمایش داده می شود...</b></div>

    </body>
    </html>

    تابع ()showUser کارهای زیر را انجام می دهد:

    • چک می کند که یک شخص انتخاب شده باشد. (اگر گزینه ای انتخاب نشده باشد، محتوی عنصر با شناسه "txtHint" خالی می شود)
    • یک شیء XMLHttpRequest ایجاد می شود.
    • زمانی که پاسخ سرور آماده باشد، یک تابع ایجاد و اجرا می شود. (وظیفه این تابع این است که پاسخ دریافت شده از سرور را در عنصر با شناسه "txtHint" قرار دهد)
    • درخواست یک فایل به سرور ارسال می شود.
    • توجه داشته باشید که یک پارامتر (q) به URL اضافه شده است (با محتوای گزینه انتخاب شده)

    توضیح مثال - فایل PHP

    Wiki

    فایلی که توسط کد JavaScriptبالا صدا زده می شود یک فایل PHP بنام "getuser.php" است.

    در فایل "getuser.php"، یک query در پایگاه داده MySQL اجرا می شود و نتیجه در یک جدول HTMLبرگردانده می شود.

    <?php
    $q = intval($_GET['q']);

    $con = mysqli_connect('localhost','peter','abc123','my_db');
    if (!$con)
      {
      die('Could not connect: ' . mysqli_error($con));
      }

    mysqli_select_db($con,"ajax_demo");
    $sql="SELECT * FROM user WHERE id = '".$q."'";

    $result = mysqli_query($con,$sql);

    echo "<table border='1'>
    <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
    <th>Hometown</th>
    <th>Job</th>
    </tr>";

    while($row = mysqli_fetch_array($result))
      {
      echo "<tr>";
      echo "<td>" . $row['FirstName'] . "</td>";
      echo "<td>" . $row['LastName'] . "</td>";
      echo "<td>" . $row['Age'] . "</td>";
      echo "<td>" . $row['Hometown'] . "</td>";
      echo "<td>" . $row['Job'] . "</td>";
      echo "</tr>";
      }
    echo "</table>";

    mysqli_close($con);
    ?>

    توضیح: زمانی که درخواست از JavaScript به فایل PHP ارسال می شود، کارهای زیر اتفاق می افتد:

    1. یک ارتباط به پایگاه داده MySQL ایجاد می شود.
    2. شخص مورد نظر پیدا می شود.
    3. یک جدول HTML ایجاد و با داده های مناسب پر می شود و در نهایت داده ها برگشت می شود و در عنصر با شناسه "txtHint" قرار می گیرد.

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • با استفاده از AJAX، می توانید با یک فایل XML، ارتباط متقابل داشته باشید.


    واکشی اطلاعات از یک فایل XML با استفاده از AJAX

    Wiki

    در مثال زیر، نحوه واکشی اطلاعات از یک فایل XML، با استفاده از AJAX نشان داده شده است:

    مثال (واکشی اطلاعات فایل xml با ajax)


    اطلاعات گزینه انتخاب شده، اینجا نمایش داده می شود

    توضیح مثال - صفحه HTML

    Wiki

    زمانی که کاربر، یکی از آیتم های لیست کشویی بالا را انتخب می کند، تابع "()showCD" فراخوانی و اجرا می شود. این تابع توسط رویداد "onchange" راه اندازی می شود:

    <html>
    <head>
    <script>
    function showCD(str)
    {
    if (str=="")
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","getcd.php?q="+str,true);
    xmlhttp.send();
    }
    </script>
    </head>
    <body>

    <form>
    Select a CD:
    <select name="cds" onchange="showCD(this.value)">
    <option value="">Select a CD:</option>
    <option value="Bob Dylan">Bob Dylan</option>
    <option value="Bonnie Tyler">Bonnie Tyler</option>
    <option value="Dolly Parton">Dolly Parton</option>
    </select>
    </form>
    <div id="txtHint"><b>اطلاعات گزینه انتخاب شده، اینجا نمایش داده می شود</b></div>

    </body>
    </html>

    تابع ()showCD کارهای زیر را انجام می دهد:

    • چک می کند که یک گزینه انتخاب شده باشد. (اگر گزینه ای انتخاب نشده باشد، محتوی عنصر با شناسه "txtHint" خالی می شود)
    • یک شیء XMLHttpRequest ایجاد می شود.
    • زمانی که پاسخ سرور، آماده شده باشد یک تابع ایجاد و اجرا می شود. (وظیفه این تابع این است که پاسخ دریافت شده از سرور را در عنصر با شناسه "txtHint" قرار دهد)
    • درخواست یک فایل به سرور ارسال می شود.
    • توجه داشته باشید که یک پارامتر (q) به URL اضافه شده است (با محتوای گزینه انتخاب شده)

    توضیح مثال - فایل PHP

    Wiki

    فایلی که توسط کد JavaScript بالا صدا زده می شود یک فایل PHP بنام "getcd.php" است.

    در فایل "getcd.php"، یک سند XML بنام "cd_catalog.xml" بارگذاری می شود. در این فایل یک جستجو انجام شده و نتیجه بصورت HTML برگردانده می شود.

    <?php
    $q=$_GET["q"];

    $xmlDoc = new DOMDocument();
    $xmlDoc->load("cd_catalog.xml");

    $x=$xmlDoc->getElementsByTagName('ARTIST');

    for ($i=0; $i<=($x->length-1); $i++)
    {
    //Process only element nodes
    if ($x->item($i)->nodeType==1)
      {
      if ($x->item($i)->childNodes->item(0)->nodeValue == $q)
        {
        $y=($x->item($i)->parentNode);
        }
      }
    }

    $cd=($y->childNodes);

    for ($i=0;$i<$cd->length;$i++)
    {
    //Process only element nodes
    if ($cd->item($i)->nodeType==1)
      {
      echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
      echo($cd->item($i)->childNodes->item(0)->nodeValue);
      echo("<br>");
      }
    }
    ?>

    توضیح: زمانی که درخواست از JavaScript به فایل PHP ارسال می شود، کارهای زیر اتفاق می افتد:

    1. یک شیء XML DOM ایجاد می شود.
    2. تمام عناصر <artist> که با نام ارسال شده از JavaScript تطابق داشته باشند، پیدا می شود.
    3. یک خروجی مناسب چاپ می شود و در نهاییت در عنصر با شناسه "txtHint" قرار می گیرد.

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • ویرایش اطلاعات یک جدول با استفاده از MySQLi و PDO

    Wiki

    دستور UPDATE برای ویرایش اطلاعات یک جدول استفاده می شود.

    نحوه استفاده:

    UPDATE table_name
    SET column1=value, column2=value2,...
    WHERE some_column=some_value

    نکته:اگر در دستور UPDATE، قسمت WHERE را در نظر نگیرید، کلیه ستونهایی که مشخص کرده اید، ویرایش می شوند، در حقیقت قسمت WHERE مشخص می کند که چه ردیف هایی باید ویرایش شوند.

    برای کسب اطلاعات بیشتر در مورد SQL، به لینک روبرو مراجعه فرمایید: آموزش SQL-مقدمه

    به جدول "MyGuests" که در فصل های قبلی از آن استفاده شده است توجه کنید:

    id firstname lastname email reg_date
    1 John Doe این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید 2014-10-22 14:26:15
    2 Mary Moe این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید 2014-10-23 10:22:30

     در مثال زیر، رکوردی که id آن برابر با 2 است در جدول "MyGuests" ویرایش خواهد شد:

    مثال (MySQLi Object-oriented)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ایجاد ارتباط
    $conn = new mysqli($servername, $username, $password, $dbname);
    // اطمینان از صحت ارتباط
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

    if ($conn->query($sql) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . $conn->error;
    }

    $conn->close();
    ?>

    مثال(MySQLi Procedural)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ایجاد ارتباط
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    // اطمینان از صحت ارتباط
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }

    $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

    if (mysqli_query($conn, $sql)) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . mysqli_error($conn);
    }

    mysqli_close($conn);
    ?>

    مثال(PDO)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDBPDO";

    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        // تنظیم حالت برخورد با خطاها
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // تنظیم کوئری ویرایش
        $sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

        // دستورات آماده
        $stmt = $conn->prepare($sql);

        // اجرای کوئری
        $stmt->execute();

        // چاپ پیغام موفقیت آمیز بودن عملیات ویرایش
        echo $stmt->rowCount() . " records UPDATED successfully";
        }
    catch(PDOException $e)
        {
        echo $sql . "<br>" . $e->getMessage();
        }

    $conn = null;
    ?>

    نتیجه کار بعد از ویرایش رکورد:

    id firstname lastname email reg_date
    1 John Doe این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید 2014-10-22 14:26:15
    2 Mary Doe این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید 2014-10-23 10:22:30

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه