آموزش کامل PHP – قسمت 14: ارتباط با بانک اطلاعاتی

اتصال به بانک های اطلاعاتی از مهمترین مباحث برنامه نویسی است. زبان برنامه نویسی php قابلیت اتصال به انواع بانک های اطلاعاتی را دارا می باشد. در این قسمت از آموزش ما طریقه ارتباط با یکی از محبوب ترین بانک های اطلاعاتی یعنی mysql را آموزش خواهیم داد.

در این قسمت از سری آموزش های php با پردیس وردپرس، پروژه یک سیستم مدیریت محتوا را آغاز می کنیم.

اتصال به بانک اطلاعاتی

ابتدا پوشه ای در htdocs (زمپ) یا www (ومپ) ایجاد کنید و نام دلخواهی (مثلا cms) برای آن انتخاب کنید. در داخل پوشه فایلی به نام config.php ایجاد کنید. (این فایل تنظیمات مربوط به سیستم ما را نگهداری می کند). در واقع برنامه ما از طریق همین فایل به بانک متصل می شود.

حالا باید بانک اطلاعاتی نورد نظرتان را ایجاد کنید. بعد از اجرای نرم افزار سرور مجازی سرویس mysql آن را استارت کنید و آدرس localhost/phpmyadmin را در مرورگر وارد کنید. صفحه ای مانند تصویر زیر باز می شود که شما می توانید بانک های اطلاعاتی خود را در آن ساخته و مدیریت کنید.

ساخت بانک اطلاعاتی

روی Databases کلیک کنید و بعد از وارد کردن اطلاعات، مانند تصویر زیر روی Create کلیک کنید.

ایجاد بانک اطلاعاتی

حال نوبت ساخت جداول است. وارد بخش SQL شده و در بخش مربوطه کد های زیر را قرار دهید و روی Go کلیک کنید.

-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: May 28, 2016 at 02:13 PM
-- Server version: 10.1.9-MariaDB
-- PHP Version: 5.6.15

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `cms`
--

-- --------------------------------------------------------

--
-- Table structure for table `posts`
--

