| Rubrika Php / mysql
Dynamická tvorba URL
Ešte sa nájdu weby, kde nie sú linky optimalizované do „pekného“ a pre vyhľadávače pochopiteľného tvaru. V takýchto prípadoch je dobré mať naporúdzi funkciu, ktorá dokáže na základe zadaných parametrov dynamicky linky generovať.
function getWholeUrl($params=array(),$delparams=array(),$separator='&') { $makeParams = array_merge($_GET, $params); // spoji obe polia starych (_get) a novych (params) parametrov dokopy. if (sizeof($delparams)>0) { foreach ($delparams as $key => $val) { // z pola vymaze dane parametre unset($makeParams[$key]); } } $url = $_SERVER['PHP_SELF']."?"; // vytvori URL $url .= http_build_query($makeParams,'',$separator); return $url; }
Základom funkcie je php funckia array_merge, ktorá spojí
polia $_GET a $params. Pole $params
obsahuje hodnoty, ktoré majú byť do URL vložené, naopak pole
$delparams obsahuje tie, ktoré majú byť z URL odstránené.
Výsledok je vygenerovaný funkciou http_build_query (dostupná iba
v PHP 5 + ), ktorá zabezpečí okrem iného unikátnosť premenných, nestane
sa teda, že by bola adresa v štýle
http://www.domena.sk/?a=123&a=456&a=789 (dvakrát $a
parameter)
Zápis funkcie vyzerá takto
// do URL sa pridá ako get parameter ?parameter1=hodnota echo getWholeUrl(array("parameter1"=>"hodnota")); // do URL sa pridá ako get parameter ?parameter1=hodnota a vymaže sa GET parameter vymazat parameter echo getWholeUrl(array("parameter1"=>"hodnota"),array("vymazatparameter"=>""));
Tomáš Mašek
naspäť
prispieť do diskusie [1]
Vyhľadávanie
Viac z rubriky
Ako ochrániť includované PHP súbory?
Automatické generovanie formulárov z MySQL
Automatický prevod texu na hyperlink
Cachovanie do HTML súboru
Cachovanie s pomocou funkcií serialize/unserialize
Čiernobiele obrázky v PHP
Fulltext ako názov stĺpca v tabuľke
Getcwd – Ako ľahko získať absolútnu cestu
Import z Excelu do MySQL databázy
Maximálny timeout vykonávania SQL skriptu
Microtime – rýchlosť načítania stránky
Odstránenie diakritiky v PHP pomocou iconv()
Overovanie a kontrola formulárov v PHP
Parsovanie XML súboru v PHP
PHP a zachytenie nedoručených mailov
PHP funkcia implode
Porovnávanie a dátovy typ DATE
Práca so súbormi pri zapnutom safe_mode
Prihlasovanie uživateľa prostredníctvom $_SESSION
Real-time kontrola e-mailovej adresy AJAX-om
Spracovanie dátového typu ENUM do HTML selectu
Strpos a offset – nájdenie výskytu znaku v reťazci
Tip: Generovanie PDF súborov
Tip: jednoduché šifrovanie a dešifrovanie v PHP
Tip: správne includovanie súborov
Ukladanie jazykových verzií statických textov
Veľmi jednoduchý návod na pekné URI
Vkladanie obrázkov do databázy
Výber záznamov začínajúcich číslom
Vyčistenie viacrozmerného poľa
Vyhľadávanie, pekné URI a diakritika
Vypísanie abecedy v PHP
Využívanie unikátnych kľúčov v MySQL databáze
Zaradenie jednej položky do viacerých kategórií
Zistenie hodnoty ďalšieho ID – autoincrement
Zložené MySQL dotazy – LEFT JOIN
Zvýrazňovanie syntaxe kódu – GeSHi
Pridať komentár



