Jump to content
php.lv forumi

Navigācija


artfiction

Recommended Posts

Situācija tāda:

Ir saits, kurā ir 6 nodaļas un zem katras nodaļas ir 2-8 apakšnodaļas, piemēram, šokolāde (ar krējumu, ar pienu), saldējums (vafeļu, uz kociņa) utt.

Vēlos saitu veidot 3 valodās (LV, RU, EN).

 

Nevaru izdomāt kāds būtu ērtāk un efektīvāk taisīt navigāciju, varbūt varat ieteikt.

 

Šobrīd skatot cauri visus topicus šajā nodaļā, uztaisīju sekojošu tabulu savām kategorijām:

id | nosaukums_lv | nosaukums_en | nosaukums_ru | parent | nodala | links

1 | saldejums | ice cream | marozenoe | 0 | 1 | icecream.php

2 | -vafeļu | -waffle | -vafelnij | 1 | 1 | vafice.php

 

Un tad lapās ievietoju

 

<?php $result = @mysql_query('SELECT * FROM kategorijas WHERE parent LIKE "1" AND nodala LIKE "1" ORDER by id '); ... 
echo ' <tr><td height="38" background="../images/vizualais/norades.gif"><a href="http://www.saldumi.lv/lat/'.$rows['links'].'" class="sadalulinki">'.$rows['nosaukums_lv'].'</a> </td></tr>';

 

Šobrīd līdz ar to arī sanāk, ka jāseivo jaunas php lapas katrai nodaļai un apakšnodaļai, bet tā kā apakšnodaļās iegūstamā informācija ir identiska tikai teksts mainās, bet lauki no citas tabulas tie paši, tad varbūt varat ieteikt labāku veidu? Citādi tagad sanāk, ka, ja mainās apakšnodaļa, tad man papildus datubāzes rindiņas dzēšanai vēl caur ftp jāiet un jādzēš palikušais fails.

 

Liels Paldies Jau iepriekš!

Link to comment
Share on other sites

Diezgan sarežģīti un neerganomiski sataisīts manuprāt.

Ieteikumi:

0. SELECT * FROM vajadzētu rakstīt kā 'SELECT `nosaukums_'.$pashreizeja_valoda.'`,`links`

1. WHERE parent LIKE "1" vajadzētu WHERE parent=1

2. Par saturu, ir tāda lietā kā include(), tad varam uztaisīt menu.php, bottom.php, top.php un katrā icecream.php salikt: include('top.php'); .. include('menu.php'); .. include('bottom.php');

Vai arī taisīt visu vienā failā saturs.php?id=1 un visu saturu glabāt datubāzē, atbilstoši savai kategorijai.

3. Ieteikums, valodas glabāt vienā tabulā, jo apakškategorijām arī vajadzēs katru savā valodā.

Link to comment
Share on other sites

daudz reizes apspriests un internetā papilns koncepciju.. Es pieturos pie:

 

Languages: langid | name | shortname

Categories: catid | name | parentcatid | fielname ... etc

CategoriesNames: catid | langid | name

Link to comment
Share on other sites

Es taisiju taa:

 

izveleto valodu saglabaju sesijaa, un pie katras datu izvilksanas.

 

$lang=$_SESSION['lang'];

switch ($lang) {

case "lv": $nos_col="NOSAUKUMS"; break;

case "ru": $nos_col="NOSAUKUMS_RU"; break;

}

 

$result=mysql_query("SELECT $nos_col FROM TABULA", $handle_db);

Link to comment
Share on other sites

Jau kādu brīdi pieturos pie varianta ka ieraksti atkārtojas, tik ar dažādiem valodas kodiem:

 

nosaukums | valodas_kods1 | parent | ...

nosaukums | valodas_kods2 | parent | ...

 

un veidojot navigaacijas laboshanu atlasu katru valodu atsevishkji (līdz ar to navigācija dažādām valodām var atšķirties).

Link to comment
Share on other sites

Blitz:

Sesijā likt valodu - nu būs interesanti, kad kāds teiksim vienā valodā(RU) kaut ko atrod un nosūta linku draugam, bet lapas default valoda ir LV...

Tas pats, ja gribi vienlaicīgi satigāt pa abu valodu versijām.

 

Es teiktu, ka valodas mainīgo labāk urlī iekšā.

Link to comment
Share on other sites

Gribēju izmēģināt sekojošu variantu, bet visu laiku met laukā erroru.

No menu.php atnāk adrese, piemēram, "http://www.manalapa.lv/lat/lapa.php?ident=2!

 

 

<? include ("top.php"); ?>
<tr>
<? include ("menu.php"); ?>
<td width="542" valign="top">

<?php $result = @mysql_query('SELECT ident, links FROM kategorijas WHERE ident like '.$ident.'');

if (@mysql_query($result)) {
echo (include ($links));
 } else {
echo(mysql_error());
 }
?>

<? include ("footer.php"); ?>

 

 

Taču izmet laukā sekojošu erroru:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #8' at line 1

 

Nu nesaprotu, kas tas par Resource id#8?

Kur ir kļūda, njeponjatka!

Link to comment
Share on other sites

nja, jo dzilak ieksa, jo lielaka pakaļā (:sick)

 

Varbūt kāds var ieteikt resursu, kas tiešām ir palīdzējis (kur var saprast notiekošo) saistībā ar šito.

Zinu, ka google ir daudz viņu, bet kas tieši jums liekas labākais!

Citādi - jau trešo dienu pa šito lietiņu skatos un mēģinu šo to un kad jau liekas, ka nu tūlīt būs, uzmet īpašo "resource id#8".

 

PALDIES!

Link to comment
Share on other sites

* kāpē raksti šitā
mysql_query(mysql_query('SELECT ident, links FROM kategorijas WHERE ident like '.$ident.''))

un brīnies par resource id#8 ?

 

a kā iesaki rakstīt, lai nebūtu tā resource id#8? Un no kā viņš vispār rodas?

Link to comment
Share on other sites

×
×
  • Create New...