PHP Tutorial

Teme vezane za profesionalni razvoj web stranica.
13 post(ov)a • Stranica: 2/2.1, 2

Re: PHP Tutorial

PostPostao/la HepeK » 22 srp 2013, 16:27

Nastavljamo gdje smo stali...

Dakle, prvo moramo napuniti nasu bazu test i tabelu pod nazivom "tabela1" nekim podacima. U kodu koji je korišten u promijenite ime i prezime pa loadirate http://localhost/tutorial/index.php
a zatim ponovo promijenite ime i prezime pa loadirate i tako više puta da bi napunili tabelu podacima. Naravno, ne morate mijenjati ime i prezime, možete samo loadirati par puta a u tabelu ce se zapisivati isto ime i prezime više puta, a mi smo promijenili čisto da bi mogli pokazati neke detalje pri ispisu.

Sada ćemo odraditi SELECT FROM SQL DATABASE tj.izvlačenje podataka iz baze. Princip je isti samo se mijenja SQL upit i naravno manipulisanje dobijenim podacima.
php code
<!DOCTYPE HTML>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="HepeK" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>PHP Tutorial Programiranje.Org</title>
</head>

<body>
<?php

$host="localhost"; //host sql servera
$user="root"; //korisničko ime za pristupanje sql serveru
$password="testnipassword"; //password za pristupanje sql serveru
$database="test"; //naziv baze kojoj pristupamo

$connect = mysql_connect($host,$user,$password) or die('<p>Nije moguće trenutno pristupiti serveru!</p>'); //pristupanje sql serveru

mysql_select_db($database,$connect) or die('<p>Nije moguće trenutno pristupiti serveru!</p>'); //odabir baze na sql serveru

$query = "SELECT * FROM tabela1"; //naredba za dobavljanje podataka iz baze koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query); //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array)


while($row = mysql_fetch_array($result)) //petlja se vrti dok ne pordje kroz sve redove u tabeli
{
echo $row['id']. ". " .$row['ime'] . " " . $row['prezime'];
echo "<br>";
}

?>
</body>
</html>


Dakle, do polovine prethodnom koda je sve identično kao i prije i kao što smo već rekli mijenja se SQL upit koji je u ovom slučaju "SELECT * FROM tabela1" koji u slobodnom prevodu znači
"Uzmi sva polja (oznaka *) iz tabele pod nazivom tabela1. Ukoliko ne zelimo sva polja iz tabele umjesto zvijezdice u upitu navodimo imena polja i odvajamo zarezom npr. ako želimo
iz tabele dobiti samo podatke id i prezime onda bi SQL upit izgledao ovako: "SELECT id,prezime FROM tabela1".

Kada se funkciji mysql_query proslijedi SQL upit ona vraća resource vrijednost (ukoliko je uspješno prošao dohvat iz tabele) koja je kao pokazivač na podatke iz tabele ili vraća FALSE (ukoliko se dogodila neka greška).

Ono što vrati funkcija mysql_query prosljeđuje se funkciji mysql_fetch_array koja u kombinaciji sa while petljom prolazi kroz sve redove podataka koje možemo ispisati kao u primjeru iznad.

Rezultat je:

slika

Ukoliko se želimo igrati sa dohvatom podataka mijenjamo samo SQL upit.

Primjer1: Želimo da dohvatimo podakte obrnutim redoslijedom: $query = "SELECT * FROM tabela1 ORDER BY id DESC"; što znači da poredati ispis od najvećeg id-a ka najmanjem.

slika

Primjer2: Želimo da dohvatimo podatke obrnutim redoslijedom u ovisnosti o imenu: $query = "SELECT * FROM tabela1 ORDER BY id DESC"; što znači da ce se ispis poredati obrnutim abecednim redom.

slika

Primjer3: Želimo postaviti uslov da se ispiše samo podatak sa id-om broj 7: $query = "SELECT * FROM tabela1 WHERE id='7'";

slika

Primjer4: Želimo postaviti dupli uslov, tj. da se ispiše podatak sa id-om broj 8 i podatak sa imenom HepeK: $query = "SELECT * FROM tabela1 WHERE ime='HepeK' OR id='2'";

slika

Primjer5: Želimo povući iz tabele podatke koji imaju polje ime sa vrijednošću HepeK i polje ime koje unutar vrijednosti ima riječ neko tj. imaneko ili 11neko333 itd. pa SQL upit izgleda ovako $query = "SELECT * FROM tabela1 WHERE ime='HepeK' OR ime LIKE '%neko%'";

slika

Primjer6: Želimo povući iz tabele 4 reda od pozadi: $query = "SELECT * FROM tabela1 ORDER BY id DESC LIMIT 4";

slika

Primjer7: Želimo povući podatke iz tabele počev od 4 podatka pa nadalje: $query = "SELECT * FROM tabela1 LIMIT 4 OFFSET 3";

slika

Ovo je sasvim dovoljno za početak, naravno da uslove možete kombinovati koristeći ključnu riječ AND i OR i koristeći zagrade a unutar uslova možete koristiti sve binarne operatore kao što su < >, =...

Sledeći puta obrađujemo brisanje i updateovanje podataka u bazi...

Do kucanja :ymhug:
"Ko nema u glavi ima na internetu"
Što čujem - poštujem, dok ne vidim - ne vjerujem.

Re: PHP Tutorial

PostPostao/la HepeK » 07 srp 2014, 08:48

Kako sam rekao u ovom dijelu tutoriala obrađujemo UPDATE i DELETE redova u bazi.

Skratićemo priču i prelazimo direktno na srž, tj. želimo da promijenimo neki zapis u bazi.

Recimo da želimo promijeniti ime Niko koji je zapisan u bazi sa ID-om broj 5.

