1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش برنامه نويسي شيء گرا با PHP

شروع موضوع توسط minaaa ‏30/10/11 در انجمن PHP

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نويسي شيء گرا با PHP - قسمت اول و دوم و سوم

    آموزش پي اچ پي قسمت يازدهم - ارتباط با مای اس کیو ال




    ارتباط با دیتابیس – MySql

    Sql یک زبان ساختار یافته برای ارتباط با دیتابیس هست که بیشتر دیتابیس
    های sql روش های خاص خودشون رو دارن , مثل مرورگرها که برا خوندن اچ تی
    ام ال روش خودشون رو دارند . توضیح دادن sql در این سری آموزشی از حوصله
    من و شما خارج هست با این حال سعی میکنم بصورت خیلی خلاصه یه توضیحی بدم .

    Mysql به عنوای یک سرویس اجرا میشه که کاربر میتونه بصورت لوکال یا ریموت
    بهش وصل بشه و بعد اینکه وصل شد میتونید دیتابیس تون رو انتخاب کنید البته
    اگه دسترسی بهش رو داشته باشید . هر دیتابیس میتونه چندین جدول داشته باشه
    که هرجدول شامل سطر و ستون هست . هر ستون(Column) فقط مقادیری رو میپذیره
    که براش تعریف شده مثلا Int برا مقادیر Integer یا Text برا مقادیر
    متنی .



    اجازه بدید چند تا از دستورات پرکاربرد Sql رو بررسی کنیم :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    Create Table mytable(firstname VARCHAR(30),lastname VARCHAR(30),age INT);



    </code>
    </code>
    دستور بالا یک جدول با سه ستون برا ما ایجاد میکنه که firstname و
    lastname به عنوان متغییر رشته ای استفاده میشه که حاوی 30 کاراکتر هست
    یعنی بیشتر از 30 کاراکتر قبول نمیکنه و age به عنوان متغیر عددی میتونه
    عددی رو قبول کنه .

    برای اضافه کردن اطلاعات به این جدول اینطوری عمل میکنیم :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    INSERT INTO mytable(firstname,lastname,age)values(‘Mehdi’,’Safary’,19) ;



    </code>
    </code>
    همونطور که میبینید ما عدد مربوط به سن رو داخل ‘ نزاشتیم چون
    متغیرهای عددی احتیاج ندارن که داخل ‘ قرار بگیرن . برای انتخاب این
    اطلاعات وارد شده از دستور :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    SELECT * From mytable;



    </code>
    </code>
    علامت * یعنی همه ستون ها انتخاب بشن ... ما میتونیم تکی هم اینکار رو بکنیم به این صورت :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    SELECT age From mytable;



    </code>
    </code>
    که تنها متغیر age انتخاب خواهد شد .

    برای ذخیره یا تغییر اطلاعات یک سطر (رکورد) از این دستور استفاده میکنیم :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    UPDATE mytable SET firstname=’Mahdi’ ;



    </code>
    </code>
    دستور بالا در تمامی سطر ها ستون firstname رو برابر Mahdi قرار
    میده , مسلما این همیشه چیزی نیست که میخوایم برای تغییر سطر خاصی از یک
    جدول از دستور WHERE استفاده میکنیم .

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    UPDATE mytable SET firstname=’Mahdi’ WHERE lastname=’Safary’ ;



    </code>
    </code>
    در دستور بالا سطری تغییر پیدا میکنه که lastname برابر با Safary باشه , در غیر اینصورت تغییری صورت گرفته نمیشه .

    Mysql یکی از قدرتمند ترین دیتابیس ها و یکی از سریعترین دیتابیس های
    موجود هست و سادگی استفاده از اون توسط پی اچ پی باعث محبوبیت درمیان پی اچ
    پی کاران شده
     
  2. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : آموزش برنامه نويسي شيء گرا با PHP - قسمت اول و دوم و سوم

    :آموزش پي اچ پي قسمت يازدهم - ارتباط با مای اس کیو ال
    نحوه برقراری ارتباط با دیتابیس Mysql توسط پی اچ پی :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    $link = mysql_connect(“localhost”,”username”,”password”);

    if (!
    $link) die(“Could not Connect To Database”);



    </code>
    </code>
    در دستور پی اچ پی بالا ما به دیتابیس وصل میشیم دقت کنید که ما در
    مثال هامون فرض بر این میگیریم که بر روی کامپیوتر شخصی خودمون داریم
    برنامه هامون رو اجرا میکنیم و معمولا نام کاربری برابر root پسوردی وجود
    نداره دستور بالا به این صورت هست

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    $link = mysql_connect(“localhost”,”root”,””);



    </code>
    </code>
    برای انتخاب دیتابیس هم از دستور mysql_select_db(); استفاده
    میکنیم بزارید با مثالی بیشتر توضیح بدم : در این مثال ما اطلا عاتی رو
    وارد دیتابیس میکنیم همون اول لازمه که یک دیتابیس بسازید به اسم db1

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    $dbname=”db1”;

    //ertebat ro ijad mikonim

    $link=mysql_connect(“localhost”,”root”,””);

    // age ertebat movafag nabood error zir ro midim

    if(! $link) die(“Could not connect to database”);

    // database ro entekhab mikonim

    mysql_select_db($dbname,$link) or die (“could not open $dbname : .mysql_error() );

    //query to tariff mikonim

    $query=”INSERT INTO mytable(firstname,lastname,age)values(‘Mehdi’,’Safary’,19);

    //query ro ejra mikonim

    mysql_query($query,$link) or die(“Could not add data”.mysql_error());

    // ertebat ro mibandim

    mysql_close($link);



    </code>
    </code>
    برای بدست اوردن تعداد نتیجه به این صورت عمل میکنیم :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    $result=mysql_query(“select * from mytable);

    $numrows=mysql_num_rows( $result );

    print
    "There are currently $numrows rows in the table<P>";



    </code>
    </code>
    بزارید دو نوع از روش کشیدن داده از دیتابیس رو باهم ببینیم در روش اول ما تمام داده ها رو داخل یه حلقه قرار میدیم و میدیم بیرون :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    <?php

    $db
    = "db1";

    $link = mysql_connect( "localhost", “root”, “” );

    if ( !
    $link ) die( "Couldn't connect to MySQL" );

    mysql_select_db( $db, $link ) or die ( "Couldn't open $db: ".mysql_error() );

    $result = mysql_query( "SELECT * FROM mytable" );

    $num_rows = mysql_num_rows( $result );

    print
    "There are currently $num_rows rows in the table<P>";

    print
    "<table border=1>\n";

    while (
    $a_row = mysql_fetch_row( $result ) ) {

    print
    "<tr>\n";

    foreach (
    $a_row as $field )

    print
    "\t<td>$field</td>\n";

    print
    "</tr>\n";

    }

    print
    "</table>\n";

    mysql_close( $link );

    ?>

    </code>
    </code>
    خوب ما در مثال بالا تمامی اطلاعات داخل جدول mytable رو داخل یک جدول اچ تی ام ال چاپ میکنیم .

    در روش دوم ما میخوایم فقط اطلاعات خاصی رو چاپ کنیم برای مثال ستون های خاصی رو چاپ کنیم نه همه ستون ها رو :

    PHP Code:
    <code style="white-space: nowrap;">
    <code>
    <?php

    $db
    = "db1";

    $link = mysql_connect( "localhost", “root”, “” );

    if ( !
    $link ) die( "Couldn't connect to MySQL" );

    mysql_select_db( $db, $link ) or die ( "Couldn't open $db: ".mysql_error() );

    $result = mysql_query( "SELECT * FROM mytable" );

    $num_rows = mysql_num_rows( $result );

    print
    "There are currently $num_rows rows in the table<P>";

    print
    "<table border=1>\n";

    while (
    $arow = mysql_fetch_array( $result ) )

    {

    print
    "<TR>\n";

    print
    "<TD>$arow[firstname]</TD><TD>$arow[lastname]</TD>\n";

    print
    "</TR>\n";

    }

    print
    "</table>\n";

    mysql_close( $link );

    ?>

    </code>
    </code>
    برای اپدیت کردن یا همون تغییر دادن هم کافیه از همون دستور Sql که دربالا دربارش صحبت کردیم استفاده کنیم