تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: اموزش phpجدید

  1. #1
    داره خودمونی میشه masoud_razor's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    germany
    پست ها
    134

    12 اموزش phpجدید

    می خوام از ابتدا براتون اموزش phpبزارم
    همکاری کنید دوستان

  2. #2
    داره خودمونی میشه masoud_razor's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    germany
    پست ها
    134

    پيش فرض نمایش چند صفحه ای اطلاعات

    با توجه به مطالب مطرح شده در انجمن اين سايت و جالب بودن بحث صفحه به صفحه نمايش
    دادن اطلاعات نتيجه شده از جستجو در DataBase تصميم گرفتم که مقاله ای در اين خصوص
    تهيه کنم و اميدوارم که اين مطالب مورد استفاده دوستان قرار بگيرد .



    در اين مقاله از MySQL استفاده شده اما اين روش را می توان با هر DataBase بکار
    برد .






    جزء LIMIT :



    جزء LIMIT در عبارت Select کليد حل مشکل ماست ، به وسيله اين جزء است که ما می
    توانيم سطرهای مورد نظر خود از DataBase را در Query خود داشته باشيم .



    LIMIT به دو شکل به کار می رود با يک آرگومان و يا با دو آرگومان ،اين آرگومانها
    عدد هستند ، اگر LIMIT با يک آرگومان استفاده شود تعداد جواب به آن عدد محدود می
    شود :



    SELECT * FROM table LIMIT 5






    عبارت Select در اين حالت 5 سطر اول Table را در جواب بر می گرداند ،اما اگر LIMIT
    با دو آرگومان استفاده شود آرگومان اول مشخص کننده سطر آغازين است و آرگومان دوم
    تعداد سطرهايی را که بايد برگردانده شوند را مشخص می کند ، البته بايد به اين نکته
    توجه کرد که در SQL سطرها از صفر (0) شروع می شوند نه از يک (1) .






    SELECT * FROM table LIMIT 5, 5



    اين عبارت SQL سطرهای 6 تا 10 از DataBase را برمی گرداند .



    کار با جزء LIMIT مشکل نيست ولی برای اينکه به هدف مطرح شده در اين مقاله نيل
    کنيم لازم است که چگونگی عملکرد آن را درک کنيد .






    گام اول متغير $start :



    در اينجا می دانيم که از چه چيزی بايد برای بدست آوردن سطرهای مورد نظر خود از
    DataBase استفاده استفاده کنيم . اما سوال اين است که چگونه متوجه می شويم که از
    کجا بايد LIMIT کنيم يا به عبارت ديگر از کدام سطر بايد شروع کنيم ؟ پاسخ خيلی
    روشن است ما از يک متغير به نام $start استفده می کنيم و اين متغير را از صفحه
    ای به صفحه ديگر می فرستيم .






    حال که روش کار مشخص شده شروع به نوشتن کد در PHP می کنيم :







    <?php
    $query = "SELECT * FROM table LIMIT \" . $start . \", 10\";

    ?>




    اين شکل query ماست و اين query 10 سطر ازtable را از جايی که مساوی مقدار start
    باشد را select می کند . اما برای مشخص کردن مقدار start دو راه وجود دارد(در هنگامی
    که اولين 10 سطر را بازيافت می کنيم ) يا آن را در URL می نويسيم و يا با شرطی
    چک می کنيم که اگر قبلا مقداری به آن داده نشده ما مقدار آن را صفر می کنيم لازم
    است برای اين کار از کدی شبيه به کد زير استفاده می کنيم :




    <?php
    if(!isset($start)) $start = 0;
    ?>






    حالا وقتی کسی صفحه ما را مشاهده کند مقدار $start به صورت خودکار صفر خواهد شد
    .

  3. #3
    داره خودمونی میشه masoud_razor's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    germany
    پست ها
    134

    پيش فرض

    UPLOAD كردن MySQL

    با سلام خدمت دوستان گرامى



    با توجه به اينكه Upload كردن اطلاعات در MySQL يكى از مواردى بود كه در انجمن
    زياد سؤال پرسيده مىشد من روشى كه خودم براى Upload كردن اطلاعات استفاده مىكنم
    را براى شما شرح مىدهم






    ابتدا توسط mysqldump اطلاعات مربوطه را در يك فايل txt ذخيره سازى مىكنيم







    Shell > mysqldump --opt DBname TBname > (c:\data.txt or /home/user/data.txt)






    نكته:



    1 – براى ذخيره سازى تمامى table هاى يك DB بايد اسم database مورد نظر را بدون
    اسم table ها ذكر كنيد






    2 - براى ذخيره سازى چندين database بايد اسم DB ها را پشت سر هم ذكر كنيد







    Shell > mysqldump --opt --databases DB1 DB2 > (c:\data.txt or /home/user/data.txt)






    3 - شما مىتوانيد تمامىdatabase ها را بصورت ذير ذخيره سازى كنيد








    Shell > mysqldump --opt --all-databases > (c:\data.txt or /home/user/data.txt)













    حال اطلاعات مربوط به table مورد نظر را در يك فايل txt ذخيره سازى كرده‌ ايم
    انرا بر روى host مورد نظر FTP مىكنيم






    سپس با يك دستور ساده اطلاعات را وارد MySQL مىكنيم







    Shell > mysql database < data.sql



    نكته :



    براى استفاده از username & password جهت استفاده از MySQL بايد بصورت زير
    عمل كنيد







    Shell > Mysql –h host -u user -p database < backup-file.sql



    نكته :



    چنانچه شما براى انجام اين كار بر روى host دسترسى به Shell نداريد مىتوانيد از
    اين راه استفاده كنيد






    از يك PHP استفاده مىكنيد بصورت زير :




    <?php
    shell_exec(“Mysql –h host -u user -p database < backup-file.sql”);
    ?>




    ?>



    اين روش ساده ای بود كه من براى upload كردن اطلاعات استفاده مىكنم



    اميدوارم كه مورد استفاده دوستان قرار بگيرد

  4. #4
    داره خودمونی میشه masoud_razor's Avatar
    تاريخ عضويت
    Jun 2008
    محل سكونت
    germany
    پست ها
    134

    پيش فرض

    SQLite پیشنهاد سبک وزن

    این درسته که MYSQL و بقیه RDBMS ها برای برنامه های بزرگ و چند کاربره مفید هستند ولی خوب اگر شما می خواین یک سایت کم ترافیک و کوچیک درست کنین، شاید SQLite بهترین راه حل باشه. چون سرعتش نسبت به MYSQL 2تا 3 برابر بیشتره که خوب مزیت بزرگیه.
    کار با SQLite در PHP و بوسیله دستور PEAR آسان است. در نصب PEAR بطور پیش فرض SQLite وجود نداره ولی خیلی راحت Pear می تونه پکیج SQLite را download کنه سپس کامپایل کنه و در نهایت نصبش کنه.



    [root@zaemis www]# pear download SQLite
    File SQLite-1.0.2.tgz downloaded (362412 bytes)
    [root@zaemis www]# pear install SQLite-1.0.2.tgz




    الان SQLite در شاخه DB از PEAR قابل دسترسی است.




    <?php
    require_once "DB.php\";
    require_once \"DB/SQLite.php\";
    $db = new DB_sqlite();
    ?>





    برای کاربران windows یک فایل dll کامپایل شده وجود دارد که شما می تونید اونو از این آدرس download کنید.




    SQLite binary for Windows: snaps.php.net/win32/PECL_STABLE/php_sqlite.dll




    حالا باید به فایل php.ini اینها رو اضافه کنیم (البته اگر شما از php version 5 استفاده می کنید نیازی به این تغییرات نیست).




    ; load the SQLite extension (UNIX)
    extension=sqlite.so
    ; windows users will want to use this version instead
    ; extension=php_sqlite.dll




    اتصال به دیتابیس
    اتصال به SQLite با MySQL یه مقدار فرق داره. چون MySQL برای محیط های چند کاربره طراحی شده در حالیکه SQLite برای برنامه های کاربردی تک کاربره طراحی شده که نیازی به ID و password هم برای وصل شدن نداره.
    در عوض باید از یک آرایه برای ایجاد یک DSN (Data Source Name) استفاده کرد. DSN اشاره گری است برای مشخص کردن محل قرارگیری فایلهای دیتابیس. بعد این DSN رو به متد connect() پاس می کنیم.





    <?php
    $DSN = array(
    "database\" => getcwd() . \"/dbase/mydbase.db\",
    \"mode\"=> 0644
    );
    $db->connect($DSN);
    ?>




    اگر شما به دیتابیسی متصل شوید که وجود خارجی نداشته باشد یک دیتابیس جدید با permission های ذکر شده جاوی mode ایجاد می شود.
    متد disconnect() برای قطع کردن اتصال استفاده می شود.




    <?php
    $db->disconnect();
    ?>





    پرس و جوها
    متد query() برای این منظور استفاده می شود. مثل MySQL پرس و جوها می تونن برای ایجاد جداول و وارد کردن دیتا استفاده شوند.



    <?php
    $query =
    "INSERT INTO guestbook (fname, lname, email, comments)
    VALUES ('John', 'Smith', 'jsmith@example.org', 'Great Website!')\"
    ;
    $result = $db->query();
    ?>





    متد fetchRow() می تواند برای نشان دادن نتیجه پرس و جو استفاده شود که معادل متد mysql_fetch_row هست.




    <?php
    $query = "SELECT * FROM guestbook\";
    $result = $db->query($query);
    while (list($fname, $lname, $email, $comment) = $db->fetchRow(
    $result))
    {
    echo \"<p><a href=\\"mailto:$email"
    >$fname $lname</a> said:<br />\";
    echo nl2br(htmlspecialchars(stripslashes($comment))) .
    \"</p>\";
    }
    ?>





    نوشتن کد
    در اینجا یک نمونه اسکریپت که با استفاده از SQLite نوشته شده داریم:




    <?php
    require_once "DB.php\";
    require_once \"DB/SQLite.php\";
    $db = new DB_sqlite();
    $DSN = array(\"database\" => getcwd() . \"/dbase/mydbase.db\");
    $db->connect($DSN);
    $query = \"SELECT * FROM guestbook\";
    $result = $db->query($query);
    while (list($fname, $lname, $email, $comment) = $db->fetchRow(
    $result))
    {
    echo \"<p><a href=\\"mailto:$email"
    >$fname $lname</a> said:<br />\";
    echo nl2br(htmlspecialchars(stripslashes($comment))) .
    \"</p>\";
    }
    $db->disconnect();
    ?>





    دستوراتی از SQL که پشتیبانی نمی شوند
    هر برنامه دیتابیسی تفسیر خودش رو از SQL92 استاندارد داره، SQLite هم مستثنا نیست. بعضی از اینها ناشی از مدل طراحی embedded این دیتابیس دارند (مثل فقدان REVOKE و GRANT) بعضی هاشون هم جدا لج آورند (مثل نادیده گرفتن data type ها)
    در این آدرس می تونید لیستی از دستورات SQL رو که توسط SQLite پشتیبانی می شوند را ببینید:




    (
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    )
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



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

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •