Autor | Zpráva | ||
---|---|---|---|
vecerapl Profil |
#1 · Zasláno: 24. 11. 2010, 12:31:03 · Upravil/a: vecerapl
Ahoj,
dělám si agregátor slev a načítám XML feed http://www.slevopolis.cz/feeds/vykupme_cz.xml Každou položku ukládám, avšak stojím nyní před problémem, kdy sleva na Ubytování pro dva na dvě noci s večeří v hotelu VILLA, místě známém ze seriálu „Ordinace v růžové zahradě“. jev XML feedu hned několikrát z důvodu toho, že sleva je pro vícero měst a tak můj script tuto slevu uloží hned několikrát pro každé město. To je v pořádku, jenže rád bych tuto slevu se stejným popisem, ale jinou URL chtěl uložit jen 1x a to tak, že pokud ta sleva tam bude stejná 2x a více, uloží se pouze jednou a jako město se použije Česká republika Můj script: $xml = simplexml_load_file("http://www.slevopolis.cz/feeds/vykupme_cz.xml"); // zkontrolujeme, zda-li URL adresa na XML existuje if ($xml != "") { // provedeme vypis XML foreach($xml as $data) { $mesto = $data->CITY; $popis = $data->TITLE; $url = $data->URL; $image = $data->IMAGE; $cena = $data->FINAL_PRICE; $sleva = $data->DISCOUNT; $zakaznik = $data->CUSTOMERS; $cas_od = $data->DEAL_START; $cas_do = $data->DEAL_END; // zjistime, zda-li URL je jiz v mySQL $search = sql("SELECT id FROM sleva WHERE url='$url' OR popis='$popis'"); // sleva - jeji URL jeste neni v mySQL, tak slevu zapiseme if ($search[0] == "") { sql("insert into sleva values ('', '$id_mesto[0]', '$nazev', '$popis', '$url', '$firma[0]', '$obrazek', '$cena', '$sleva', '$zakaznik', '$otevreno', '$zavreno', '$poradi', '$povoleno', '$time')"); } else { // sleva jiz v mySQL je, tak provedeme jen jeji update sql("UPDATE sleva SET popis = '$popis', url = '$url', zakaznik = '$zakaznik', otevreno = '$otevreno', zavreno = '$zavreno', time = '$time' WHERE id='$search[0]'"); } Není to přímo 100% script co Vám zde ukazuji. Jen chci, aby jste byli v obraze jak to asi mám teď. |
||
Kajman_ Profil * |
#2 · Zasláno: 24. 11. 2010, 13:16:27
Tenhle skript ale přeci nevytvoří více řádků se stejným popisem. Vždyť hledáte nejen url ale i popis='$popis'.
Asi bych si v tom první dotaze nevyhledával jen id, ale i mesto. A v update dal republiku, pokud tam bylo jiné mesto než aktuálně načtené z xml. |
||
Anonym Profil * |
#3 · Zasláno: 24. 11. 2010, 13:24:08
Toto funguje?
$search = sql("SELECT id FROM sleva WHERE url='$url' OR popis='$popis'"); if ($search[0] == "") { já bych čekal spíš: if ($row = mysql_fetch_array($search)) if ($row[0] == "") {... |
||
Časová prodleva: 13 let
|
0