logo

PHP yordamida MySQLni boshqarish

Загружено в:

08.08.2023

Скачано:

0

Размер:

223.5615234375 KB
Mavzu:PHP yordamida MySQLni boshqarish
Reja:
1. Masalaning qo’yilishi;
2. Masalaning nazariy asoslari;
4. Masalani yechish qadamlari;
5. Xulosa. 1. Masalaning qo’yilishi
Open   server   lokal   serveri   tarkibidagi   MySQL   ma’lumotlar   bazasini   boshqarish   tizimidagi
mavjud   ma’lumotlar   bazasi   tarkibidagi   jadvallarga   PHP   dasturlash   tili   yordamida   yangi
yozuvlar qo’shish, mavjud yozuvlarni turli shartlar asosida chop etish, tahrirlash va o’chirish.
3. Masalaning nazariy asoslari
PHP dasturlash tili yordamida siz MySQL ma’lumotlar bazasida yangi baza yaratishingiz, shu
ma’lumotlar   bazasi   tarkibida   jadvallar   yaratishingiz,   yaratilgan   jadvallarga   ma’lumotlar
qo’shishingiz,   o’chirishingiz,   tahrirlashingiz,   ularni   turli   shartlar   asosida   chop   etishingiz
mumkin. 
PHP   da   ma’lumot   bazasi   bilan   ishlash   uchun   quyidagi   uchta   funksiyadan   eng   ko’p
foydalaniladi:
• mysqli_connect - ma’lumot bazasi va server bilan ulanish
• mysqli_query -  MB   ga so’rov  yuborishning  universal   funksiyasi,   u yordamida  barcha
SQL so’rovlarini hosil qilish mumkin
• connect_error - xatolikni chiqarish.
PHP yordamida MySQL ni boshqarishda har doimo dastavval php kodlari yozilayotgan fayl
va   ma’lumotlar   bazasini   bog’lash   talab   etiladi.   Buning   uchun   biz   mysqli_connect
funksiyasidan foydalanamiz. Uning umumiy sintaksisi quyidagicha:
$conn = mysqli_connect ("localhost", "user", "parol", "baza_name");
Bu yerda 
$conn  – bog’lanish natijasini o’ziga taminlab olayotgan o’zgaruvchi;
localhost  – server nomi;
user  – bazadagi foydalanuvchi nomi;
parol  – shu foydalanuvchi paroli;
baza_name  – qaysi bazaga bog’lanayotgan bo’lsak shu baza nomi;
MB ga so’rov yuborish.  Ma’lumotlar bazasiga so’rovlar bu  mysqli_query  funksiyasi ichiga
uzatiladigan oddiy satrlar. 
SQL   buyruqlar   hamisha   katta   registrda   yozilishi   kerak,   qolganlari   kichkina.   Bu   SELECT,
UPDATE,   FROM,   DELETE,   WHERE   va   boshqa   shu   turdagi   komandalarga   tegishli.   Agar
bularni   kichik  registrda   yozsangiz   xato   bo’lmaydi,   lekin  katta   registrda  yozish   umum   qoida
sifatida qabul qilingan.
4. Masalani yechish qadamlari;
Eslatma:   PHPda   yozilgan   kod   sеrvеrning   o’zida   bajarilib,   mijozga   HTML   shaklida   yеtib
boradi yani uning kompliatori web serverlardir. Shuning uchun PHP dasturlash tilida tuzilgan
web  ilovalarni   sinab  ko’rish   uchun  lokal   serverlar   (Denwer,  XAMP,   OpenServer  kabi  lokal
serverlar)dan foydalanamiz.
Birinchi   qadamda   diskadagi   Open   Server   papkasidagi   domain   papkasi   ichida   yangi   biror
nomdagi   papka   yaratib   olamiz,   misol   uchun   dars   nomli.   Bu   papka   ichida   index.html   nomli
php fayl yaratib olamiz (bu faylni barcha html muharirlari yordamida yaratishinigiz mumkin).
Yaratilayotgan   bu   faylda   hisob   kitob   ishlarini   bajarmaymiz   shunchaki   unda   mavjud
ma’lumotlar   bazasiga   tarkibidagi   mavjud   jadvalga   yangi   yozuvlar   qo’shuvchi,   mavjud
yozuvlarni o’chiruvchi, tahrirlovchi va chop etuvchi fayllarga gipermurojatlar yozib qo’yamiz
(1-rasm):
index.html fayliga yozilgan kod
<!DOCTYPE html> <html >
<head>
<body>
<h1> Ushbu web sahifadagi kerakli giper murojatni tanlash orqali ma'lumotlar bazasi 
ustida amallar bajarish mumkin </h1>
<h3><a href="add.html">
Ma'lumolar bazasiga yangi yozuvlar qo'shish </a></h3>
<h3><a href="print.php">
Ma'lumolar bazasidagi yozuvlarni chop etish </a></h3>
<h3><a href="edit.php">
Ma'lumolar bazasidagi yozuvlarni tahrirlash </a></h3>
<h3><a href="delete.php">
Ma'lumolar bazasidagi yozuvlarni o`chirish </a></h3>
</body>
<h4>
</html>
index.html faylining brouzerdagi natijasi Ma’lumotlar bazasi tarkibidagi jadvalga yangi yozuvlar qo’shish
Navbatdagi   qadamlarda   yaratilgan   baza   tarkibidagi   jadvalga   php   kodlari   va   sql   so’rovlari
yordamida   yangi   yozuvlar   qo’shamiz.   Buning   uchun   eng   avvalo   add.html   faylda   forma
yaratib olamiz. add.html fayldagi kod quyidagicha bo’lishi mumkin:
add.html fayliga yozilgan kod
<?php
//formadan olingan ma'lumotlarni o'zgaruvchilarga taminlash
$fan = $_POST['a'];
$mar = $_POST['b'];
$mchi = $_POST['d'];
$ama = $_POST['c'];
$achi = $_POST['e'];
//ushbu faylni baza bilan bog'lash
$conn = mysqli_connect("localhost","root","","Sherbek");
//formadagi ma'lumotlarni bazaga qo'shib qo'yish
$qush = $conn->query("INSERT INTO fanlar (fan, maruza, maruzachi, amaliyot, 
amaliyotchi) 
VALUES('$fan', '$mar', '$mchi', '$ama', '$achi')");
if ($qush->connect_error) die("ma'lumot qo'shilmadi".$qush->connect_error);
else {
echo "bazaga qo'shildi";
}
?>
add.html faylining brouzerdagi natijasi add1.php  fayliga yozilgan kod
<?php
//formadan olingan ma'lumotlarni o'zgaruvchilarga taminlash
$fan = $_POST['a'];
$mar = $_POST['b'];
$mchi = $_POST['d'];
$ama = $_POST['c'];
$achi = $_POST['e'];
//ushbu faylni baza bilan bog'lash
$conn = mysqli_connect("localhost","root","","Sherbek");
//formadagi ma'lumotlarni bazaga qo'shib qo'yish
$qush = $conn->query("INSERT INTO fanlar (fan, maruza, maruzachi, amaliyot, amaliyotchi) 
VALUES('$fan', '$mar', '$mchi', '$ama', '$achi')");
if ($qush->connect_error) die("ma'lumot qo'shilmadi".$qush->connect_error);
else {
echo "bazaga qo'shildi";
}
?>
Ma'lumolar  bazasidagi mavjud yozuvlarni chop etish
Ushbu   qadamlarda   jadval   tarkibidagi   mavjud   yozuvlarni   turli   so’rovlar   asosida   chop   etish
jarayonini ko’rib o’tamiz. Buning uchun yangi print.php faylni yaratib olamiz. 
print.php fayliga yozilgan kod
<?php
//ushbu faylni baza bilan bog'lash $conn = mysqli_connect("localhost","root","","sherbek");
//so'rov asosida jadvaldan yozuvlarni ajratib olish
$tanla = $conn->query("SELECT * FROM fanlar");
// ma’lumotlarni jadvalda chop etish
echo "<table border=2 width=\"100%\">
<tr bgcolor=\"gren\">
<td>".$i."</td> // 0-maydoni chiqarish
<td>".$satr["1"]."</td>  // 1-maydoni chiqarish
<td>".$satr["2"]."</td>  // 2-maydoni chiqarish
<td>".$satr["3"]."</td>  // 3-maydoni chiqarish
<td>".$satr["4"]."</td>   // 4-maydoni chiqarish
<td>".$satr["5"]."</td>   // 5-maydoni chiqarish
</tr>";
$i=1;
// jadvaldagi yozuvlarni $satr massiviga taminlash va ularni chop etish
while ($satr = $tanla->fetch_row()) {
echo 
"<tr>
<td>".$i."</td>
<td>".$satr["1"]."</td>
<td>".$satr["2"]."</td>
<td>".$satr["3"]."</td>
<td>".$satr["4"]."</td>
<td>".$satr["5"]."</td>
</tr>";
$i++;
}
echo "</table>";
?>print.php faylining brouzerdagi natijasi Ma'lumolar   bazasidagi   mavjud   yozuvlarni   tahrirlash
Ushbu qadamlarda jadval tarkibidagi mavjud yozuvlarni tahrirlash jarayonini ko’rib o’tamiz.
Buning uchun yangi  edit.php  faylni yaratib olamiz. Ushbu faylda qaysi yozuvlarni tahrirlash
aniqlab olinadi. Undan keyin  edit1.php  faylini yaratib tanlangan ma’lumotni tahrirlash uchun
forma   yaratamiz.   Hosil   bo’lgan   formaga   yangi   ma’lumoltani   kiritib   edit2.php   fayliga
tahrirlash uchun uzatamiz.
edit.php fayliga yozilgan kod
<?php
//ushbu faylni baza bilan bog'lash
$conn = mysqli_connect("localhost","root","","sherbek");
//yozuvlarni tanlash  
$tanla = $conn->query("SELECT *  FROM fanlar");
// ma’lumotlarni jadvalda chop etish
echo "<table border=2 width=\"100%\">
<tr bgcolor=\"gren\">
<th width=\"10%\"> id  </th>
<th width=\"20%\"> dori_nomi  </th>
<td>".$i."</td> // 0-maydoni chiqarish
<td>".$satr["1"]."</td>  // 1-maydoni chiqarish
<td>".$satr["2"]."</td>  // 2-maydoni chiqarish
<td>".$satr["3"]."</td>  // 3-maydoni chiqarish
<td>".$satr["4"]."</td>   // 4-maydoni chiqarish
<td>".$satr["5"]."</td>   // 5-maydoni chiqarish
</tr>";
// jadvaldagi yozuvlarni $satr massiviga taminlash va ularni chop etish
while ($satr = $tanla->fetch_row()) {
echo 
"<tr><td>".$satr["0"]."</td> <td>".$satr["1"]."</td>
<td>".$satr["2"]."</td>
<td>".$satr["3"]."</td>
<td>".$satr["4"]."</td>
<td>".$satr["5"]."</td>
<td><a href='edit1.php?nomer=$satr[0]'> Tahrirla 
</a></td>
</tr>";
}
echo "</table>";
?>
<?php
//formada o'zgartirilgan ma'lumotlarni qabul qilib olish
$fan    =  $_POST['fan'];
$mar  =  $_POST['mar'];
$mchi =  $_POST['mchi'];
$ama  =  $_POST['ama'];
$achi  =  $_POST['achi'];
$id     =  $_POST['id'];
//ushbu faylni baza bilan bog'lash
$conn = mysqli_connect("localhost","root","","Sherbek");
//yozuvni o'zgartirish so'rovi
$qush = $conn->query("UPDATE fanlar SET fan = '$fan', maruza = '$mar', maruzachi
= '$mchi', amaliyot = '$ama', amaliyotchi = '$achi' WHERE id = '$id'");
//xatochilikni tekshirish
if ($qush->connect_error) die("ma'lumotlar tahrirlanmadi ".$qush->connect_error);
else {
echo "ma'lumotlar tahrirlandi";
}
?>
<?php
//formada o'zgartirilgan ma'lumotlarni qabul qilib olish
$fan    =  $_POST['fan'];
$mar  =  $_POST['mar'];
$mchi =  $_POST['mchi'];
$ama  =  $_POST['ama'];
$achi  =  $_POST['achi'];
$id     =  $_POST['id'];
//ushbu faylni baza bilan bog'lash
$conn = mysqli_connect("localhost","root","","Sherbek");
//yozuvni o'zgartirish so'rovi
$qush = $conn->query("UPDATE fanlar SET fan = '$fan', maruza = '$mar', maruzachi
= '$mchi', amaliyot = '$ama', amaliyotchi = '$achi' WHERE id = '$id'"); //xatochilikni tekshirish
if ($qush->connect_error) die("ma'lumotlar tahrirlanmadi ".$qush->connect_error);
else {
echo "ma'lumotlar tahrirlandi";
}
?>
Ma'lumolar bazasidagi mavjud yozuvlarni o’chirsh
Ushbu qadamlarda jadval  tarkibidagi mavjud yozuvlarni o’chirish jarayonini ko’rib o’tamiz.
Buning uchun yangi delete.php faylni yaratib olamiz. Ushbu faylda qaysi yozuvlarni o’chirish
aniqlab olinadi va tanlangan yozuvni o’chirish uchun delete1.php fayliga yuboramiz. 
delete.php fayliga yozilgan kod
<?php
//ushbu faylni baza bilan bog'lash
$conn = mysqli_connect("localhost","root","","sherbek”);
//yozuvlarni tanlash  
$tanla = $conn->query("SELECT *  FROM fanlar");
// ma’lumotlarni jadvalda chop etish
echo "<table border=2 width=\"100%\">
<tr bgcolor=\"gren\">
<th width=\"10%\"> id  </th>
<th width=\"20%\"> dori_nomi  </th>
<th width=\"10%\"> turi </th>
<th width=\"20%\"> narxi </th>
<th width=\"10%\"> muddati </th>
<th width=\"20%\"> firma nomi  </th>
<th width=\"10%\"> O’chirish uchun tanlang 
</tr>";
// jadvaldagi yozuvlarni $satr massiviga taminlash va ularni chop etish
while ($satr = $tanla->fetch_row()) {
echo 
"<tr><td>".$satr["0"]."</td>
<td>".$satr["1"]."</td>
<td>".$satr["2"]."</td>
<td>".$satr["3"]."</td>
<td>".$satr["4"]."</td>
<td>".$satr["5"]."</td>
<td><a   href='delete1.php?nomer=$satr[0]'>   O`chirish
</a></td>
</tr>";}
echo "</table>";
?>
<?php
// qaysi id li yozuvni tahrirlashni aniqlab olish
$id = $_GET['nomer']; $conn = mysqli_connect("localhost","root","","Sherbek");
$qush = $conn->query("DELETE FROM fanlar WHERE id = '$id'");
if ($qush->connect_error) die("ma'lumotlar o'chirilmadi ".$qush->connect_error);
else {
echo "ma'lumotlar o'chirildi";
}
?>

Mavzu:PHP yordamida MySQLni boshqarish Reja: 1. Masalaning qo’yilishi; 2. Masalaning nazariy asoslari; 4. Masalani yechish qadamlari; 5. Xulosa.

1. Masalaning qo’yilishi Open server lokal serveri tarkibidagi MySQL ma’lumotlar bazasini boshqarish tizimidagi mavjud ma’lumotlar bazasi tarkibidagi jadvallarga PHP dasturlash tili yordamida yangi yozuvlar qo’shish, mavjud yozuvlarni turli shartlar asosida chop etish, tahrirlash va o’chirish. 3. Masalaning nazariy asoslari PHP dasturlash tili yordamida siz MySQL ma’lumotlar bazasida yangi baza yaratishingiz, shu ma’lumotlar bazasi tarkibida jadvallar yaratishingiz, yaratilgan jadvallarga ma’lumotlar qo’shishingiz, o’chirishingiz, tahrirlashingiz, ularni turli shartlar asosida chop etishingiz mumkin. PHP da ma’lumot bazasi bilan ishlash uchun quyidagi uchta funksiyadan eng ko’p foydalaniladi: • mysqli_connect - ma’lumot bazasi va server bilan ulanish • mysqli_query - MB ga so’rov yuborishning universal funksiyasi, u yordamida barcha SQL so’rovlarini hosil qilish mumkin • connect_error - xatolikni chiqarish. PHP yordamida MySQL ni boshqarishda har doimo dastavval php kodlari yozilayotgan fayl va ma’lumotlar bazasini bog’lash talab etiladi. Buning uchun biz mysqli_connect funksiyasidan foydalanamiz. Uning umumiy sintaksisi quyidagicha: $conn = mysqli_connect ("localhost", "user", "parol", "baza_name"); Bu yerda $conn – bog’lanish natijasini o’ziga taminlab olayotgan o’zgaruvchi; localhost – server nomi; user – bazadagi foydalanuvchi nomi; parol – shu foydalanuvchi paroli; baza_name – qaysi bazaga bog’lanayotgan bo’lsak shu baza nomi; MB ga so’rov yuborish. Ma’lumotlar bazasiga so’rovlar bu mysqli_query funksiyasi ichiga uzatiladigan oddiy satrlar. SQL buyruqlar hamisha katta registrda yozilishi kerak, qolganlari kichkina. Bu SELECT, UPDATE, FROM, DELETE, WHERE va boshqa shu turdagi komandalarga tegishli. Agar bularni kichik registrda yozsangiz xato bo’lmaydi, lekin katta registrda yozish umum qoida sifatida qabul qilingan. 4. Masalani yechish qadamlari; Eslatma: PHPda yozilgan kod sеrvеrning o’zida bajarilib, mijozga HTML shaklida yеtib boradi yani uning kompliatori web serverlardir. Shuning uchun PHP dasturlash tilida tuzilgan web ilovalarni sinab ko’rish uchun lokal serverlar (Denwer, XAMP, OpenServer kabi lokal serverlar)dan foydalanamiz. Birinchi qadamda diskadagi Open Server papkasidagi domain papkasi ichida yangi biror nomdagi papka yaratib olamiz, misol uchun dars nomli. Bu papka ichida index.html nomli php fayl yaratib olamiz (bu faylni barcha html muharirlari yordamida yaratishinigiz mumkin). Yaratilayotgan bu faylda hisob kitob ishlarini bajarmaymiz shunchaki unda mavjud ma’lumotlar bazasiga tarkibidagi mavjud jadvalga yangi yozuvlar qo’shuvchi, mavjud yozuvlarni o’chiruvchi, tahrirlovchi va chop etuvchi fayllarga gipermurojatlar yozib qo’yamiz (1-rasm): index.html fayliga yozilgan kod <!DOCTYPE html>

<html > <head> <body> <h1> Ushbu web sahifadagi kerakli giper murojatni tanlash orqali ma'lumotlar bazasi ustida amallar bajarish mumkin </h1> <h3><a href="add.html"> Ma'lumolar bazasiga yangi yozuvlar qo'shish </a></h3> <h3><a href="print.php"> Ma'lumolar bazasidagi yozuvlarni chop etish </a></h3> <h3><a href="edit.php"> Ma'lumolar bazasidagi yozuvlarni tahrirlash </a></h3> <h3><a href="delete.php"> Ma'lumolar bazasidagi yozuvlarni o`chirish </a></h3> </body> <h4> </html> index.html faylining brouzerdagi natijasi

Ma’lumotlar bazasi tarkibidagi jadvalga yangi yozuvlar qo’shish Navbatdagi qadamlarda yaratilgan baza tarkibidagi jadvalga php kodlari va sql so’rovlari yordamida yangi yozuvlar qo’shamiz. Buning uchun eng avvalo add.html faylda forma yaratib olamiz. add.html fayldagi kod quyidagicha bo’lishi mumkin: add.html fayliga yozilgan kod <?php //formadan olingan ma'lumotlarni o'zgaruvchilarga taminlash $fan = $_POST['a']; $mar = $_POST['b']; $mchi = $_POST['d']; $ama = $_POST['c']; $achi = $_POST['e']; //ushbu faylni baza bilan bog'lash $conn = mysqli_connect("localhost","root","","Sherbek"); //formadagi ma'lumotlarni bazaga qo'shib qo'yish $qush = $conn->query("INSERT INTO fanlar (fan, maruza, maruzachi, amaliyot, amaliyotchi) VALUES('$fan', '$mar', '$mchi', '$ama', '$achi')"); if ($qush->connect_error) die("ma'lumot qo'shilmadi".$qush->connect_error); else { echo "bazaga qo'shildi"; } ?> add.html faylining brouzerdagi natijasi

add1.php fayliga yozilgan kod <?php //formadan olingan ma'lumotlarni o'zgaruvchilarga taminlash $fan = $_POST['a']; $mar = $_POST['b']; $mchi = $_POST['d']; $ama = $_POST['c']; $achi = $_POST['e']; //ushbu faylni baza bilan bog'lash $conn = mysqli_connect("localhost","root","","Sherbek"); //formadagi ma'lumotlarni bazaga qo'shib qo'yish $qush = $conn->query("INSERT INTO fanlar (fan, maruza, maruzachi, amaliyot, amaliyotchi) VALUES('$fan', '$mar', '$mchi', '$ama', '$achi')"); if ($qush->connect_error) die("ma'lumot qo'shilmadi".$qush->connect_error); else { echo "bazaga qo'shildi"; } ?> Ma'lumolar bazasidagi mavjud yozuvlarni chop etish Ushbu qadamlarda jadval tarkibidagi mavjud yozuvlarni turli so’rovlar asosida chop etish jarayonini ko’rib o’tamiz. Buning uchun yangi print.php faylni yaratib olamiz. print.php fayliga yozilgan kod <?php //ushbu faylni baza bilan bog'lash