توضیحات محصول دانلود پاورپوینت Web Programming (کد12215)
Web Programming
\nWeb Programming
\n\n عنوان های پاورپوینت :
\n\n\nWeb Programming
\nWeb Programming
\nاستفاده از جداول مرتبط
\nپرس و جوهای پیشرفته
\nادامه ....
\n\nانتشار جداول
\nادامه...
\nجستجوهای پیشرفته 1
\nجستجوهای پیشرفته 2
\nجستجوهای پیشرفته 3
\nجستجوهای پیشرفته 4
\nادامه....
\nسوال از چند جدول
\nادامه...
\nادامه...
\nادامه...
\nاستفاده از اسامی مستعار در جستجوها
\nجستجوی جداول 1
\nجستجوی جداول 2
\nارتباط PHP و MySQL
\nوصل شدن به پایگاه داده
\nانجام جستجوهای MySQL از طریق PHP
\nپردازش نتایج جستجو
\nپردازش نتایج جستجو (ادامه)
\nتوابع مفید دیگر در PHP/SQL
\n\n \n\n \n\n
\n\nقسمت ها و تکه های اتفاقی از فایل\n\n \n\n۰\n\n \n\nWeb Programming\n\n2pro.ir\n\nWeb Programming\n\n \n\nAdvanced SQL and PHP\n\nAdvanced queries\n\nQuerying more than one table\n\nSearching tables to find information\n\nAliasing tables\n\nPHP functions for using query results\n\nاستفاده از جداول مرتبط\n\nSQL یک پایگاه داده رابطه ای است. یعنی می توان با چند جدول کار نمود و همزمان چندین جدول را مورد سوال قرار داد.\n\nاستفاده از چند جدول مختلف و مرتبط بصورت همزمان دارای مزایای زیر است:\n\nمی توان اطلاعات بیشتری را بدون تکرار کردن و اضافه کاری ذخیره نمود.\n\nبه روز رسانی جداول و تغییر آنها راحتتر است.\n\nمی توان انواع مختلفی از پرس و جوها را انجام داد و اطلاعات را منطبق بر نیازهای مساله بازیابی نمود.\n\n \n\nپرس و جوهای پیشرفته\n\nفرض کنید جداول زیر را تعریف نموده ایم.\n\nادامه ....\n\n \n\nدر مساله قبلی، ما تعدادی مشتری داریم که خریدهای متفاوتی را انجام می دهند. هر خرید شامل چندین آیتم است. هر آیتم یک کتاب است که ممکن است توسط چندین مشتری خریداری شود.\n\n \n\nتعریف جداول متفاوت به ما اجازه می دهد که از تکرار اطلاعات جلوگیری کنیم و به صورتهای مختلفی پرس و جو های مورد نیاز را انجام دهیم.\n\n \n\nفیلد id به ما اجازه می دهد جداول را با هم استفاده کنیم. مثلا، هر مشتری یک client_id دارد که خریدهای متفاوتی را ممکن است انجام دهد. اگر در جدول خریدها دنبال client_id بگردیم می توانیم خریدهای مشتری را پیدا کنیم.\n\n \n\nبطورمشابه می توانیم با جستجوی purchase_id در جدول itemlist آیتمهای خریداری شده را مشخص کنیم.\n\nانتشار جداول\n\nفرض کنید داده های زیر را در جداول تعریف شده ذخیره کرده ایم.\n\n \n\nmysql> select * from clients;\n\n ----------- --------- -------- -------------------------- ---------------- ---------- \n\n| client_id | f_name | l_name | address | city | postcode |\n\n ----------- --------- -------- -------------------------- ---------------- ---------- \n\n| 1 | Russell | Martin | Dept of Computer Science | Liverpool | L69 3BX |\n\n| 2 | Bob | Milnor | 12 Peachtree Ln | Liverpool | L12 3DX |\n\n| 3 | Sarah | Ford | 542b Jersey Rd | West Kirby | L43 8JK |\n\n| 4 | Larry | Vance | 76 Jarhead Ln | Liverpool | L12 4RT |\n\n| 5 | Paul | Abbott | 90 Crabtree Pl | Leamingotn Spa | CV32 7YP |\n\n ----------- --------- -------- -------------------------- ---------------- ---------- \n\n5 rows in set (0.01 sec)\n\n \n\n......\n\nmysql>\n\nجستجوهای پیشرفته 2\n\n \n\n \n\nفیلد client_idتکرار شده است. زیرا ما تمام ستونها را انتخاب کرده ایم (استفاده از گزینه *).\n\nبرای جلوگیری از این امر بدین صورت عمل می کنیم.\n\n \n\n \n\nmysql> SELECT clients.client_id, f_name, l_name, address, city, postcode, purchases.purchase_id,date from clients, purchases WHERE clients.client_id=purchases.client_id ORDER BY purchase_id;\n\n ----------- --------- -------- -------------------------- ---------------- ---------- ------------- ------------ \n\n| client_id | f_name | l_name | address | city | postcode | purchase_id | date |\n\n ----------- --------- -------- -------------------------- ---------------- ---------- ------------- ------------ \n\n| 1 | Russell | Martin | Dept of Computer Science | Liverpool | L69 3BX | 1 | 2007-11-09 |\n\n| 1 | Russell | Martin | Dept of Computer Science | Liverpool | L69 3BX | 2 | 2007-11-10 |\n\n| 2 | Bob | Milnor | 12 Peachtree Ln | Liverpool | L12 3DX | 4 | 2007-11-20 |\n\n| 4 | Larry | Vance | 76 Jarhead Ln | Liverpool | L12 4RT | 5 | 2007-11-20 |\n\n| 3 | Sarah | Ford | 542b Jersey Rd | West Kirby | L43 8JK | 6 | 2007-11-21 |\n\n| 5 | Paul | Abbott | 90 Crabtree Pl | Leamingotn Spa | CV32 7YP | 7 | 2007-11-25 |\n\n| 3 | Sarah | Ford | 542b Jersey Rd | West Kirby | L43 8JK | 8 | 2007-11-25 |\n\n ----------- --------- -------- -------------------------- ---------------- ---------- ------------- ------------ \n\n7 rows in set (0.00 sec)\n\n \n\nmysql>\n\n \n\nاستفاده از گزینه NATURAL JOIN نتیجه مشابهی دارد.\n\n \n\nmysql> SELECT * FROM clients NATURAL JOIN purchases;\n\n \n\nجستجوهای پیشرفته 3\n\nلازم نیست تمام فیلدها را بازیابی نمود.\n\n \n\nmysql> SELECT f_name,l_name, purchases.purchase_id FROM clients NATURAL JOIN purchases ORDER BY purchase_id;\n\n --------- --------- ------------- \n\n| f_name | l_name | purchase_id |\n\n --------- --------- ------------- \n\n| Russell | Martin | 1 |\n\n| Russell | Martin | 2 |\n\n| Bob | Milnor | 4 |\n\n| Larry | Vance | 5 |\n\n| Sarah | Ford | 6 |\n\n| Paul | Abbott | 7 |\n\n| Sarah | Ford | 8 |\n\n --------- ---------- ------------ \n\n7 rows in set (0.00 sec)\n\n \n\nmysql>\n\n \n\nجستجوهای پیشرفته 4\n\nبا استفاده از WHERE می توان جستجوهای پیشرفته تری انجام داد.\n\n \n\nmysql> SELECT purchases.purchase_id, f_name, l_name, date FROM purchases, clients WHERE purchases.client_id=clients.client_id;\n\n ------------- --------- -------- ------------ \n\n| purchase_id | f_name | l_name | date |\n\n ------------- --------- -------- ------------ \n\n| 1 | Russell | Martin | 2007-11-09 |\n\n| 2 | Russell | Martin | 2007-11-10 |\n\n| 4 | Bob | Milnor | 2007-11-20 |\n\n| 5 | Larry | Vance | 2007-11-20 |\n\n| 6 | Sarah | Ford | 2007-11-21 |\n\n| 7 | Paul | Abbott | 2007-11-25 |\n\n| 8 | Sarah | Ford | 2007-11-25 |\n\n ------------- --------- -------- ------------ \n\n7 rows in set (0.00 sec)\n\n \n\nmysql>\n\n \n\nادامه....\n\nپیدا کردن تمام خریدهای انجام شده توسط فردی به نام Ford\n\n \n\nmysql> SELECT purchases.purchase_id, f_name, l_name, date FROM purchases, clients WHERE (purchases.client_id=clients.client_id) AND (l_name='Ford');\n\n ------------- -------- -------- ------------ \n\n| purchase_id | f_name | l_name | date |\n\n ------------- -------- -------- ------------ \n\n| 6 | Sarah | Ford | 2007-11-21 |\n\n| 8 | Sarah | Ford | 2007-11-25 |\n\n ------------- -------- -------- ------------ \n\n2 rows in set (0.01 sec)\n\n \n\nmysql>\n\n \n\nسوال از چند جدول\n\nمی توان بیش از دو جدول را مورد سوال قرار داد:\n\nابتدا تمام خریدهای انجام شده توسط فردی به نام martin را پیدا می کنیم.\n\n \n\nmysql> select purchases.purchase_id, f_name, l_name, date FROM purchases, clients WHERE (purchases.client_id=clients.client_id) AND (l_name='Martin') ORDER BY purchases.purchase_id;\n\n ------------- --------- -------- ------------ \n\n| purchase_id | f_name | l_name | date |\n\n ------------- --------- -------- ------------ \n\n| 1 | Russell | Martin | 2007-11-09 |\n\n| 2 | Russell | Martin | 2007-11-10 |\n\n ------------- --------- -------- ------------ \n\n2 rows in set (0.00 sec)\n\n \n\nmysql>\n\n \n\nادامه...\n\nحال ببینیم چه کتابهایی خریده است:\n\n \n\nmysql> SELECT purchases.purchase_id, f_name, l_name, date, itemlist.book_id FROM purchases, clients, itemlist WHERE (purchases.client_id=clients.client_id) AND (l_name='Martin') AND (purchases.purchase_id=itemlist.purchase_id)\n\nORDER BY purchases.purchase_id;\n\n ------------- --------- -------- ------------ --------- \n\n| purchase_id | f_name | l_name | date | book_id |\n\n ------------- --------- -------- ------------ --------- \n\n| 1 | Russell | Martin | 2007-11-09 | 2 |\n\n| 1 | Russell | Martin | 2007-11-09 | 6 |\n\n| 1 | Russell | Martin | 2007-11-09 | 3 |\n\n| 2 | Russell | Martin | 2007-11-10 | 5 |\n\n| 2 | Russell | Martin | 2007-11-10 | 4 |\n\n ------------- --------- -------- ------------ --------- \n\n \n\n5 rows in set (0.00 sec)\n\n \n\nmysql>\n\n \n\nادامه...\n\nحال عنوان کتابهای خریداری شده را مشخص می کنیم.\n\n \n\n \n\nmysql> SELECT purchases.purchase_id, f_name, l_name, date, itemlist.book_id, title\n\nFROM purchases, clients, itemlist, books WHERE (purchases.client_id=clients.client_id) AND (l_name='Martin') AND (purchases.purchase_id=itemlist.purchase_id) AND (itemlist.book_id=books.book_id)\n\nORDER BY purchases.purchase_id;\n\n ------------- --------- -------- ------------ --------- ------------------ \n\n| purchase_id | f_name | l_name | date | book_id | title |\n\n ------------- --------- -------- ------------ --------- ------------------ \n\n| 1 | Russell | Martin | 2007-11-09 | 6 | Blackbeard |\n\n| 1 | Russell | Martin | 2007-11-09 | 2 | Learning SQL |\n\n| 1 | Russell | Martin | 2007-11-09 | 3 | Abstract Algebra |\n\n| 2 | Russell | Martin | 2007-11-10 | 4 | Rising Sun |\n\n| 2 | Russell | Martin | 2007-11-10 | 5 | Round the Moon |\n\n ------------- --------- -------- ------------ --------- ------------------ \n\n5 rows in set (0.00 sec)\n\n \n\nmysql>\n\n \n\nادامه...\n\nمثل سابق لازم نیست تمام فیلدها را بازیابی نمود.\n\n \n\nmysql> SELECT purchases.purchase_id, title\n\nFROM purchases, clients, itemlist, books\n\nWHERE (purchases.client_id=clients.client_id) AND (l_name='Martin') AND (purchases.purchase_id=itemlist.purchase_id) AND (itemlist.book_id=books.book_id)\n\nORDER BY purchases.purchase_id;\n\n ------------- ------------------ \n\n| purchase_id | title |\n\n ------------- ------------------ \n\n| 1 | Blackbeard |\n\n| 1 | Learning SQL |\n\n| 1 | Abstract Algebra |\n\n| 2 | Rising Sun |\n\n| 2 | Round the Moon |\n\n ------------- ------------------ \n\n5 rows in set (0.00 sec)\n\n \n\nmysql>\n\nاستفاده از اسامی مستعار در جستجوها\n\nمی توان از اسامی مستعار برای کاهش طول جستجوها استفاده نمود.\n\n \n\nmysql> select p.purchase_id, title FROM purchases AS p, clients AS c, itemlist AS i, books WHERE (p.client_id=c.client_id) AND (l_name='Martin') AND (p.purchase_id=i.purchase_id) AND (i.book_id=books.book_id) ORDER BY p.purchase_id;\n\n ------------- ------------------ \n\n| purchase_id | title |\n\n ------------- ------------------ \n\n| 1 | Blackbeard |\n\n| 1 | Learning SQL |\n\n| 1 | Abstract Algebra |\n\n| 2 | Rising Sun |\n\n| 2 | Round the Moon |\n\n ------------- ------------------ \n\n5 rows in set (0.00 sec)\n\n \n\nجستجوی جداول 1\n\nکاراکتر wildcard زبان SQL علامت % است. % با هر چیزی مطابقت دارد.\n\n \n\nmysql> SELECT * FROM clients WHERE l_name LIKE '%a%';\n\n ----------- --------- -------- -------------------------- ---------------- ---------- \n\n| client_id | f_name | l_name | address | city | postcode |\n\n ----------- --------- -------- -------------------------- ---------------- ---------- \n\n| 1 | Russell | Martin | Dept of Computer Science | Liverpool | L69 3BX |\n\n| 4 | Larry | Vance | 76 Jarhead Ln | Liverpool | L12 4RT |\n\n| 5 | Paul | Abbott | 90 Crabtree Pl | Leamingotn Spa | CV32 7YP |\n\n ----------- --------- -------- -------------------------- ---------------- ---------- \n\n3 rows in set (0.00 sec)\n\n \n\nجستجوی بالا تمام کاربرانی را که در اسم فامیلی آنها حرف a وجود دارد را پیدا می کند.\n\n \n\nmysql> SELECT * FROM clients where l_name LIKE '%an%';\n\n ----------- -------- -------- --------------- ----------- ---------- \n\n| client_id | f_name | l_name | address | city | postcode |\n\n ----------- -------- -------- --------------- ----------- ---------- \n\n| 4 | Larry | Vance | 76 Jarhead Ln | Liverpool | L12 4RT |\n\n ----------- -------- -------- --------------- ----------- ---------- \n\n1 row in set (0.00 sec)\n\nجستجوی فوق تمام کاربرانی را که اسم فامیلی آنها شامل an است را پیدا می کند.\n\n \n\n \n\nجستجوی جداول 2\n\nmysql> SELECT clients.client_id, f_name, l_name FROM clients NATURAL JOIN purchases where l_name LIKE '%a%';\n\n ----------- --------- -------- \n\n| client_id | f_name | l_name |\n\n ----------- --------- -------- \n\n| 1 | Russell | Martin |\n\n| 1 | Russell | Martin |\n\n| 4 | Larry | Vance |\n\n| 5 | Paul | Abbott |\n\n ----------- --------- -------- \n\n4 rows in set (0.00 sec)\n\n \n\n \n\nmysql> SELECT clients.client_id, f_name, l_name FROM clients, purchases WHERE (l_name LIKE '%a%') AND (clients.client_id=purchases.client_id)\n\nAND (clients.client_id > 1);\n\n ----------- -------- -------- \n\n| client_id | f_name | l_name |\n\n ----------- -------- -------- \n\n| 4 | Larry | Vance |\n\n| 5 | Paul | Abbott |\n\n ----------- -------- -------- \n\n2 rows in set (0.00 sec)\n\nارتباط PHP و MySQL\n\nبرای افزایش امنیت سایت بهتر است اطلاعات مربوط به سرور mysql ، اسم پایگاه داده، اسم کاربر و رمز عبور را در فایل جداگانه ای تایپ کرده و در برنامه اصلی آنرا include کنید.\n\n \n\n<?php\n\n/* Save this as db_login.php (or whatever you like) and include it\n\nin your php script. */\n\n \n\n// Here’s the information to connect to the database.\n\n$db_host = ‘mysql’;\n\n$db_database=‘martin’;\n\n$db_username=‘martin’;\n\n$db_password=‘’;\n\n?>\n\n \n\nاگر حتی کسی اسم فایل فوق را بداند و بخواهد فایل فوق را ببیند، وب سرور در بین راه وجود دارد. چون این فایل هیچ دستور echo ندارد یک صفحه خالی برای او ارسال خواهد شد.\n\nوصل شدن به پایگاه داده\n\nحال در صفحه اصلی به صورت زیر عمل کنید.\n\n \n\n<?php\n\ninclude_once (‘db_login.php’);\n\n$connection = mysql_connect($db_host, $db_username, $db_password);\n\nif (!$connection)\n\n{\n\nexit(“Could not connect to the database: <br/>” .\n\nhtmlspecialchars(mysql_error()) );\n\n}\n\nelse {\n\n// more statements here. . .\n\n}\n\n?>\n\n \n\nNote: The function ‘htmlspecialchars()’ converts special characters in a string into their HTML escape sequences (like ‘&’ into ‘&’ and so forth). This can also be used to increase the security of your code by and help thwart attacks on your database by passing it information that your client has submitted before trying to insert it in your database.\n\nانجام جستجوهای MySQL از طریق PHP\n\nجستجوهایی که از طریق PHP به mysql فرستاده می شوند کاملا مشابه هستند با این تفاوت که نیازی به تایپ ; وجود ندارد.\n\n \n\n \n\n<?php\n\n// Assuming a valid database connection has been established.\n\n// Build the query string by assigning variables...\n\n$query = $select . $column . $from . $tables . $where;\n\n$result = mysql_query($query);\n\nif(!$result) {\n\nexit(“Could not query the database: <br/>” .\n\nhtmlspecialchars(mysql_error()) );\n\n}\n\nelse {\n\n// process the data\n\n}\n\n?>\n\nپردازش نتایج جستجو\n\nتوابع ‘mysql_fetch_row()’ و ‘mysql_fetch_array()’ برای خواندن نتایج مفید هستند.\n\n \n\n<?php\n\n// Assuming a database connection, and a valid query string.\n\n$result = mysql_query( $query );\n\nwhile ($result_row = mysql_fetch_row($result)) {\n\necho $result_row[2] . ‘<br/>’;\n\n}\n\n \n\n?>\n\n \n\nتابع mysql_fetch_row() نتایج جستجو را بصورت یک آرایه می خواند و هر بار یک ردیف را می خواند. وقتی دیگر ردیفی وجود نداشته باشد مقدار FALSE را بر می گرداند.\n\n \n\nپردازش نتایج جستجو (ادامه)\n\nتابع mysql_fetch_array یک ردیف از نتایج را به صورت انجمنی می خواند.\n\nاگر ارگومان دوم که اختیاری است یرابر MYSQL_ASSOC باشد، نتایج بر اساس اسم ستونها ایندکس می شوند و می توان یک ستون خاص را مورد سوال قرار داد.\n\nاگر ارگومان دوم یرابر MYSQL_NUM باشد، نتایج بر اساس شماره ستونها ایندکس می شوند و می توان یک ستون خاص را مورد سوال قرار داد.\n\nمقدار پیش فرض MYSQL_BOTH نیز به هر دو صورت کار می کند.\n\n \n\nwhile ( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {\n\necho $row[“title”] . ‘<br/>’;\n\n}\n\n \n\n \n\nتوابع مفید دیگر در PHP/SQL\n\nتابع ‘mysql_data_seek($result, $value)’ را می توان برای حرکت دادن اشاره گر داخلی نتایج استفاده نمود. یعنی می توان کاری کرد که ردیفهای قبلی را مورد استفاده قرار داد بدون اینکه پایگاه داده را دوباره مورد سوال قرار داد.\n\n \n\nتابع ‘mysql_data_seek($result, 0);’ ما را به اول نتایج می برد.\n\n \n\nتابع ‘mysql_num_rows ($result);’ تعداد ردیفهای جواب را بر می گرداند.\n\n \n\nتابع‘mysql_affected_rows();’ تعداد ردیفهایی را که در اثر اجرای دستورات INSERT, DELETE, UPDATE, یا REPLACE تغییر کرده اند را بر می گرداند.\n\n \n\nتابع‘mysql_insert_id();’ آخرین id که توسط AUTO_INCREMENT تولید شده است را بر می گرداند. اگر مقدار برگشتی صفر باشد یعنی AUTO_INCREMENT تغییر نکرده است.\n\n \n\n \n\n30 تا 70 درصد پروژه | پاورپوینت | سمینار | طرح های کارآفرینی و توجیهی | پایان-نامه | پی دی اف مقاله ( کتاب ) | نقشه | پلان طراحی | های آماده به صورت رایگان میباشد ( word | pdf | docx | doc )