جلسه نوزدهم PHP

نویسنده:

سجاد حسین زاده

Statistics-rafiki

تعداد بازدید:

1630

Calendar-amico (2)

تاریخ به‌روزرسانی:

1400-09-10

Work time-rafiki

زمان مطالعه:

5 دقیقه

جلسه نوزدهم PHP: آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته

در این مقاله از کدپز با جلسه نوزدهم PHP که با موضوع استخراج داده ها و همچنین حذف داده ها از پایگاه داده MySQL میباشد در خدمت شما هستیم.

در قسمت قبل در جلسه هجدهم PHP دو موضوع “دریافت آخرین شناسه در پایگاه داده MySQL “

و  “آشنایی با کاربرد دستورات آماده PHP در MySQL ” را بررسی کردیم.

نهمین جلسه از PHP پیشرفته

در پایان این جلسه:

آموزش استخراج داده ها از پایگاه داده MySQL و همچنین حذف اطلاعات از دیتابیس MySQL را فرا خواهید گرفت.

استخراج داده ها از پایگاه داده MySQL

از دستور SELECT برای انتخاب یک یا چند  داده از روی جداول پایگاه داده استفاده می کنیم. به مثال زیر از جلسه نوزدهم PHP توجه فرمایید.

SELECT column_name(s) FROM table_name

همچنین می توانیم از کاراکتر * برای انتخاب تمامی ستون ها از یک جدول دیتابیس نیز استفاده کنیم.

SELECT * FROM table_name

اگر نیاز به یادگیری بیشتر SQL داشتید، می توانید سری آموزش های SQL ما را دنبال کنید.

استخراج داده ها با استفاده از mysqli

مثال زیر ستون های id ، firstname و lastname را از جدول MyGuests استخراج می کند و همچنین آن ها را در صفحه نمایش می دهد. به مثال زیر از جلسه نوزدهم PHP ، که با روش ( mysqli شی گرایی ) نوشته شده است توجه فرمایید.

connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>

به توضیح کد های بالا از جلسه نوزدهم PHP توجه فرمایید.

در ابتدا، ما یک کوئری SQL ایجاد میکنیم تا ستون های id ، firstname و lastname را از جدول MyGuests انتخاب کند. سپس در خط بعد کوئری اجرا می شود و نتایج داده ه درون یک متغیر به نام $result قرار می گیرند.

در مرحله بعد، تابع () num_rows بررسی می کند که آیا اطلاعات تعداد یک یا تعداد بیشتری سطر برگردانده شده است یا خیر، که اگر بیشتر از صفر ردیف وجود داشته باشد، تابع () fetch_assoc تمام نتایج را در یک آرایه رابطه ایی (associative array) انتقال می دهد. که ما می توانیم با استفاده از حلقه به آن دست پیدا کنیم.

حال حلقه ()while ، به اطلاعات درون آرایه دسترسی دارد و خروجی اطلاعات را که شامل ستون های   id، firstname  و lastname می باشد را، نشان می دهد.

شما در حال آموزش و یادگیری جلسه نوزدهم PHP می باشید.

به مثال زیر توجه فرمایید. در این مثال از روش mysqli رویه ایی استفاده شده است که تقریبا همانند مثال فوق می باشد.

 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } mysqli_close($conn); ?>

نکته : همچنین می توانیم نتیجه نهایی را در یک جدول HTML قرار دهیم:
به قطعه کد زیر از توجه فرمایید.

connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "";
    }
    echo "
IDName
".$row["id"]."".$row["firstname"]." ".$row["lastname"]."
"; } else { echo "0 results"; } $conn->close(); ?>

استخراج اطلاعات با روش PDO ( + دستورات آماده )

ما در مثال زیر از دستورات آماده در PHP استفاده کرده ایم.

در مثال زیر ستون های id ، firstname ، و lastname را از جدول MyGuests می گیرد و آن را درون یک جدول HTML نمایش می دهد.

مثال PDO:

";
echo "IdFirstnameLastname";

class TableRows extends RecursiveIteratorIterator {
    function __construct($it) {
        parent::__construct($it, self::LEAVES_ONLY);
    }

    function current() {
        return "" . parent::current(). "";
    }

    function beginChildren() {
        echo "";
    }

    function endChildren() {
        echo "" . "\n";
    }
}

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
    $stmt->execute();

    // set the resulting array to associative
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
        echo $v;
    }
}
catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}
$conn = null;
echo "";
?>

حذف اطلاعات از دیتابیس MySQL

حذف اطلاعات از یک جدول MySQL با استفاده از mysqli و PDO

از عبارت DELETE برای حذف یک یا چندین رکورد در یک جدول استفاده می کنیم.

DELETE FROM table_name
WHERE some_column = some_value

توجه به عبارت WHERE در دستور DELETE : عبارت WHERE مشخص می کند که کدام رکورد و یا رکورد ها باید حذف یشوند. درصورتی که از دستور DELETE بدون عبارت WHERE استفاده کنیم، تمامی رکورد ها حذف خواهند شد. حال نگاهی به جدول MyGuests می اندازیم.

php-part-19(1)
جلسه نوزدهم PHP

مثال های زیر رکورد با id=3 را از جدول ” MyGuests ” حذف می کند.

مثال اول از جلسه نوزدهم PHP : به صورت mysqli ( شی گرایی ):

connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// sql to delete a record
$sql = "DELETE FROM MyGuests WHERE id=3";

if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . $conn->error;
}

$conn->close();
?>

مثال دوم : به صورت mysqli ( رویه ایی ):


مثال سوم : به صورت PDO:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // sql to delete a record
    $sql = "DELETE FROM MyGuests WHERE id=3";

    // use exec() because no results are returned
    $conn->exec($sql);
    echo "Record deleted successfully";
}
catch(PDOException $e)
{
    echo $sql . "<br>" . $e->getMessage();
}

$conn = null;
?>

بعد از حذف کردن رکورد مورد نظر، جدول به این شکل در خواهد آمد.

php-part-19(2)
جلسه نوزدهم PHP

تبریک میگم شما موفق شدید تا جلسه نوزدهم PHP از کدپز را پشت سر بگذارید.

📝<<سه واژه مهم و تاثیرگذار در زندگی

    ” انتخاب ” ، ” فرصت ” ، ” تغییر ”

    باید “انتخابی” درست داشته باشی؛ تا فرصتی مناسب پیدا کنی؛ و گرنه … زندگیت هیچگاه “تغییر” نخواهد کرد.  . . . . >> ☑️

Picture of سجاد حسین زاده

سجاد حسین زاده

سجاد حسین زاده هستم متولد کرج, بنده از سال ۹۴ سابقه حضور در حوزه وب را دارم. و روزبه‌روز در حال رشد و ارتقای خودم تو این زمینه هستم. از علایقم که بخوام به گم: خب واضحه که عاشق کدنویسی هستم. و همچنین من از معدود افراد برنامه‌نویس ورزشکار هم به‌حساب میام.

تا کنون 264 نفر در کدپز ثبت نام کرده اند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *