Autor | Zpráva | ||
---|---|---|---|
vojja01 Profil * |
#1 · Zasláno: 26. 5. 2013, 21:29:32
Zdravím všechny,
Pokusil jsem se napsat jeden "skriptík" v PHP pro načtení RSS souboru. <? $xml = "./example_feed.xml"; $xmlfeed = simplexml_load_file($xml); //načtení RSS souboru $index = 0; foreach ($xmlfeed->channel->item as $item): if($index <= $_GET["index"] OR $index >= ($_GET["index"] + 10)) break; //pokud je číslo položky menší než je nastavené, nebo pokud již skript prošel 10ti položkami, skonči! >:D $index++; $date = $item->pubDate; $link = $item->link; $title = $item->title; $desc = $item->description; $cat = $item->category; //nastavení proměnných z položky RSS $date = strtotime($date); $date = Date("j.m.Y H:i:s", $date);?> <div style="margin:5px 0px;border-top:1px solid grey;"> <?echo $date;?><a href="<?echo $link;?>"><?echo $title;?></a> <?echo "<br>".$desc."<br></div>"; //vypsání položky endforeach;?> Díky za všechny odpovědi :) |
||
Alphard Profil |
#2 · Zasláno: 26. 5. 2013, 21:33:30
Nechcete tam spíš
continue ? Break to odstaví na první položce.
|
||
juriad_ Profil * |
#3 · Zasláno: 26. 5. 2013, 21:35:39
Vypisuješ články ve smyčce. Ta prochází postupně hodnotami od 0. Jenže pokud je GET větší než 0, tak se podmínka při prvním průchodu vyhodnotí jako pravdivá a následný break ukončí cyklus for.
|
||
nonejm Profil * |
#4 · Zasláno: 26. 5. 2013, 21:36:26
if($index <= $_GET["index"] |
||
vojja01 Profil * |
#5 · Zasláno: 26. 5. 2013, 21:42:12
[#4] nonejm
V cyklu je příkaz $index++ |
||
nonejm Profil * |
#6 · Zasláno: 26. 5. 2013, 21:47:12
$get_index = $_GET["index"] . . . if($index >= $get_index AND $index < ($get_index + 10)) vypisuj; else nic nedělej; |
||
vojja01 Profil * |
#7 · Zasláno: 26. 5. 2013, 21:54:18
[#6] nonejm
Po tvojí radě mi to již funguje, ale pouze když je $_GET["index"] menší než 10... |
||
nonejm Profil * |
#8 · Zasláno: 26. 5. 2013, 22:02:26 · Upravil/a: nonejm
bude=li $_GET["index"] 20
if($index >= 20 AND $index < 30) vypisuj; else nic nedělej; otázkou je, jesli je tam tolik přízpěvků anebo jestli tam nezbyla nějaká jiná podmínka pro $index>10 pravda je, že by tam mohla být podmínka s break pro $index >=($get_index + 10), aby to zbytečně neprojíždělo všechny přízpěvky do konce |
||
vojja01 Profil * |
#9 · Zasláno: 26. 5. 2013, 22:08:11 · Upravil/a: vojja01
No, právě to mi vrtá hlavou. Teď jsem zkusil vypsat na konec skriptu hodnotu $index a je pořád 10, ať se děje co s děje. Když nastavím $get_index větší než 9, nic se nevypíše. Když 9 nebo méně, vypíšou se položky od 1 do čísla v $get_type. Přitom podle podmínky by se jich mělo vypsat 10, od čísla $get_index. Jinak používám RSS ze serveru cnews.cz a tam rozhodně není jen 10 článků :D.
Vlastně první část funguje, a to, že se mi zobrazí položky od čísla $get_index. Ale pouze do desíti, ne do 10ti položek přičtených k $get_index. Takže chyba bude nejspíš tam :( Takže když zadám např. 8, měly by se vypsat položky 8-18 ale vypíší se 8-10... -_- |
||
nonejm Profil * |
#10 · Zasláno: 26. 5. 2013, 22:25:13
http://www.cnews.cz/rss.xml - je jich tam přesně deset !!! :-D
|
||
vojja01 Profil * |
#11 · Zasláno: 26. 5. 2013, 22:31:01 · Upravil/a: vojja01
Ježiš, to si děláte srandu! :DDDD
Tak to se všem moc omlouvám, když jsem to zkoušel s jiným souborem (zive.cz), tak byl zrovna ten soubor nějak nedostupný a taky mi to nešlo... No tak děkuji za váš čas, snad příště nebudu tak blbý ;) :D (mimochodem, se souborem http://www.zive.cz/rss/sc-47/ už mi to funguje bezproblémově... :D) |
||
Časová prodleva: 12 let
|
0