CREATE TABLE `posts` (
  `id` int(11) NOT NULL,
  `title` varchar(200) NOT NULL,
  `text` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `posts`
--
ALTER TABLE `posts`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `posts`
--
ALTER TABLE `posts`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

کد بالا برای ایجاد یک جدول به نام posts است که این جدول سه فیلد دارد. برای هر مطلب یک فیلد برای شماره مطلب وجود دارد که این شماره برای هر رکورد از جدول یکتا خواهد بود. همچنین یک فیلد برای عنوان و یک فیلد نیز برای متن مطلب در نظر گرفته‌ایم. یونیکد این جدول و تمامی فیلد‌های آن نیز utf8-general-ci است.

حال به بخش php بر می گردیم. کد زیر را در فایل config.php قرار دهید.

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbname = "cms";
$dbpass = "";

$connect_db = mysql_connect ($dbhost, $dbuser, $dbpass);

if ($connect_db){
    echo "Connected to db successfully!";
}else{
    echo "error in connecting db";
}
?>

برای اتصال به پایگاه داده mysql در php به چهار متغیر به شرح زیر نیاز داریم:

  1. متغیری برای آدرس بانک اطلاعاتی – dbhost که localhost است
  2. متغیری برای نام کاربری یا یوزرنیم بانک – dbuser که root است
  3. متغیری برای نام بانک اطلاعاتی که cms می باشد
  4. متغیری برای رمز عبور بانک اطلاعلتی – dbpass که خالی است

با استفاده از تابع mysql_connect به دیتابیس متصل شده ایم. این تابع سه آرگومان ورودی دارد که به ترتیب آدرس میزبان بانک داده، نام کاربری بانک داده و رمزعبور کاربر بانک داده هستند. خروجی این تابع که true یا false است را در متغیری به نام connect_db قرار داده ایم. سپس به کمک if آن را کنترل و پیغام مناسب را نمایش می دهیم.

بعد از مراحل فوق یک فایل index.php در پوشه cms ایجاد کرده و کد زیر را در آن قرار می دهیم.

<?php
include ("config.php");
?>

ما فایل config.php را با کد بالا در فایل index,php فراخوانی کرده‌ایم. حالا اگر آدرس http://127.0.0.1/cms/index.php را در مروگرتان اجرا کنید، باید با عبارت !Connected to db successfully مواجه شوید. در غیر این صورت یکی از مراحل را اشتباه انجام داده‌اید.

اگر همه چیز به درستی انجام شده، می توانید بخش if را در فایل config حذف کنید یا به حالت کامنت در آورید. همچنین یک دستور دیگر برای انتخاب بانک cms به آن اضافه کنید.

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbname = "cms";
$dbpass = "";

$connect_db = mysql_connect ($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname,$connect_db);
?>

با استفاده از تابع mysql_select_db می‌توانید به بانک اطلاعاتی مورد نظر خود در سرور mysql متصل شوید. همانطور که می‌بینید این تابع دو آرگومان دارد که ورودی اول نام بانک اطلاعاتی است و آرگومان دوم که تعریف آن اجباری هم نیست، به خروجی تابع اتصال به سرور اشاره دارد. ما خروجی تابع را در متغیر connect_db قرار داده بودیم و از همین رو در آرگومان دوم نام این متغیر را وارد کرده‌ایم.

توجه داشته باشید که ما در این قسمت یک جدول برای ذخیره نوشته های سایت خود ساخته ایم. در این جدول ستون id همان کلید اصلی است و شامل شماره هر سطر در جدول می باشد.

آموزش کامل HTML – قسمت نهم: فارسی نوشتن در html

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

فارسی نویسی در html

مراحل فارسی نویسی به صورت زیر می باشد:

  1. ابتدا کد <“meta charset=”utf-8> را در بین تگ <head></head> قرار می دهیم. این کار باعث می شود تا حروف فارسی توسط مرورگر پردازش شوند.
  2. با یکی از روش هایی که توضیح خواهیم داد المان های خود را راست چین یا راست به چپ کنید.

راست چین کردن جهت متن

با استفاده از المان direction می توانیم سایر المان ها را راست چین یا چپ چین کنیم. مثال:

  • ابتدا تگ دلخواه خود را باز کنید. در این جا ما تگ p را باز می کنیم.
  • در مرحله دوم استایل را به تگ اضافه می کنیم.
  • خصوصیت direction را به استایل اضافه می کنیم و عبارت rtl را در مقابل آن قرار می دهیم. rtl برای راست چین و ltr برای چپ چین می باشد.
  • تگ p را می بندیم.

<p style=”direction:rtl;”>متن</p>

نکته: شما می توانید بدون نوشتن استایل کلمه dir را در کنار المان مورد نظرتان به کار ببرید.

<p dir=”rtl”>متن</p>

راست چین کردن کل صفحه

شما می توانید با استفاده از به کار بردن خاصیت dir در تگ html کل صفحه را راست به چپ کنید. با این کار تمام المان های صفحه راست چین می شود. به مثال زیر توجه کنید.

<!DOCTYPE html>

<html dir="rtl" lang="fa">

<head>

    <meta charset="utf-8">

    <title>صفحه راست به چپ</title>

</head>

     <body>

تمامی المان‌های صفحه به صورت راست به چپ ایجاد می‌شود

    </body>

</html>

تغییر رنگ پس زمینه المان ها

تغییر رنگ پس زمینه تقریبا در تمام المان ها امکان پذیر است. یک روش برای تغییر رنگ پس زمینه استفاده از خاصیت background-color در کنار المان است. مثال:

<p style=”background-color:red;”>متن با پس زمینه قرمز</p>

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

<!DOCTYPE html>

<html>

<head>

<title>صفحه با تم خاکستری</title>

</head>

<body style="background-color: gray">

باقی المان های صفحه در پشت زمینه خاکستری دیده خواهند شد

</body>

</html>

پایان قسمت نهم