Jump to content
php.lv forumi

Paliidz kaads razobratsa plz


orion

Recommended Posts

Paliidz, plz, man kaads tikt skaidriibaa. kaa iisti veidojas kategorijas... tjipa kaa

/index.php?cat=ParMani

saprotu, ka shito fignju var nosaukt ka avien v eelies, bet nu... man vajag principus, kaa tas vdarbojas.. tjip kas staav iksh taa index.php un nosaka, kura kateorioja taga darbosies...

Link to comment
Share on other sites

kategorijas/katalogi

 

// elementaaraakais un nedroshaakais

include($_GET['cat']. '.php');

 

// netik elementaars, bet droshaaks

$katalogi = array('ParMani' => 'ParMani.php');

include ($katalogi[$_GET['cat']]);

 

utt

Link to comment
Share on other sites

kategorijas/katalogi

 

// elementaaraakais un nedroshaakais

include($_GET['cat']. '.php');

 

// netik elementaars, bet droshaaks

$katalogi = array('ParMani' => 'ParMani.php');

include ($katalogi[$_GET['cat']]);

 

utt

MNja, esmu galiigz iesaaceejs un tamdeelj plz luudzu bik apskaidrot... !!! :blink:

Link to comment
Share on other sites

/me vairāk pieradis pie vienotā index.php, kur inclūdojas tikai iesakņojušās klases un moduļi (vieglāka apdeitošana, mazāk pārdefinējumu). šādā gadījumā kods var izskatīties kā (_ vietā iet identācija)

 

if (empty($_GET['cat']))

{

//šeit daram kaut ko kad katalogs nav izvēlēts

}

else

{

_switch($_GET['cat'])

_{

__case 'šādsuntāds':

__//šeit apstrādājam vienu katalogu

__break;

__case 'citāds':

__//šeit apstrādājam otru katalogu

__case 'un vēl kāds cits':

__//šeit varam apvienot kaut kādas darbības 2 un 3 katalogam

___(note: augstāk nav uzlikts break, tāpēc viss izpildās līdz nākamajam)

__break;

__default:

__//rīcības, ja neviens no augstākminētājiem nav izpildījies

__break;

_}

}

Link to comment
Share on other sites

Thnks visiem, bet nuu teksim vienu iisu piemeeru kaads plz uzraksta. Konkreeta lieta, atkariibaa no kataloga mainaas kaada mainiigaa veertiiba. Un peec taa tad peectam do db attieciigi tiek atlasiiti atbilsotshi ierakti.

Ar db tikshu galaa, bet man galvenais, lai mainiigais mainaas atkariibaa no taa kataloga. Katalogi vislaab ieprieksh defineeti. Un kaadi 5 gab man buus vajadziigi. Bet piemeeraa vareetu pietikst arii ar 2iem...

 

Sorrz, zinu, ka prasu daudz.... Bet pilniigs dunda esmu ieksh PHP un pagaidaam maacos no konkreetiem piemeeriem, taa man vieglaak saprast.

Edited by orion
Link to comment
Share on other sites

pieņemsim, ka katalogi tev numurēsies ar naturāliem skaitļiem - 1,2,3... - un lapa/katalogs pēc noklusējuma ir 0

 

 

$_GET['cat']=isset($_GET['cat']) ? (int) $_GET['cat']) : 0;

//ja kataloga mainīgais ir definēts, pārveršam to par veselskaitļi (ja kāds ievadīs cipara vietā vārdu - tas pārtaps par 0) vai paņemam pēc noklusējuma 0

 

tālāk

mysql_query("SELECT preces FROM $tGoods WHERE catalogue_id=".$_GET['cat']);

 

un aiziet

 

ja gribi izmanto vārdus ciparu vietā - tos var laist pa tiešo

$allowed=array('auto','tv','food' ,.... );

pirms liekam querijā pārbaudām:

if (!in_array($_GET['cat'],$allowed))

- ja ievadīts vārds, kas nav atļauto katalogu nosaukumos - piešķiram defaulta vērtību / izvadām kļūdu whateva

 

var arī ņemt to pašu $allowed=array('auto','tv','food' ,.... );, bet iekšēji vārdu pārvērst par cipariem, zinot ka auto index ir 0 ($allowed[0]=='auto'), tv - 1, food - 2 utt.

if (in_array($_GET['cat'],$allowed))

$catalogue=$allowed[$_GET['cat']];

else

$catalogue= ; //šeit defaulta vērtība

 

utml

Link to comment
Share on other sites

Taakhs probleema tutrpinaas...

 

 

$allowed=array('remonts','uzpildes','apkopes','kontakti' );
if (!in_array($_GET['cat'],$allowed)) {
$katalogs=$allowed[$_GET['cat']];
echo'Neatljauts katalogs $katalogs';
}
else {
$katalogs='pirmaa';
echo'Atljauts katalogs $katalogs';
}

 

Kur ir kljuuda, ja rezultaataa mainiigais $katalogs netiek atteelots ne trua, nea rii else gadiijumaa!! Tas ir neraada taa veertiibu - tikai "Atljauts katalogs $katalogs'" un viss..

Link to comment
Share on other sites

! pirms izteikuma nozīmē "nē" lasām:

 

if (!in_array($_GET['cat'],$allowed)) {

ja nodotā mainīga vērtības nav masīvā

$katalogs=$allowed[$_GET['cat']];

tad ņemamviņu no masīva


echo'Neatljauts katalogs $katalogs';
}
else {

citā gadījumā (ja nodota vienalga kāda OK vērtībā)

$katalogs='pirmaa';

tik un tā piešķiram katalogam pirmās lapas vērtību

echo'Atljauts katalogs $katalogs';
}

 

tagad piedomājam

Link to comment
Share on other sites

Taakhs probleema turpinaas...

 

 

$allowed=array('remonts','uzpildes','apkopes','kontakti' );
if (!in_array($_GET['cat'],$allowed)) {
$katalogs=$allowed[$_GET['cat']];
echo'Neatljauts katalogs $katalogs';
}
else {
$katalogs='pirmaa';
echo'Atljauts katalogs $katalogs';
}

 

Kur ir kljuuda, ja rezultaataa mainiigais $katalogs netiek atteelots ne if, ne arii else gadiijumaa!! Tas ir neraada taa veertiibu - tikai "Atljauts katalogs $katalogs'" un viss..

Pat pirms taa speciaali pieshkjirot veertiibu nekas neizmainaas... :(

Edited by orion
Link to comment
Share on other sites

×
×
  • Create New...