Įvairūs > Jūsų pačių kurtos pamokos

[Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.

(1/2) > >>

Haris:
Naudojant PHP galima ištraukti iš SQL duomenų bazės duomenis , irašyti duomenis į ją , ištrinti , sukurti lentelę ir taip toliau , ir tokiems tikslams naudojame PHP funkciją

--- Kodas: ---mysql_query();
--- Baigti kodą ---
į ją galima įterpti SQL užklausas.


Prisijungimas prie SQL duomenų bazės

Jungiamės prie mySQL DB

$dbadresas="localhost";
$dbvartotojas="root";
$dbslaptazodis="";
$jungiames=mysql_connect($dbadresas,$dbvartotojas,$dbslaptazodis);
$dbpasirinkimas=mysql_select_db('Mano_duomenu_baze',$con);
if(!$jungiames || !$dbpasirinkimas){
   echo"nepavyko prisijungti prie duomenu bazes";exit;
}else{
   echo"Pavyko prisijungti prie duomenu bazes";
}
 Prisijungeme prie duomenu bazes pavadinimu: Mano_duomenu_baze . :)

Lentelės kūrimas:

Sukursime lentele vartotojai su stulpeliais vardas , pavarde , adresas.

<?php
/*Kuriame lentele*/
 $lentele=mysql_query("CREATE TABLE vartotojai (
        vardas VARCHAR(30) NOT NULL,
        pavarde VARCHAR(30) NOT NULL,
   adresas VARCHAR(100) NOT NULL,
    ");
/*tikriname ar viskas gerai*/
if(!$lentele){
print"Klaida";
}else{
print"Lentelė sukurta";
}
?>

Įrašome į lentelę:

Dabar įrašysime į lentelę vartotojo duomenis t.y. vardas , pavardė , adresas.

<?php
/*Susidedam duomenis į kintamuosius(galima ir imti duomenis iš formų)*/
$vardas="Vytautas";
$pavarde="Vitenis";
$adresas="Vilnius";
$irasome=mysql_query("INSERT INTO `vartotojai` SET `vardas`='$vardas' , `pavarde`='$pavarde' , `adresas`='$adresas' ");
/*Tikriname ar viskas gerai*/
if(!$irasome){
print"Klaida";
}else{
print"Duomenis irasyti";
}
?>

Duomenų ištraukimas ir atvaizdavimas:

Ištrauksime sukurto vartotojo duomenis iš lenteles 'vartotojai' ir juos atvaizduosime.

<?php
/*Paimame duomenis is lenteles (* zvaigzdute reiskia kad imame visu stulpeliu reiksmes) */
$imame=mysql_query("SELECT * FROM `vartotojai`");
/*Darome cikla su kuriuo galesime visus duomenis parodit vienu metu*/
/*mysql_fetch_array(); f-ja sudeda visas reiksmes i masyva*/
while($stulpelis=mysql_fetch_array($imame)){
print"Vardas:".$stulpelis['vardas']."
Pavarde:".$stulpelis['pavarde']."
Adresas:".$stulpelis['adresas']."";
}
/*tarp [''] rasomas stulpelio pavadinimas pvz: $stulpelis['vardas'] parodys varda.*/

/*Atvaizduojame tik viena lenteles eilute */
/*WHERE ir LIMIT parametrai nurodo: WHERE nurodo pagal koki stulpeli traukti duomenis  LIMIT nurodo kiek turi paroditi reiksmiu siuo atveju 1 reiksme t.y. tik eilute su Vytautas vardu*/
$imame1=mysql_query("SELECT * FROM `vartotojai` WHERE `vardas`='Vytautas' LIMIT1");
$st=mysql_fetch_array($imame1,MYSQL_NUM);
print"Vardas:$st['0']";
print"Pavarde:$st['1']";
print"Adresas:$st['2']";
?>
Rezultatas:
(su while)
Vardas:Vytautas
Pavarde:Vitenis
Adresas:Vilnius

(be while)
Bus tas pats kas ir su while.

Triname įrašus:

Ištrinsime Vytautą iš duomenų bazės :D

<?
/*Vykdome uzklausa*/
$trinam=mysql_query("DELETE FROM `vartotojai` WHERE `vardas`='Vytautas' LIMIT1");
/*Tikriname*/
if(!$trinam){
print"Klaida";
}else{
print"Vytautas istrintas :D ";
}
?>

Kaikurios f-jos:

Pateiksiu keletą dažnai naudojamu f-jų ir auksčiau naudotu f-jų paaiskinimus.

mysql_num_rows(); - Parodo kiek rasta irasu.
mysql_query(); - Vykdo joje esančia SQL užklausą
mysql_fetch_array(); - Sudeda lenteles įrašus į masyvą (Array)
mysql_connect(host,user,passwors); - prijungia prie mySQL duomenu bazes
mysql_select_db(); - Nustato prie kokios duomenu bazes jungtis.
mysql_close(); - nutraukia sujungima su duomenu baze

Pabandžiau jus supažindinti su mySQL duomenų bazės valdymu naudojant PHP funkcijas , gal ir pavyko :)
Jei rasite netikslumu ar siaip ko nors blogo rašykite šioje temoje ;)

Lukas:
Gera pamoka, tik siulyciau naudoti kodo blokus, kad atrodytu kazkas tokio:

:]

Realiai to pacio padariau mini toki straipsniuka

Pagrindiniai kintamieji:


--- Kodas: ---$db   = 'duombaze';
$user = 'root';
$pass = 'slaptazodis';
$host = 'localhost';
--- Baigti kodą ---

pasijungia ir pasirenka duombaze, jei kazkas nepavyksta - pranesa:


--- Kodas: ---mysql_connect($host, $user, $pass) or die ('Duomenu bazes klaida: <br />', mysql_error());
mysql_select_db($db) or die ('Nepasirinkta duomenu baze: <br/>', mysql_error());
--- Baigti kodą ---

vykdo betkokia uzklausa i duombaze, jei kazkas nepavyksta - pranesa:


--- Kodas: ---$sql    = 'SELECT * FROM `jos_banner`';
$result = mysql_query($sql) or die ('Uzklausa nepavyko: <br/>', mysql_error());
--- Baigti kodą ---

daro kazka su grazintais duomenimis, siuo atveju printina (kartu parodau tokia komanda printf):


--- Kodas: ---while ($row = mysql_fetch_array($result)) {
    printf("ID: %s  Vardas: %s", $row["id"], $row["name"]);
}
--- Baigti kodą ---

isvalo rezultatu kintamaji ir uzdaro prisijungima prie duomenu bazes:


--- Kodas: ---mysql_free_result($result);
mysql_close($connect);
--- Baigti kodą ---

Haris:
Geras :) apie sitoki buda nezinojau.

--- Citata ---while ($row = mysql_fetch_array($result)) {
    printf("ID: %s  Vardas: %s", $row["id"], $row["name"]);
}
--- Baigti citatą ---

Lukas:
labai patogu daznai buna su tuo printf();  pats matai kokia galia turi komanda :) daug svaresnis kodas buna

Haris:
O tie %s visada visur vienodi?

Navigacija

[0] Žinučių sąrašas

[#] Sekantis puslapis

Eiti į pilną versiją