Rychlé získání dat z sql - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



PHP

Rychlé získání dat z sql

30. listopadu 1999, 00.00 | Tip jak rychleji zpracovat data získané z SQL (úspornější kód)..

Úvodem možná někoho zklamu, řeč totiž nebude o žádné zázračné funkci která by zrychlila dotazování v SQL, ale metodě jak si ušetřit čas při práci se získanými daty.

Pro práci se získanými daty existuje několik přístupů: (funkčně si jsou ekvivalentní, většinou jde pouze o ušetřený čas při psaní)
Přímé volání fce mysql_result() a to ve všech místech kde jsou data používána. Tento přístup je časově nenáročný, ale hodí se maximálně pro jedno volání.
Pokud chceme data použít na více místech, uložíme si je do nových proměnných. Tím sice ušetříme mnohé použití funkce na vrácení výsledků, ale stále se (zvláště máme-li hodně dat=sloupců) nevyhneme zdlouhavé inicializaci.

O tom, jak to jde provést efektně vás přesvědčí následující tip.
Využívá se zde funkce mysql_num_fields() pro zjištění počtu sloupců ve výsledku, funkce mysql_field_name pro zjištění jména určitého sloupce a konečně vlastnosti PHP - asociativní pole. V tomto příkladu je hodnota ukládána do pole $GLOBALS, tak aby na ni bylo možné přistupovat i mimo funkci. Pokud toto nahradíte výrazem ${$name}, získáte tak lokální proměnné.
Jméno proměnné pak odpovídá jménu sloupce v databázi.


$res=mysql_query("SELECT * FROM predav WHERE uid='$uid'") or err(mysql_error());
	if(!mysql_num_rows($res)) err($err1);
	$f=mysql_num_fields($result);
        for($i=0; $i<$f; $i++)
                {
                $name=mysql_field_name($result,$i);
                if($name!="uid") $GLOBALS[$name]=mysql_result($result,0,$i);
                }
	$GLOBALS["datum"]=todatum($GLOBALS["datum"]);
	$GLOBALS["zap_dokdy"]=todatum($GLOBALS["zap_dokdy"]);
    mysql_free_result($result);  

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

Zatím nebyl uložen žádný příspěvek, buďte první.

 

 

Vložit nový příspěvek

Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: