MySQL replace függvény
A MySQL replace() függvényének ismerete sokszor hasznos lehet ha valamitől meg kell tisztítani az adatbázisban az adatokat, esetleg valamilyen szeparátort le kell cserélni.
Továbbolvas…
Blog a webfejlesztesrol
A MySQL replace() függvényének ismerete sokszor hasznos lehet ha valamitől meg kell tisztítani az adatbázisban az adatokat, esetleg valamilyen szeparátort le kell cserélni.
Továbbolvas…
A Cufon egy javascriptes megoldás a nem websafe fontok használatára. Tehát segítségével bármilyen betűtipust használhatunk a weboldalon sima szöveggel, nem kell képként kezelnünk ha egy speciális font-al akarunk valamit kiiratni. A kényelem mellett a másik előny az, hogy az oldal forrásában megtalálható lesz a szöveg, így a keresőrobotok látni fogják azt. Tehát ha valamilyen extra font-al akarjuk a h1-eket írni, akkor a Cufon a mi barátunk.
Továbbolvas…
A MySQL replace into ugyanúgy működik mint az insert, azzal a kivétellel hogyha a táblában található egy sor ugyanazzal a Primary Key-el vagy Unique index-el, akkor először azt törli és utána illeszti be az új sort. Hasonló tehát az Insert into ….. on Duplicate Key Update művelethez.
Továbbolvas…
On site SEO alatt én, a kereső számára jól értelmezhető oldalkialakítást értem. Nézzük akkor sorban hogyan is épül fel egy keresőbarát weboldal.
A meta tag-eket a weboldal fejlécében adhatjuk meg. A felépítésük általában a következő:
<meta name="ide jön a tag neve" content="ide a tartalma" />
A fontosabb meta tag-ek:
Továbbolvas…
Egy project alkalmával szembesültem a címben említett problémával. Adott volt egy adatbázis tábla melyben voltak duplikált sorok. A feladat ezeknek a soroknak a törlése volt. Első gondolatom egy temporary table megoldás volt, miszerint csinálok egy temp táblát abba egy selectel distinct -el a duplikációt jelző mezőn átrakom a recordokat és utána az eredeti táblát törlöm, a temp-et pedig átnevezem az eredeti nevére:
CREATE TABLE temp AS SELECT * FROM table1 GROUP BY FIELD; DROP TABLE table1; RENAME TABLE temp TO table1;
Ez a megoldás teljesen jól működik és elvégzi a kivánt feladatot, de ha php-ból szeretnénk megvalósítani akkor ez három lekérdezés lesz, mert a multiple query az általában tiltva van. Ezért elkezdtem keresni egy elegánsabb megoldást és találtam is.
A dolog lényege hogy a táblánakt kétszer is használjuk a queryben egy alias-sal:
DELETE FROM table1 USING table1, table1 AS temp_table WHERE (table1.id> temp_table.id) AND (table1.FIELD=temp_table.FIELD)
A fenti lekérdezés megnézi hogy a két táblában (ami tulajdonképpen ugyanaz csak más néven) vannak olyan rekordok ahol a duplikált mező egyezik, viszont az azonosító nem(mert ha ez is akkor mindkét sort törölnénk), és törli ezeket.
Weboldalunkon egyszerűen jelenithetünk meg más oldalatól kapott rss anyagot. Az alábbi snippet müködéséhez szükségünk lesz cURL,és simplexml támogatásra a tárhelyünkön, de ezek szinte mindenhol alapból elérhetőek.
Az rss csatornák xml segítségével adják át az adatokat. Tehát amikor meg akarunk nyitni egy rss csatornát, például ezen blog-ét akkor egy xml-t fogunk kapni. A csatorna megnyitásához használhatnánk a file_get_contents függvényt is, de ott az időtullépést nem tudjuk kellően lekezelni ezért én cURL-t használok:
$url = "http://blog.greg-dev.com/feed/"; $options = array( CURLOPT_URL => $url,#url megadasa CURLOPT_RETURNTRANSFER => 1,#nem akarunk kozvetlen output-ot CURLOPT_CONNECTTIMEOUT => 2 ,# 2 masodperc-es varakozas utan megszakitjuk a kerest CURLOPT_MAXREDIRS => 0,#maximum 0 atiranyitasig kovesse az atiranyitasokat CURLOPT_REFERER => "http://www.google.hu" #beallitjuk a referert ); $ch = curl_init(); curl_setopt_array($ch, $options); #megcsinaljuk a http kerest $result = curl_exec($ch); #lezarjuk a session-t hogy felszabaditsuk a rendszer-eroforrasokat. curl_close($ch);
A fenti kód lefutása után a $result változóban lesz a nekünk kellő xml adatállomány. A kapott adatot ezután valmilyen használható formára kellene alakítanunk és ítt veszzük igénybe aphp simplexml bővítményét ami az átadot xml-ből egy objektumot képez nekünk:
$xml = simplexml_load_string($result); $output = '<ul>'; $limit = 10; $i = 0; foreach($xml->channel->item as $item){ $output .= '<li><a href="'.$item->link.'" rel="nofollow" target="_blank">'.$item->title.'</a>'; $output .= '<br /><span class="description">'.$item->description.'</span>'; $output .= '</li>'; $i++; if($limit != 0 and $i == $limit)break; } $output .= '</ul>';
Mivel a kapott adat lehet hogy tul hosszú ezért beállíthatunk egy limitet,melynek elérésekor a ciklus véget ér. Az xml tag-jai pedig az objectumon keresztül elérhetőek és tetszőleges kimeneti formába rendezhetőek.
A Sony es a Google megallapodasat kovetoen a Sony bizonyos tipusu laptopjain a Google bongeszojet fogja default browser-kent telepiteni.
A Chrome mar jelenleg is korulbelul 6 szazalekat uralja a bongeszo piacnak, megelozve ezzel a Safari-t es az Opera-t es a harmadik legnepszerubb bongeszo a vilagon. Ezzel az egyeszseggel azonban ez valoszinuleg tovabb fog emelkedni bar a Sony az egyik legkisebb szamitopepgyarto ceg, de az egyeszseg segitheti a Google azon torekveseit hogy mas gyartokkal is leszerzodjon mint peldaul a Dell vagy a Hewlett Packard.
En szemely szerint orulok a hirnek, mert remelm hogy ezzel is csokken az Internet Explorer-t hasznalok szama.
Keszitettem egy egyszeru kis javascript szoveg forgatot, es ezt szeretnem megosztani. A script mukodesehez jQuery libray szukseges az effectek miatt. Itt lathatjatok mukodes kozben es a forrasban ott a kod kommentezve.