Jump to content
php.lv forumi

Recommended Posts

Posted

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š!

Posted

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ā.

Posted

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

 

Languages: langid | name | shortname

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

CategoriesNames: catid | langid | name

Posted

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);

Posted

Blitz, un ja vajag operatīvi pievienot valodu? Jāalterē visa DB.. jāparraksta kods nedaudz (tomēr maz, bet tāpat laiku aizņem)

Posted

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).

Posted

Navigācija var būt dažāda...

1.) kategorijas (1:1)

2.) saturs (dažāda)

...

 

Tā kā konkrētā situācijā jāizvēlas konkrēts datu glabāšanas mehānisms. Bet noteikti ne "ar kolonnām"...

Posted

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šā.

Posted

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!

Posted

* priekš kam tev template ja tajā raksti kveriju datubāzei?

* kāpē raksti šitā

mysql_query(mysql_query('SELECT ident, links FROM kategorijas WHERE ident like '.$ident.''))

un brīnies par resource id#8 ?

Posted

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!

Posted
* 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?

×
×
  • Create New...