Autorius Tema: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.  (Skaityti 98 kartai)

Haris

  • Forumo naujokas
  • Karma: +0/-0
  • Atsijungęs
  • Žinutės: 45
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ą
mysql_query(); į 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']."<br>Pavarde:".$stulpelis['pavarde']."<br>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 ;)

primatas

  • Administratorius
  • Full Member
  • Karma: +6/-0
  • Atsijungęs
  • Žinutės: 106
Re: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.
« Atsakyti #1 : Kovo 31, 2009, 06:46:07 »
Gera pamoka, tik siulyciau naudoti kodo blokus, kad atrodytu kazkas tokio:

:]

Realiai to pacio padariau mini toki straipsniuka

Pagrindiniai kintamieji:

$db   = 'duombaze';
$user = 'root';
$pass = 'slaptazodis';
$host = 'localhost';

pasijungia ir pasirenka duombaze, jei kazkas nepavyksta - pranesa:

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());

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

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

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

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

isvalo rezultatu kintamaji ir uzdaro prisijungima prie duomenu bazes:

mysql_free_result($result);
mysql_close($connect);
Prisijungęs
Jūsų draugas, kolega ir puslapio administratorius,

Primatas.

Haris

  • Forumo naujokas
  • Karma: +0/-0
  • Atsijungęs
  • Žinutės: 45
Re: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.
« Atsakyti #2 : Balandžio 01, 2009, 11:35:18 »
Geras :) apie sitoki buda nezinojau.
Citata
while ($row = mysql_fetch_array($result)) {
    printf("ID: %s  Vardas: %s", $row["id"], $row["name"]);
}

primatas

  • Administratorius
  • Full Member
  • Karma: +6/-0
  • Atsijungęs
  • Žinutės: 106
Re: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.
« Atsakyti #3 : Balandžio 01, 2009, 12:51:27 »
labai patogu daznai buna su tuo printf();  pats matai kokia galia turi komanda :) daug svaresnis kodas buna
Prisijungęs
Jūsų draugas, kolega ir puslapio administratorius,

Primatas.

Haris

  • Forumo naujokas
  • Karma: +0/-0
  • Atsijungęs
  • Žinutės: 45
Re: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.
« Atsakyti #4 : Balandžio 01, 2009, 01:29:11 »
O tie %s visada visur vienodi?

primatas

  • Administratorius
  • Full Member
  • Karma: +6/-0
  • Atsijungęs
  • Žinutės: 106
Re: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.
« Atsakyti #5 : Balandžio 01, 2009, 01:33:36 »
aha, jie is eiles gauna reiksme kintamuju, kurie surasyti gale f-cijos :)
« Paskutinis taisymas: Balandžio 01, 2009, 01:46:08 nuo primatas »
Prisijungęs
Jūsų draugas, kolega ir puslapio administratorius,

Primatas.

Haris

  • Forumo naujokas
  • Karma: +0/-0
  • Atsijungęs
  • Žinutės: 45
Re: [Pamoka]SQL duomenų bazės duomenų tvarkimas naudojant PHP.
« Atsakyti #6 : Balandžio 01, 2009, 02:56:59 »
Viskas aišku ;)
 

Hey.lt - Nemokamas lankytojų skaitliukas