phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
Vytvoření SQL dotazu Stránka-Články-Kraje
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2012-10-15, 16:29

Zdravím všechny,
právě si lámu hlavu s dotazem do databáze, který by mi podle zadání vybral články. Pořád mi na tom něco nefunguje jak má a byl bych šťastný, kdyby mi někdo fundovanější pomohl.

Mám klasický dotaz, který vybere všechny články z rubrik, které potřebuji:

SELECT link, titulek, uvod, tema, idc, visible, datum, obrazek, sablona, level_clanku, stat, kraj, region, mesto FROM '.$GLOBALS['rspredpona'].'clanky WHERE (visible = 1) AND (datum <= "'.$dnesnidatum.'") and ('.$nastavtema.') AND level_clanku=1 ORDER BY datum....atd. tohle funguje.

Ale potřeboval bych podle adresy např. http://www.neco.cz/index.php?rskraj=2 vybrat jen články s pořadovým číslem kraje 2:


SELECT link, titulek, uvod, tema, idc, visible, datum, obrazek, sablona, level_clanku, stat, kraj, region, mesto FROM '.$GLOBALS['rspredpona'].'clanky WHERE (visible = 1) AND (datum <= "'.$dnesnidatum.'") and ('.$nastavtema.')'.$kraj.' AND level_clanku=1 ORDER BY datum...

A teď nevím, jestli pro proměnou kraj dát tohle:
if (($_GET['rskraj'])!=""):
$kraj = ' AND (kraj = '.$_GET['rskraj'].')';
else: $kraj = "";
endif;


a nebo tohle:
if (isset($_GET['rskraj'])):
$kraj = ' AND (kraj = '.$_GET['rskraj'].')';
else: $kraj = "";
endif;


a hlavně, potřeboval bych ošetřit ještě možnosti když by adresa vypadala takto:
http://www.neco.cz/index.php?rskraj=0

a nebo takto:
http://www.neco.cz/index.php?rskraj=

aby to vypsalo články ze všech krajů.

Nevíte, jak by se to dalo vyřešit? Děkuji za rady.


LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Vytvoření SQL dotazu Stránka-Články-Kraje
Zaslán uživatelem/kou: Lonanek (IP adresa zaznamenána)
Datum: 2012-10-16, 08:59

1. určitě bych nepoužil $_GET, ale $GLOBALS;
2. 100% bych proměnnou ošetřil - (int) $GLOBALS['rskraj'];

$GLOBALS['rskraj'] = (int) $GLOBALS['rskraj'];

if ($GLOBALS['rskraj'] != "" OR $GLOBALS['rskraj'] > 0):  // není prázdné a je větší jak 0
  $kraj = ' AND (kraj = '.$GLOBALS['rskraj'].')'; 
else: 
  $kraj = ""; 
endif;

Neřeším situaci, kdy vstupní proměnná rskraj neexistuje. To předpokládám, že ošetřené již máš výše ve svém scriptu.



* 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 16.10.2012 09:00.



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.