PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
lihtsalt administreeritav menüü andmebaas ja ...
Postitaja: kristin 2004-09-26 17:46:08
Valmis CMS skriptid on minu jaoks liiga keerulised ja mahulised. Tahsin enda jaoks teha midagi lihtsamat ja kõige rohkem olen kimpus puumenüü tegemisega. Ja tahaks teha võimalikult dünaamilist, et kui ma praegu sellega tegelen, siis on meeles kuidas käib aga hiljem kui mul see juba olemas, siis kindlasti ei mäleta kuidas see süsteem käib. Selepärast tahan praegu teha sellist, mida hiljem lihtne administreerida.

Vajadused oleks sellised et oleks lihtne lisada piiramatul hulgal pea- ja alamkategooriaid. Ja et kuidagi saaks menüüsid blokkidena eraldada. Et teatud menüü on üleval, teatud menüü vasakul, ja teatud menüü paremal.

Lisaks veel see asi, et saks menüü näidatavust lahterdada külastaja järgi. Näiteks avalik, see on kõigile, siis sisse loginutele ja privaatne, mis on isiklik, samuti veel see aktiivne ja mitteaktiivne olek.

Menüüsüsteem võiks olla selline, et kui disaini muuta või kasutada DHTML skripte, et siis saaks seda lihtsalt ühendada.

Ja võib olla oleks menüül ka mõne lisakeele võimalus, sest mul on ka teisest rahvusest sõpru.

Milline peaks olema MySQL andmebaas ja kuidas selist menüüd teha?

Loodan et see ei olnud väga keeruline seletus.

Mingeid teemasid ma siin selle kohta lugesin aga need olid minu jaoks poolikud või arusaamatud.
RE: lihtsalt administreeritav menüü andmebaas ja ...
Postitaja: Miki 2004-09-29 05:12:07
ma saan anda sulle isegi ühe vihje..

mine sellele lingile..
http://php.center.ee/loekommentaare.php?tyyp=2&mkid=1412

seal kommentaaride hulgas on mõni mu kommentaar.. ühes neist on konkreetne kood. Teises on link siia samasse foorumisse ühe mu teema juurde, kus on selle koodi jaoks vajalik andmebaasi struktuur:)

loodan, et vihjest oli kasu ja saad hakkama;) natuke vaata ise ka:)
ühesõnaga kõik on kätte antud.. tuleb 5 minutit raisata et kaks asja kätte saada:)

P.S kui ise jännata ei viici lõpp kokkuvõttes, siis need kommentaarid antud lingi all on ühe hea CMS'i omad.. nii, et..

edu!:)










































Vastused:
lõpptulemus - > http://bss.dyn.ee/jaan/l6pmatu_menyy.jpg
Struktuur - >

PHP kood:
 
+----+----------+-------------------+------+------+ 
id parentID nimetus           jrk  link 
+----+----------+-------------------+------+------+ 
|  
|        Riistvara         |    1    
|  
|        Tarkvara          |    1    
|  
|        Arvutid           |    1    
|  
|        Monitorid         |    1    
|  
|        Arvutikomponendid |    1    
|  
|        Multimeedia       |    1    
|  
|        Personaalarvutid  |    1    
|  
|        Sülearvutid       |    1    
10 |        Serverid          |    1    
11 |        HP                |    1    
12 |        Compaq            |    1    
13 |        Microlink         |    1    
16 |        LCD               |    1    
17 |        CRT               |    1    
18 |        Adobe             |    1    
19 |        Macromedia        |    1    
+----+----------+-------------------+------+------+ 



kood - >

PHP kood:
 
<? 

$hostname="localhost"//serveri nimi 
$username=""
$password=""
$database=""
$db mysql_connect($hostname,$username,$password); 
mysql_select_db($database,$db); 
echo
'    <link rel=stylesheet type="text/css" href="stiil.css">'
echo(
'<table width="175" border="0" cellspacing="2" cellpadding="0">'); 

$parentid = array(); 
$stiil = array( 
    
"<b><font color="#0000CC">::</font></b></font>", 
    
"<img src=reddot.gif width=2 height=4>"); 

mismenyydlahti($id); 
menu(0,0); 


