Nxjerrja e të dhënave me kërkesë SQL në PHP për bazën e të dhënave
Në kodin e testimit ju keni parë komandën SELECT,
që nxjerr të dhëna nga baza e të dhënave. Tani
le të studiojmë më në detaje sintaksën e saj.
Ja ajo:
<?php
$query = "SELECT * FROM table WHERE condition";
?>
Siç e shihni, pas emrit të tabelës mund të
shtohet komanda WHERE, ku mund të
shkruhen kufizimet për të dhënat që do të zgjidhen.
Në kusht lejohen veprimet e krahasimit të mëposhtme:
=, !=, <>, <,
>, <=, >=.
Le t'i shikojmë ato në shembuj.
Shembull
Le të zgjedhim përdoruesin me id, të barabartë me 2:
<?php
$query = "SELECT * FROM users WHERE id=2";
?>
Shembull
Le të zgjedhim përdoruesit me id, më të madh se 2:
<?php
$query = "SELECT * FROM users WHERE id>2";
?>
Shembull
Le të zgjedhim përdoruesit me id, më të madh ose të barabartë me
2:
<?php
$query = "SELECT * FROM users WHERE id>=2";
?>
Shembull
Le të zgjedhim përdoruesit me id, jo të barabartë me 2:
<?php
$query = "SELECT * FROM users WHERE id!=2";
?>
Shembull
Në vend të komandës != mund të shkruhet komanda
<>:
<?php
$query = "SELECT * FROM users WHERE id<>2";
?>
Shembull
Le të zgjedhim përdoruesit moshë 23 vjeç:
<?php
$query = "SELECT * FROM users WHERE age=23";
?>
Shembull
Le të zgjedhim përdoruesit me pagë 500:
<?php
$query = "SELECT * FROM users WHERE salary=500";
?>
Shembull
Le të zgjedhim përdoruesin me emrin 'user1'. Këtu
na pret një nuancë e rëndësishme: meqenëse emri është
*varg*, ai duhet të vendoset në thonjëza:
<?php
$query = "SELECT * FROM users WHERE name='user1'";
?>
Shembull
Nëse komanda WHERE mungon, atëherë
do të zgjidhen të gjitha të dhënat nga tabela. Le të
zgjedhim të gjithë punonjësit:
<?php
$query = "SELECT * FROM users";
?>
Detyra praktike
Zgjidhni përdoruesin me id, të barabartë me 3.
Zgjidhni përdoruesit me pagë 900.
Zgjidhni përdoruesit në moshë 23 vjeç.
Zgjidhni përdoruesit me pagë më shumë se 400.
Zgjidhni përdoruesit me pagë të barabartë ose më shumë se
500.
Zgjidhni përdoruesit me pagë JO të barabartë me 500.
Zgjidhni përdoruesit me pagë të barabartë ose më pak se
500.