جلسه نوزدهم PHP: آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته
در این مقاله از کدپز با جلسه نوزدهم PHP که با موضوع استخراج داده ها و همچنین حذف داده ها از پایگاه داده MySQL میباشد در خدمت شما هستیم.
در قسمت قبل در جلسه هجدهم PHP دو موضوع “دریافت آخرین شناسه در پایگاه داده MySQL “
و “آشنایی با کاربرد دستورات آماده PHP در MySQL ” را بررسی کردیم.
در پایان این جلسه:
آموزش استخراج داده ها از پایگاه داده MySQL و همچنین حذف اطلاعات از دیتابیس MySQL را فرا خواهید گرفت.
استخراج داده ها از پایگاه داده MySQL
از دستور SELECT برای انتخاب یک یا چند داده از روی جداول پایگاه داده استفاده می کنیم. به مثال زیر از جلسه نوزدهم PHP توجه فرمایید.
1 |
SELECT column_name(s) FROM table_name |
همچنین می توانیم از کاراکتر * برای انتخاب تمامی ستون ها از یک جدول دیتابیس نیز استفاده کنیم.
1 |
SELECT * FROM table_name |
اگر نیاز به یادگیری بیشتر SQL داشتید، می توانید سری آموزش های SQL ما را دنبال کنید.
استخراج داده ها با استفاده از mysqli
مثال زیر ستون های id ، firstname و lastname را از جدول MyGuests استخراج می کند و همچنین آن ها را در صفحه نمایش می دهد. به مثال زیر از جلسه نوزدهم PHP ، که با روش ( mysqli شی گرایی ) نوشته شده است توجه فرمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->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"]. "<br>"; } } 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 رویه ایی استفاده شده است که تقریبا همانند مثال فوق می باشد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?> |
نکته : همچنین می توانیم نتیجه نهایی را در یک جدول HTML قرار دهیم:
به قطعه کد زیر از توجه فرمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->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 "<table><tr><th>ID</th><th>Name</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } $conn->close(); ?> |
استخراج اطلاعات با روش PDO ( + دستورات آماده )
ما در مثال زیر از دستورات آماده در PHP استفاده کرده ایم.
در مثال زیر ستون های id ، firstname ، و lastname را از جدول MyGuests می گیرد و آن را درون یک جدول HTML نمایش می دهد.
مثال PDO:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<?php echo "<table style='border: solid 1px black;'>"; echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>"; class TableRows extends RecursiveIteratorIterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current() { return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>"; } function beginChildren() { echo "<tr>"; } function endChildren() { echo "</tr>" . "\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 "</table>"; ?> |
حذف اطلاعات از دیتابیس MySQL
حذف اطلاعات از یک جدول MySQL با استفاده از mysqli و PDO
از عبارت DELETE برای حذف یک یا چندین رکورد در یک جدول استفاده می کنیم.
1 2 3 |
DELETE FROM table_name WHERE some_column = some_value |
توجه به عبارت WHERE در دستور DELETE : عبارت WHERE مشخص می کند که کدام رکورد و یا رکورد ها باید حذف یشوند. درصورتی که از دستور DELETE بدون عبارت WHERE استفاده کنیم، تمامی رکورد ها حذف خواهند شد. حال نگاهی به جدول MyGuests می اندازیم.
مثال های زیر رکورد با id=3 را از جدول ” MyGuests ” حذف می کند.
مثال اول از جلسه نوزدهم PHP : به صورت mysqli ( شی گرایی ):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->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 ( رویه ایی ):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // sql to delete a record $sql = "DELETE FROM MyGuests WHERE id=3"; if (mysqli_query($conn, $sql)) { echo "Record deleted successfully"; } else { echo "Error deleting record: " . mysqli_error($conn); } mysqli_close($conn); ?> |
مثال سوم : به صورت PDO:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?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 از کدپز را پشت سر بگذارید.
📝<<سه واژه مهم و تاثیرگذار در زندگی
” انتخاب ” ، ” فرصت ” ، ” تغییر ”
باید “انتخابی” درست داشته باشی؛ تا فرصتی مناسب پیدا کنی؛ و گرنه … زندگیت هیچگاه “تغییر” نخواهد کرد. . . . . >> ☑️