phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Náhodný výpis článku
Zaslán uživatelem/kou: nowhereman (IP adresa zaznamenána)
Datum: 2013-03-12, 13:37

Ahoj všem, nevím, jestli se to bude někomu hodit ale spáchal jsem plugin, který vybere náhodně úvod článku, jeho datum vydání a počet přečtení z databáze a zobrazí ho v systémovém bloku.
Najdete ho tady: http:/www.audioproject.eu/download.php
Pokud najdete čuňárny v kódu tak mě prosím nekamenujte :-).

Re: Náhodný výpis článku
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2013-03-12, 16:14

Několik připomínek bych přeci jen měl.
1. nepoužívat dotazy typu mysql_, ale použít standardní phprs_sql_;
2. v dotazu SELECT bych raději volil pouze tři použité proměnné, není nutné načítat všechny sloupce;
3. určitě není vhodné v dotazu použití tabulky ve tvaru rs_clanky, ne každý musí nutně použít tuto předponu tabulek. Tedy správně má být
".$GLOBAL["rspredpona"]."clanky ..."

4. struktura - aby se každý vyznal v tom, ve které části se nachází (tím mám na mysli odsazení podmínek a větvení).
5. pro mne trochu zbytečně nesmyslné while, dotaz je omezen na jeden článek (LIMIT 1) a není tedy nutné opakování. Stačí tedy pouze otestovat, zda je nějaký článek k dispozici a ten načíst vložit údaje do proměnné. Zjednoduší Ti to kód.
6. přehodnotit použití ORDER BY RAND(), nad tabulkou s velkým množstvím záznamů to může být trošku problém.

Jinak jednoduché a srozumitelné.

Opravu dle 1 a 3 bych doporučoval provést co nejdříve.


* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *




Celkem upraveno 1×. Poslední úprava Lonanek v 12.03.2013 16:45.

Re: Náhodný výpis článku
Zaslán uživatelem/kou: nowhereman (IP adresa zaznamenána)
Datum: 2013-03-12, 18:18

Jelikož jsem pouze zanícený amatér a ne PHP programátor rád se přiučím a díky za připomínky.
Body 1, 2, a 3 jsem opravil.
Vim, že ORDER BY RAND je docela prasárna, ale navrhované postupy, které jsem našel na Google se mi zdály pro tento plugin zbytečně složité.
Co se týče while tak s tím nepohnu - byl to "útěk ze zoufalství" :-) nic jiného mě nenapadlo :-(.
Ke stažení je už opravená verze.

Re: Náhodný výpis článku
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2013-03-12, 19:26

Také nejsem žádný programátor... Pouhý samouk.
Podmínka na existenci článku lze řešit:
$row = phprs_sql_fetch_assoc($query);
	if ($row["visit"] > 0) {
        $vypisclanku = "<b><font color=#1590ff>". $row["datum"] ."</font></b><br>". $row["uvod"] ."<br><br><font color=#1590ff>Přečteno:&nbsp;". $row["visit"] ."&nbsp;x</font>";
		switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()) {
			case 1:  Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$vypisclanku); break;
			case 2:  Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$vypisclanku); break;
			case 3:  Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$vypisclanku); break;
			case 4:  Blok4($GLOBALS["vzhledwebu"]->AktBlokNazev(),$vypisclanku); break;
			case 5:  Blok5($GLOBALS["vzhledwebu"]->AktBlokNazev(),$vypisclanku); break;
			default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$vypisclanku); break;
		}
	}



* Klub kuželkářů Zálabák, Hankova 62, 503 03 Smiřice (Endora) * X X * Stránky ČZS ZO Třešňovka2 * X X * Cvičný phpRS web (WZ) * X X * Testovací phpRS web (WZ) *
* cvičná verze phpRS v 2.8.2 * X X * testovací web CMS *

Re: Náhodný výpis článku
Zaslán uživatelem/kou: nowhereman (IP adresa zaznamenána)
Datum: 2013-03-12, 21:32

V jednoduchosti je krása - DÍKY MOC !!!
Kdo tedy bude chtít je ke stažení už komplet opravený plugin: [url] [http://www.limnet.cz/download.php?akce=detail&id_detail=5&sekce=1] [/url]



Celkem upraveno 1×. Poslední úprava nowhereman v 12.01.2014 20:24.

Re: Náhodný výpis článku
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2013-04-30, 14:02

já bych měl připomínku k tomu <font color=#1590ff>. Raději to ostylovat v css

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------

Re: Náhodný výpis článku
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2013-05-02, 18:22

Len tak pre zaujímavosť - je tam použité ORDER BY RAND() - k tomu viac tu: [http://www.phprs.net/forum/read.php?28,10655,30845#msg-30845]


Re: Náhodný výpis článku
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2013-05-02, 18:27

Ukážka ako na to na príklade náhodného obrázku z fotogalérie:
$sql = '
		SELECT
			count(*) AS celkovy_pocet
		FROM
			'.$GLOBALS['rspredpona'].'imggal_obr
		;
	';
	$result = phprs_sql_query($sql,$GLOBALS['dbspojeni']);
	$row = phprs_sql_fetch_assoc($result);
	$celkovy_pocet = $row['celkovy_pocet'];

	$sql = '
		SELECT
			o.ido,
			o.nahl_poloha,
			o.nahl_width,
			o.nahl_height
		FROM
			'.$GLOBALS['rspredpona'].'imggal_obr AS o
		LIMIT
			'.rand(0, (int)$celkovy_pocet-1).',1
		;
	';



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.