function 
mismenyydlahti($id=0) { 
    global 
$parentid
    
$q mysql_query("SELECT parentID FROM menyy WHERE id='".$id."'") or die(mysql_error()); 
    if (
mysql_num_rows($q)==1){ 
    
$h mysql_fetch_array($q); 
        if (
$h["parentID"]!=0) { 
        
mismenyydlahti($h["parentID"]); 
        } 
        
$parentid[]  = $id
    } 


function 
menu($id,$mitmes) { 

    global 
$parentid$stiil
    
$q mysql_query("SELECT * FROM menyy WHERE parentID='".$id."'"); 
    if (
mysql_num_rows($q) == 0) { 
    return; 
    } else { 
    while(
$inf mysql_fetch_array($q)){ 
            echo 

              <tr> 
        <td valign="
top" class=".($mitmes == "unnamed1" "v2ike").">" 
        
.str_repeat("&nbsp;",$mitmes*3). 
        ( 
$mitmes == $stiil[0] : $stiil[1] ).
        &nbsp;"
.($inf["link"]==
        
"<a href="?id=".$inf["id"]."">"
html($inf["nimetus"])."</a>"
        
"<font color="#999999">".html($inf["nimetus"])."</font>")."</td> 
              
</tr
        
"; 
        if (in_array($inf["
id"],$parentid)) 
                menu($inf["
id"],$mitmes+1); 
    } 

    } 
    return; 



function html($str) { 
    return(str_replace("
<","<", 
    str_replace("
>",">",$str))); 



echo('</table> '); 
?>?>



krt, tekkiski viicimis kõik üles otsida ja siia panna:D ma nii loodan, et sa ei avasta seda vastuste osa:D

Viimati muudetud: 29-09-2004 05:21:13
Muutja: Miki
Põhjus:

RE: lihtsalt administreeritav menüü andmebaas ja ...
Postitaja: kristin 2004-09-29 12:44:46
ic ic alguses ma ei avastanudki seda vastuse alumist osa. jäin imetlema saadud linkide abil leitud menüü administreerimise pilti. ILUS!!!!

aga kui pärast alla hakkasin kerima seda vastust ja nägin et oli lause et keegi loodab et ma ei avasta miskit. siis tuli selline irw tunne peale, sest tegelikkuses alguses ma lõksu astusingi.

igatahes miki, suured tänud ja hakkan siis katsetama.

üks küsimus siiski tekkis. et kui tahta, et menüü oleks erinevates keeltes, siis mida andmebaasitabelisse lisada?
RE: lihtsalt administreeritav menüü andmebaas ja ...
Postitaja: zzz 2004-09-29 13:06:07
TSITEERITUD:
ic ic alguses ma ei avastanudki seda vastuse alumist osa. jäin imetlema saadud linkide abil leitud menüü administreerimise pilti. ILUS!!!!

aga kui pärast alla hakkasin kerima seda vastust ja nägin et oli lause et keegi loodab et ma ei avasta miskit. siis tuli selline irw tunne peale, sest tegelikkuses alguses ma lõksu astusingi.

igatahes miki, suured tänud ja hakkan siis katsetama.

üks küsimus siiski tekkis. et kui tahta, et menüü oleks erinevates keeltes, siis mida andmebaasitabelisse lisada?


ilmselt "nimetus_eng", "nimetus_rus" jne. veerg... kuid dünaamilisema lahenudse korral peaks ikkagi gettext()-i kasutama http://ee2.php.net/manual/en/ref.gettext.php
RE: lihtsalt administreeritav menüü andmebaas ja ...
Postitaja: kristin 2004-09-29 13:31:37
kas see gettext() on ikka lollikindel, selles mõttes et vahel need tõlkelahendused võivad naljakaid otsetõlkeid teha
RE: lihtsalt administreeritav menüü andmebaas ja ...
Postitaja: credo 2004-09-29 16:25:50
See gettext() sobib ehk tõesti veebiomaniku hallatava rakenduse puhul aga kui on näiteks nii et kasutajad saavad ise ka menüüpuusse midagi juurde lisada siis ma ei kujuta ette kuidas seda sealt "konf-failis" dünaamiliselt sätitakse

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.096381187439