php code
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="HepeK" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>PHP Tutorial Programiranje.Org</title>
</head>

<body>
<?php

$host="localhost"; //host sql servera
$user="root"; //korisničko ime za pristupanje sql serveru
$password="testnipassword"; //password za pristupanje sql serveru
$database="test"; //naziv baze kojoj pristupamo

$connect = mysql_connect($host,$user,$password) or die('<p>Nije moguće trenutno pristupiti serveru!</p>'); //pristupanje sql serveru

mysql_select_db($database,$connect) or die('<p>Nije moguće trenutno pristupiti serveru!</p>'); //odabir baze na sql serveru
/**************************************
DIO IZ PRETHODNOG TUTORIALA
**************************************/
$query = "SELECT * FROM tabela1"; //naredba za dobavljanje podataka iz baze koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query) or die(mysql_error());; //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array)


while($row = mysql_fetch_array($result)) //petlja se vrti dok ne pordje kroz sve redove u tabeli
{
echo $row['id']. ". " .$row['ime'] . " " . $row['prezime'];
echo "<br>";
}
/**************************************
KRAJ DIJELA IZ PRETHODNOG TUTORIALA
**************************************/

$novo_ime = 'Haso'; //nova varijabla sa novim imenom

$query = "UPDATE tabela1 SET ime='$novo_ime' WHERE id=5"; //naredba za updateovanje podataka u bazi koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query) or die(mysql_error()); //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array) ili vraća error

if($result)
{
echo '</br>Uspješno promijenjeno red u bazi sa id=5</br></br>';

/**************************************
DIO IZ PRETHODNOG TUTORIALA
**************************************/
$query = "SELECT * FROM tabela1"; //naredba za dobavljanje podataka iz baze koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query) or die(mysql_error());; //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array)


while($row = mysql_fetch_array($result)) //petlja se vrti dok ne pordje kroz sve redove u tabeli
{
echo $row['id']. ". " .$row['ime'] . " " . $row['prezime'];
echo "<br>";
}
/**************************************
KRAJ DIJELA IZ PRETHODNOG TUTORIALA
**************************************/
}

?>
</body>
</html>


Kada loadiramo dobijamo sledeći ispis:

slika

Prvi ispis od 1 do 9 je prije UPDATE baze a drugi poslije, primjećujemo da se izmijenilo ime pod rednim brojem 5 (ID = 5) što je i bio krajnji cilj.

Unutar SQL query-ja možemo dodavati razne uslove kako bi pronašli podatke koje želimo update-ovati.
"Ko nema u glavi ima na internetu"
Što čujem - poštujem, dok ne vidim - ne vjerujem.

Re: PHP Tutorial

PostPostao/la HepeK » 07 srp 2014, 08:56

Sledeći dio koji je bitan za MySQL i PHP je naravno brisanje podataka iz baze.

Dakle, sada želimo obrisati dio koji smo u prethodnom dijelu updateovali tj. zapis u bazi (u tabeli1) pod rednim brojem 5 ili u ovom slučaju sa ID= 5.

php code
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="HepeK" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>PHP Tutorial Programiranje.Org</title>
</head>

<body>
<?php

$host="localhost"; //host sql servera
$user="root"; //korisničko ime za pristupanje sql serveru
$password="testnipassword"; //password za pristupanje sql serveru
$database="test"; //naziv baze kojoj pristupamo

$connect = mysql_connect($host,$user,$password) or die('<p>Nije moguće trenutno pristupiti serveru!</p>'); //pristupanje sql serveru

mysql_select_db($database,$connect) or die('<p>Nije moguće trenutno pristupiti serveru!</p>'); //odabir baze na sql serveru
/**************************************
DIO IZ PRETHODNOG TUTORIALA
**************************************/
$query = "SELECT * FROM tabela1"; //naredba za dobavljanje podataka iz baze koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query) or die(mysql_error());; //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array)


while($row = mysql_fetch_array($result)) //petlja se vrti dok ne pordje kroz sve redove u tabeli
{
echo $row['id']. ". " .$row['ime'] . " " . $row['prezime'];
echo "<br>";
}
/**************************************
KRAJ DIJELA IZ PRETHODNOG TUTORIALA
**************************************/

$query = "DELETE FROM tabela1 WHERE id=5"; //naredba za updateovanje podataka u bazi koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query) or die(mysql_error()); //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array) ili vraća error

if($result)
{
echo '</br>Uspješno obrisan red u bazi sa id=5</br></br>';

/**************************************
DIO IZ PRETHODNOG TUTORIALA
**************************************/
$query = "SELECT * FROM tabela1"; //naredba za dobavljanje podataka iz baze koja se prosljeđuje funckiji mysql_query

$result = mysql_query($query) or die(mysql_error());; //vraca varijablu "resource" koja u kombinaciji sa nekom funkcijom daje array (u nasem slucaju mysql_fetch_array)


while($row = mysql_fetch_array($result)) //petlja se vrti dok ne pordje kroz sve redove u tabeli
{
echo $row['id']. ". " .$row['ime'] . " " . $row['prezime'];
echo "<br>";
}
/**************************************
KRAJ DIJELA IZ PRETHODNOG TUTORIALA
**************************************/
}

?>
</body>
</html>


Dakle dio bitan iz prethodnog fajla je $query = "DELETE FROM tabela1 WHERE id=5"; a ispis je sledeći:

slika

Toliko za sada. Do kucanja :)
"Ko nema u glavi ima na internetu"
Što čujem - poštujem, dok ne vidim - ne vjerujem.


13 post(ov)a • Stranica: 2/2.1, 2

Na mreži

Trenutno korisnika/ca: / i 1 gost.