Šis straipsniukas nemanau kad padės pažengusiems PHP "broliams", bet naujokams manau kaip tik. Tad dėl jų papostinau šį straipsniuką.
Darant didesnį puslapį, kuriame pilna PHP/MYSQL panaudojimo galima tiesiog supaprastinti sau darbą.Labai paprasta naudotis MYSQL funkcijomis kai dažnai reikia daryti SQL užklausas SELECT, INSERT, UPDATE ir pan. Jei susikuri tam reikalui skirtas funkcijas

Nemanau kad tai tinkamiausias variantas šiam uždaviniui spręsti bet tebūnie kaip yra.
Pateikiu savo naudojamas kelias funkcijas.
Pirmiausia apsirašom MYSQL duomenis:
$db_host="localhost"; // Mysql hostas
$db_user="manouseris"; // Mysql useris
$db_pasw="manopaswordas"; // Mysql paswordas
$db_name="naudojamadb"; // Pasirinkta DB


Na o dabar PHP funkcijos kurios palengvina man gyvenimą. Pirmiausia gal paimam tą kuri gali vykditi tokias užklausas kaip INSERT,DELETE,UPDATE...
function SQL($query)
{
global $db_host,$db_user,$db_pasw,$db_name,$paskutinis;
$link = mysql_connect("$db_host", "$db_user", "$db_pasw")
or die ("Negaliu prisijungti");
mysql_select_db ("$db_name")
or die ("Negaliu prisijungti prie lenteles");
$rez = mysql_query ($query) or print("<li> Query Failed: </li>\n"
. "<li> errorno = " . mysql_errno() . "</li>\n"
. "<li> error = " . mysql_error() . "</li>\n"
. "<li> query = " . $query . "</li>\n");
$paskutinis=mysql_insert_id() ;
mysql_close($link);
return $rez;
}


Jos pavyzdys tarkim:
SQL("Update `php_baze` set `aktyvus`='1' where id='$id'");
$duom=SQL("DELETE from `php_baze` where id='$id'");


Kodėl paskutinį kartą rašyta su $duom? Ogi todėl kad gautume duomenis ar SQL užklausa buvo įvykdyta sėkmingai.

Na kas įdomiausia užklauos. Pateikiu du variantus jie ir panašūs ir skirtingi.
function SQLQuery($query)
{
global $db_host, $db_user, $db_pasw, $db_name;
$link = mysql_connect("$db_host", "$db_user", "$db_pasw")
or die ("Negaliu prisijungti");
mysql_select_db ("$db_name")
or die ("Negaliu prisijungti prie lenteles");
$rez = mysql_query ($query);
$sk=0;
while ($line = mysql_fetch_assoc($rez)) {
$ats[$sk]=$line;
$sk++;
}
mysql_free_result ($rez);
mysql_close($link);
return $ats;
}

function SQLQueryRow($query)
{
global $db_host, $db_user, $db_pasw, $db_name;
$link = mysql_connect("$db_host", "$db_user", "$db_pasw")
or die ("Negaliu prisijungti");
mysql_select_db ("$db_name")
or die ("Negaliu prisijungti prie lenteles");
$rez = mysql_query ($query);
$sk=0;
while ($line = mysql_fetch_assoc($rez)) {
$ats[$sk]=$line;
$sk++;
}
mysql_free_result ($rez);
mysql_close($link);
return $ats[0];
}


Abi gražina SQL užklausas masyve, jas galima peržiūrėti per <? print_r($duom); ?> funkciją.
$duom=SQLQuery("Select * `php_baze` where lytis='vaikinas'");
$duom=SQLQuery("Select * `php_baze` where id='1'");


Pirmoji funkcija SQLQuery, gražina pilną užkausą masyve. jos rezultaas būtų maždaug toks:
Array
(
[0] => Array
(
[id] => 1
[lytis] => vaikinas
[email] => [email protected]
[uzsiregistraves] => 1
)

[1] => Array
(
[id] => 2
[data] => mergina
[image] => [email protected]
[uzsiregistraves] => 0
)
...
}


Atidesnė akelė suprato tarkim reikia atspausdinti tarkim 1 elemento el. paštą <?=$duom[0][email]?> tai nelabai patogu kai nori tik pirmo ar tik to vienintelio duomenis naršyti... SQLQueryRow(...) supaprastina rašymą. Jos užklausos rezultato pvz:
Array
(
[id] => 1
[lytis] => vaikinas
[email] => [email protected]
[uzsiregistraves] => 1
)


Jei užklausa $duom tučia, nerado eilutės pagal atliktą užklausą šiuo atveju funkcija grąžins reikšmę 0.

Na gal ir viskas, tik va dar predadantiems dar vienas panaudojimas rezultatms foreach, ši funkcija pereina per visus masyvo duomenis, paima kiekvieną elementą atskirai (jį priskiria šiuo atveju $dd) ir su juo atlieka tai ką tik tu paliepsi. Paprastas pvz kuris atspausdina visus el. pašto adresus.
<?
foreach ($duom as $dd)
print "$dd[email]<br>";
?>


---
[^] Atgal
[«] Skaitykla

* * Gen. time: 0.0184
* © xneox.com