Adatok lekérdezése php script és a kiíratás sorrendje ASC, DESC .

Használjuk a következő táblát:

Táblanév: user /kulcs az username, pirossal jelölve/

username csalad_nev kereszt_nev telepules
lulu Nagy Géza Harkány
mani Felföldi Antal Pócs
hamika26 Huba Kázmér Tolna
nagyi12A Alham Aranka Rúzsa
cunci Nagy Marabella Budapest

 


Kiíratjuk a keresztneveket. ABC sorrendben majd utána CBA sorrendben is.

<?php
$myConn=mysql_connect("localhost", "root", "12121212");
mysql_select_db("adatbazis_nev", $myConn);
$adat=mysql_query("SELECT kereszt_nev FROM user ORDER BY kereszt_nev ASC ");
while($adatom=mysql_fetch_assoc($adat)){
print($adatom["kereszt_nev"]."<br/>");
}
?>
Az eredmény:

Antal
Aranka
Géza
Kázmér
Marabella

<?php
$myConn=mysql_connect("localhost", "root", "12121212");
mysql_select_db("adatbazis_nev", $myConn);
$adat=mysql_query("SELECT kereszt_nev FROM user ORDER BY kereszt_nev DESC ");
while($adatom=mysql_fetch_assoc($adat)){
print($adatom["kereszt_nev"]."<br/>");
}
?>
Az eredmény:

Marabella
Kázmér
Géza
Aranka
Antal

Az ORDER BY után megadjuk az oszlop nevét, amely szerint kívánjuk rendezni a találatokat, majd ezután a kiíratás sorrendjét.
Ha elhagyjuk az ASC-t, nem okoz gondot, ugyanis ez az alapértelmezett.
A SELECT után megadhatjuk a * -ot is, a lekérdezés eredménye az ORDER BY után megadott oszlop, vagy oszlop nevek szerint lesz rendezve.

Tábla sorának törlése.

Táblanév: lakhely

username varos utca haz_szam
admin Budapest Kossuth L. 6.
cunci Harkany Pite 32.

 

<?php
$myConn=mysql_connect("localhost", "root", "12121212");
mysql_select_db("adatbazis_nev", $myConn);
mysql_query("DELETE FROM lakhely WHERE username='admin' ");
?>

Eme script futtatása után a táblánk a következőképpen fog kinézni:


username varos utca haz_szam
cunci Harkany Pite 32.

Mindenképp adjunk feltételt mert ha nincs feltétel az összes sorunkat törli a táblából!

Adatok lekérdezése php script és a LIKE parancs segítségével.

Használjuk a következő táblát:

Táblanév: user /kulcs az username, pirossal jelölve/

username csalad_nev kereszt_nev telepules
admin Kiss István Pécs
lulu Nagy Géza Harkány
mani Felföldi Antal Pócs
hamika26 Huba Kázmér Tolna
nagyi12A Alham Aranka Rúzsa
cunci Nagy Marabella Budapest

 


Keressünk olyan keresztnevet amiben benne van az "ara" szó, és minden adatára kiváncsiak vagyunk amely a táblában található.

<?php
$myConn=mysql_connect("localhost", "root", "12121212");
mysql_select_db("adatbazis_nev", $myConn);
$adat=mysql_query("SELECT * FROM user WHERE kereszt_nev LIKE '%ara%'  ");
//Most használjunk a for ciklus helyett valami mást! A while() -t, lényege, hogy addig
//ismétlődik amíg a zárójelben lévő feltétel igaz, jelen esetben amennyi sort talált a
//lekérdezés.

while($adatom=mysql_fetch_assoc($adat)){
print($adatom["username"]."<br/>");
print($adatom["csalad_nev"]."<br/>");
print($adatom["kereszt_nev"]."<br/>");
print($adatom["telepules"]."<br/>");
}
?>
Az eredmény:

nagyi12A
Alham
Aranka //Tehát ez a találat ami miatt kiírásra került a többi adata is.
Rúzsa
cunci
Nagy
Marabella //És ez a másik találat ami miatt kiírásra került a többi adata is.
Budapest

Mit is csináltunk a SELECT után?
Csillagot raktunk ezzel jelezve, hogy a talált mezőhöz kapcsolódó adatokra is kíváncsiak vagyunk.
A FROM után megadtuk a tábla nevét ahonnan kérjük az adatokat.
A WHERE után adtuk meg a tábla oszlopának nevét, és itt helyeztük el a LIKE-ot, aposztrofok közt adtuk meg mit is keresünk.
A százalékjelekkel adjuk meg, hogy a keresett kifejezés előtt lévő karakter bármilyen és bármennyi lehet, és ugyanez van utána is.
Tehát számunkra a lényeg, hogy benne legyen a keresett szó a mezőbe, és nem érdekes, hogy a mezőben hol helyezkedik el!
Ha azt szeretnénk, hogy csak azokat a mezőket listázza amelyekben az első három karakter az ara kifejezés, akkor az első %-jelet elhagyjuk. LIKE 'ara%' .
Adatok lekérdezése php script segítségével több tábla esetén.

A fentiek példák segítségével hozzunk létre egy újabb táblát a következő tartalommal:

Táblanév: lakhely

username varos utca haz_szam
admin Budapest Kossuth L. 6.
cunci Harkany Pite 32.

Táblanév: regisztracio

username
password
nev
email
admin
admin
Géza
hu@hu.hu
cunci
121212
Joli
jo@hu.com

Tehát két táblánk van.
Keressük meg, hol lakik Joli.

<?php
$myConn=mysql_connect("localhost", "root", "12121212");
mysql_select_db("access", $myConn);
$adat=mysql_query("SELECT regisztracio.nev,lakhely.varos,lakhely.utca,lakhely.haz_szam FROM regisztracio,lakhely WHERE regisztracio.nev='Joli' AND regisztracio.username=lakhely.username");
$adatom=mysql_fetch_assoc($adat);
print($adatom["nev"]."<br/>"); //értéke: Joli
print($adatom["varos"]."<br/>"); //értéke: Harkány
print($adatom["utca"]."<br/>");//értéke: Pite
print($adatom["haz_szam"]."<br/>");// értéke: 32.
?>

Tehát megkaptuk, hogy Joli Harkányban lakik a Pite utca 32. ben.

Mit is csináltunk a SELECT után?
Megadtuk, hogy mely tábla mely adatára vagyunk kíváncsiak, majd a FROM után megadtuk, hogy ezeket mely táblában találjuk. A WHERE parancs után megadtuk, hogy melyek legyenek a szűrési feltételek és mik a kapcsolómezők.

 

A különbség a mysql_fetch_row() és a mysql_fetch_assoc() között.

A mysql_fetch_row() esetén a tömb elemére való hivatkozás számokkal történik és nullával kezdődik. (Először ezt használtam én is, de ezzel nehéz a program módosítás) .

A mysql_fetch_assoc() estén a tömb elemére való hivatkozás a táblánk oszlop azonosítójával történik. Pl.: print( $adatom["username"]); parancssal. Ha bővítésre kerül sor akkor sincs gond mert az oszlopnév marad ugyanaz, csak esetleg új sor kerül a táblába.

Megjelenítve 1 től 5 -ig (összesen 11 találatból) Talált oldalak: 1 2 3
Belépés


 

Könyv ajánlat
A MySql kezelése és használata
 

Kereső


 


Egyéb



125 névjegykártya – Tervezz egyszeruen online és nyomtass kiváló áron.
Libri

Valid XHTML 1.0 Transitional

Valid CSS!

[Valid RSS]

valid Atom 0.3




Spam védelem


Web-server