نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
MySQL دارای یک ویژگی عالی است که با عنوان "نمایش" شناخته می شود. نمایش نمایش داده شد. برای یک سؤال طولانی مدت از آنها فکر کنید. در این راهنما ، من به شما نشان می دهم که چگونه از نمایها برای سازماندهی بهتر داده ها استفاده کنید.
نصب MySQL در Debian 7.x بسیار ساده است. اول ، ما باید اطمینان حاصل کنیم که منابع ما با اجرای به روزرسانی می شوند:
sudo apt-get update
بعد ، می توانیم سرور MySQL را نصب کنیم:
sudo apt-get install -y mysql-server
کادر محاوره ای نمایش داده می شود و از شما خواسته می شود برای کاربر "root" رمزعبور ایجاد کنید. مطمئن باشید که این رمز عبور را به خاطر دارید.
بیایید با نصب ، امنیت نصب خود را سخت کنیم:
sudo mysql_secure_installation
پس از اجرا ، به شما یک سری از پرسنل ها ارائه می شود. هر یک از پاسخ هایی که باید انتخاب کنید در زیر نمایش داده می شود.
...
Enter current password for root (enter for none):
OK, successfully used password, moving on...
...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
...
Remove anonymous users? [Y/n] y
... Success!
...
Disallow root login remotely? [Y/n] y
... Success!
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
...
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
در این مرحله ، ما داده ای در مورد سرور نداریم تا با آنها آزمایش کنیم. برای این آموزش ، ما از بانک اطلاعات کارمندان استفاده خواهیم کرد زیرا کار با آن و دسترسی آزاد از وب سایت MySQL آسان است.
sudo wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2
ما باید نصب کنیم bzip2
تا بتوانیم پرونده را استخراج کنیم.
sudo apt-get install bzip2
استخراج بانک اطلاعاتی. پرونده نسبتاً بزرگ است ، بنابراین ممکن است چند لحظه طول بکشد.
sudo bzip2 -dfv employees_db-full-1.0.6.tar.bz2
sudo tar -xf employees_db-full-1.0.6.tar
پس از استخراج پرونده ، پوشه ای با عنوان خواهید داشت employees_db
. برای نصب پایگاه داده باید به این فهرست برویم.
cd employees_db
ls -l
خروجی به شرح زیر خواهد بود:
-rw-r--r--. 1 501 games 752 Mar 30 2009 Changelog
-rw-r--r--. 1 501 games 6460 Oct 9 2008 employees_partitioned2.sql
-rw-r--r--. 1 501 games 7624 Feb 6 2009 employees_partitioned3.sql
-rw-r--r--. 1 501 games 5660 Feb 6 2009 employees_partitioned.sql
-rw-r--r--. 1 501 games 3861 Nov 28 2008 employees.sql
-rw-r--r--. 1 501 games 241 Jul 30 2008 load_departments.dump
-rw-r--r--. 1 501 games 13828291 Mar 30 2009 load_dept_emp.dump
-rw-r--r--. 1 501 games 1043 Jul 30 2008 load_dept_manager.dump
-rw-r--r--. 1 501 games 17422825 Jul 30 2008 load_employees.dump
-rw-r--r--. 1 501 games 115848997 Jul 30 2008 load_salaries.dump
-rw-r--r--. 1 501 games 21265449 Jul 30 2008 load_titles.dump
-rw-r--r--. 1 501 games 3889 Mar 30 2009 objects.sql
-rw-r--r--. 1 501 games 2211 Jul 30 2008 README
-rw-r--r--. 1 501 games 4455 Mar 30 2009 test_employees_md5.sql
-rw-r--r--. 1 501 games 4450 Mar 30 2009 test_employees_sha.sql
دستورالعمل زیر را برای اتصال به سرور MySQL ، ایجاد بانک اطلاعاتی و وارد کردن داده ها اجرا کنید:
sudo mysql -h localhost -u root -p -t < employees.sql
فوریتی ظاهر می شود که از رمز عبور اصلی شما درخواست می کند. این رمز عبوری است که شما در مرحله اول تنظیم کرده اید.
با توجه به اینکه این پایگاه داده بسیار بزرگ است ، احتمالاً 1-3 دقیقه طول خواهد کشید تا داده ها به طور کامل وارد شود. اگر همه چیز به درستی انجام شد ، خروجی زیر را مشاهده خواهید کرد.
+-----------------------------+
| INFO |
+-----------------------------+
| CREATING DATABASE STRUCTURE |
+-----------------------------+
+------------------------+
| INFO |
+------------------------+
| storage engine: InnoDB |
+------------------------+
+---------------------+
| INFO |
+---------------------+
| LOADING departments |
+---------------------+
+-------------------+
| INFO |
+-------------------+
| LOADING employees |
+-------------------+
+------------------+
| INFO |
+------------------+
| LOADING dept_emp |
+------------------+
+----------------------+
| INFO |
+----------------------+
| LOADING dept_manager |
+----------------------+
+----------------+
| INFO |
+----------------+
| LOADING titles |
+----------------+
+------------------+
| INFO |
+------------------+
| LOADING salaries |
+------------------+
اکنون می توانیم وارد MySQL شویم و داده های وارد شده را مشاهده کنیم.
sudo mysql -h localhost -u root -p
رمز اصلی را که در قسمت قبلی تنظیم کرده اید وارد کنید .
لیست دیتابیس های مربوط به بانک اطلاعاتی کارمندان تازه ایجاد شده را بررسی کنید .
show databases;
خروجی به شرح زیر خواهد بود:
+--------------------+
| Database |
+--------------------+
| information_schema |
| employees |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
بیایید از بانک اطلاعات کارمندان استفاده کنیم .
use employees;
جداول موجود در آن را بررسی کنید.
show tables;
این نتیجه خواهد داد:
+---------------------+
| Tables_in_employees |
+---------------------+
| departments |
| dept_emp |
| dept_manager |
| employees |
| salaries |
| titles |
+---------------------+
6 rows in set (0.01 sec)
در این مرحله ، ایجاد و استفاده از نماها را یاد خواهید گرفت. من این مرحله را برای تطبیق داده ها و ترکیب داده ها برای سازمان ، به بخش های کوچکتر تقسیم کرده ام. زمان آن است که تعامل با داده های تست ما شروع شود.
در زیر ، یک پرس و جو دارم که به کلیه کارمندانی که دارای حقوق سالانه معادل یا بیشتر از 50،000 دلار هستند ، نشان می دهد.
select * from salaries where salary >= 50000;
خروجی (کوتاه شده):
+--------+--------+------------+------------+
| emp_no | salary | from_date | to_date |
+--------+--------+------------+------------+
| 10001 | 60117 | 1986-06-26 | 1987-06-26 |
| 10001 | 62102 | 1987-06-26 | 1988-06-25 |
| 10001 | 66074 | 1988-06-25 | 1989-06-25 |
| 10001 | 66596 | 1989-06-25 | 1990-06-25 |
| 10001 | 66961 | 1990-06-25 | 1991-06-25 |
(...)
همانطور که مشاهده می کنید ، این تنها شماره کارمندان را نشان می دهد. هنگام تلاش برای شناسایی سریع یک کارمند ، می تواند ناراحت کننده باشد. خوشبختانه ، ما می توانیم با کشیدن و مطابقت داده ها از چندین جدول ، یک نمایه ایجاد کنیم که یک پرس و جو نسبتاً طولانی را ذخیره کند که می تواند شماره کارمندان را با نام کارمندان مطابقت دهد. پرس و جو در زیر نشان داده شده است.
select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;
توجه کنید که چگونه من >= 50000
از پرس و جو حذف شده ام . پس از ایجاد دیدگاه ما از این مقدار استفاده خواهیم کرد.
برای ایجاد نمای ، ما به سادگی create view view_name as
به پرس و جو پیوست می کنیم. در این حالت ، من می خواهم منظره ای بنام names_salaries ایجاد کنم .
create view named_salaries as select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;
ما داده ها را از همان منظره نمایش می دهیم که داده ها را از یک جدول نمایش می دهیم.
select * from named_salaries
اگر نمای به درستی ایجاد شده باشد ، خروجی زیر را مشاهده خواهید کرد (داده ها کوتاه شده است):
+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date | from_date |
+------------+-----------+--------+--------+------------+------------+
| Georgi | Facello | 10001 | 60117 | 1987-06-26 | 1986-06-26 |
| Georgi | Facello | 10001 | 62102 | 1988-06-25 | 1987-06-26 |
| Georgi | Facello | 10001 | 66074 | 1989-06-25 | 1988-06-25 |
| Georgi | Facello | 10001 | 66596 | 1990-06-25 | 1989-06-25 |
| Georgi | Facello | 10001 | 66961 | 1991-06-25 | 1990-06-25 |
| Georgi | Facello | 10001 | 71046 | 8 1992-06-24 | 1991-06-25 |
(...)
از آنجا که ما می توانیم با دیدگاه ها به همان روشی که می توانیم با یک جدول تعامل داشته باشیم تعامل داشته باشیم ، می توان >= 50000
از query اصلی استفاده کرد و آن را برای نمایش استفاده کرد.
select * from named_salaries where salary >= 50000;
خروجی (کوتاه شده):
+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date | from_date |
+------------+-----------+--------+--------+------------+------------+
| Georgi | Facello | 10001 | 60117 | 1987-06-26 | 1986-06-26 |
(...)
| Bezalel | Simmel | 10002 | 65828 | 1997-08-03 | 1996-08-03 |
(...)
| Chirstian | Koblick | 10004 | 50594 | 1992-11-29 | 1991-11-30 |
(...)
| Kyoichi | Maliniak | 10005 | 78228 | 1990-09-12 | 1989-09-12 |
(...)
| Anneke | Preusig | 10006 | 53747 | 1998-08-03 | 1997-08-03 |
(...)
+------------+-----------+--------+--------+------------+------------+
همانطور که مشاهده می کنید ، پرس و جو دقیقاً مانند یک جدول سنتی با منظره برخورد کرده است.
بگذارید از یک نمون in در مثال دیگر استفاده کنیم. در زیر ، یک پرس و جو نسبتاً طولانی دارم که لیست مدیران ، نام و نام خانوادگی آنها ، شماره کارمندان ، نام ب��ش آنها و شماره بخش را لیست می کند. پرس و جو داده ها را از چندین جدول مختلف جمع می کند.
select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;
خروجی (کوتاه شده):
+-------------+--------------+--------+------------+------------+--------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+-------------+--------------+--------+------------+------------+--------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
| DeForest | Hagimont | 110511 | 1992-04-25 | 1985-01-01 | Development | d005 |
| Leon | DasSarma | 110567 | 9999-01-01 | 1992-04-25 | Development | d005 |
(...)
همانطور که مشاهده می کنید ، هر بار که بخواهید لیستی از مدیران بخش را بدست آورید ، می توانید آن درخواست را تایپ کنید. بیایید یک دیدگاه ایجاد کنیم تا آسانتر شود. من قصد دارم این نظر را "مدیریت" بنامم.
create view management as select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;
اکنون می توانیم به سادگی تایپ کنیم select * from management;
تا داده های مشابه را بازیابی کنیم. البته ، ما می توانیم پارامترهای اضافی را نیز بر روی آن اعمال کنیم - درست مثل یک میز سنتی. به عنوان مثال ، می گویند ما می خواستیم فقط مدیران بخش ها را برای "خدمات مشتری" نشان دهیم.
select * from management where dept_name = 'Customer Service';
خروجی:
+------------+-------------+--------+------------+------------+------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+------------+-------------+--------+------------+------------+------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
+------------+-------------+--------+------------+------------+------------------+---------+
یا شاید ما "خدمات مشتری" و "منابع انسانی" بخواهیم:
select * from management where dept_name = 'Customer Service' OR dept_name = 'Human Resources';
خروجی:
+------------+--------------+--------+------------+------------+------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+------------+--------------+--------+------------+------------+------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
| Shirish | Ossenbruggen | 110183 | 1992-03-21 | 1985-01-01 | Human Resources | d003 |
| Karsten | Sigstam | 110228 | 9999-01-01 | 1992-03-21 | Human Resources | d003 |
+------------+--------------+--------+------------+------------+------------------+---------+
حذف یک نمای بسیار ساده است. مانند حذف جدول ، می توانید تایپ کنید drop view view_name;
. به عنوان مثال ، اگر می خواستیم نمای name_salaries را حذف کنیم ، این دستور عبارت است از drop view named_salaries;
:.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد