Poslao: 27 Nov 2010 23:10
|
offline
- susok
- Novi MyCity građanin
- Pridružio: 03 Sep 2009
- Poruke: 23
- Gde živiš: BH
|
Napisano: 26 Nov 2010 20:58
Pozdrav!
Pravim jedan sajt, i sad bi da napravim da mogu na sajtu dodavati kategorije, i kako da napravim da u kategoriju mogu dodavati podkategorije i u podkategorije podkategorije (da neograniceno mogu dodavati podkategorija u podkateoriju). npr.
=>Automobili
==>Mercedes
===>djelovi mercedesa
====>karburator mercedesa
=>Životinje
==>krava
Dopuna: 26 Nov 2010 21:03
evo ja sam probo vako
mysql tablica
CREATE TABLE `blog_kategorije` (
`id_blog_kategorije` int(11) NOT NULL AUTO_INCREMENT,
`ime_kategorije` varchar(50) NOT NULL,
`opis_kategorije` varchar(250) NOT NULL,
`kljucne_rijeci_kategorije` varchar(300) NOT NULL,
`kategorija_u_kategoriji` int(11) NOT NULL default '0',
`datum_stvaranja_kategorije` datetime NOT NULL,
PRIMARY KEY (`id_blog_kategorije`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1;
a php ko mi je vako
<?php
//Ovo spaja na mysql server i ispisuje grešku ako se ne spoji uspiješno.
if (!$db=@mySQL_connect($server, $korisnicko_ime, $lozinka))
{
echo'Nismo se mogli spojiti na MySQL server';
}
if (!mySQL_select_db($naziv_baze, $db))
{
echo'Greska pri odabiru baze!';
}
function showMenu($data,$current=0,$padding=0){
$out = '';
if(isset($data['kategorije'][$current])){
$style = ($data['polja'][$current]['kategorija_u_kategoriji'] == 0) ? '' : 'style="padding-left:'.$padding.'px;"';
$out .= '<option '.$style.'>'.$data['polja'][$current]['ime_kategorije'].'</option>';
foreach($data['kategorije'][$current] as $id){
if(isset($data['kategorije'][$id])){
$out .= showMenu($data,$id,$padding+=10);
}else{
$out .= '<option value="'.$data['polja'][$id]['id_blog_kategorije'].'" style="padding-left: '.$padding.'px;">';
$out .= $data['polja'][$id]['ime_kategorije'].'</option>';
}
}
}
return $out;
}
$rez = mysql_query('select * from blog_kategorije') or die(mysql_error());
while($row = mysql_fetch_array($rez)){
$kat['polja'][$row['id_blog_kategorije']] = $row;
$kat['kategorije'][$row['kategorija_u_kategoriji']][] = $row['id_blog_kategorije'];
}
?>
<select>
<option selected></option>
<?php
echo showMenu($kat);
?>
</select>
e ovo dobro radi al sad je problem sto nemogu da napravim da mi kategorije budu poredane npr. vako
=>Automobili
==>Mercedes
===>djelovi mercedesa
====>karburator mercedesa
=>Životinje
==>krava
već su poredane vako
Automobili
Mercedes
djelovi mercedesa
karburator mercedesa
Životinje
krava
Molio bih vas za pomoć
Hvala!
Dopuna: 27 Nov 2010 23:10
dajte nije valjda da niko nezna kako da ovo napravim,
moželi te mi vi reći koji drugi način da ovo napravim
da mogu neograniceno ubacivati kategorije u kategorije
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 27 Nov 2010 23:23
|
offline
- lnenad
- Stručni saradnik
Web
- Pridružio: 16 Jan 2007
- Poruke: 2860
- Gde živiš: Bijeljina
|
Nemam vremena sad da pogledam citav kod. Uglavnom to sto ti hoces zahtijeva logiku i malo komplikovaniji unos podataka, ali ima vise rjesenja za ovaj problem pa mozda ti neko ponudi bolji, ja bih to ovako uradio.
Kad upisujes ime kategorije pored nje upises i broj, e sad taj broj bi predstavljao nivo te kategorije.
0
1
2
3
Razumijes, i ti to samo treba da tako pri obradi podataka prikazes, prostije ja mislim ne moze a dozvoljava ti da ides do n kategorija.
E sad, konkretan primjer za mercedesa, stavis za njega 01, mercedes ovo 02, mercedes ono 03. Itd, pa mozes i 2 broja da stavis 01 01, 01 02. Nadam se da si me shvatio.
|
|
|
|
Poslao: 28 Nov 2010 00:03
|
offline
- susok
- Novi MyCity građanin
- Pridružio: 03 Sep 2009
- Poruke: 23
- Gde živiš: BH
|
pa ja sam stavio u bati
`kategorija_u_kategoriji` int(11) NOT NULL default '0',
kategorije koje imaju 0 one su glavne
a one koje imaju u `kategorija_u_kategoriji` int(11) NOT NULL id od neke kategorije bice podkategorije te kategorije, nadam se da me svatate, e sad sam ja dobro napravio kod
<?php
require('Postavke.php');
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=<?php echo $kodiranje ?>" />
</head>
<body>
<?php
function showMenu($data,$current=0,$padding=0)
{
$out = '';
if(isset($data['kategorije'][$current]))
{
$style = ($data['polja'][$current]['kategorija_u_kategoriji'] == 0) ? '' : 'style="padding-left:'.$padding.'px;"';
$out .= '<div '.$style.'>'.$data['polja'][$current]['ime_kategorije'].'</div>';
foreach($data['kategorije'][$current] as $id)
{
if(isset($data['kategorije'][$id]))
{
$out .= showMenu($data,$id,$padding+=10);
} else
{
$out .= '<div style="padding-left:'.$padding.'px;">';
$out .= $data['polja'][$id]['ime_kategorije'].'</div>';
}
}
}
return $out;
}
$rez = mysql_query('select * from blog_kategorije') or die(mysql_error());
while($row = mysql_fetch_array($rez))
{
$kat['polja'][$row['id_blog_kategorije']] = $row;
$kat['kategorije'][$row['kategorija_u_kategoriji']][] = $row['id_blog_kategorije'];
}
?>
<?php
echo showMenu($kat);
?>
</body>
</html>
Al nemogu da poredam da mi stoje jedna ispod druge
vako
=>Automobili
==>Mercedes
===>dijelovi mercedesa
u mene stoji sve vako
=>Automobili
=>Mercedes
=>dijelovi mercedesa
neznam kako da napravim da mi za svaku podkategoriju se doda jedan znak =
|
|
|
|
|
Poslao: 28 Nov 2010 00:47
|
offline
- susok
- Novi MyCity građanin
- Pridružio: 03 Sep 2009
- Poruke: 23
- Gde živiš: BH
|
Hvala Rastafarii
skripta dobro radi, možeš li mi samo još reći kako da napravim da za svaku podkategoriju doda po jedan =
vako
=>Automobili
==>Mercedes
===>dijelovi od mercedesa
=>Životinje
|
|
|
|
Poslao: 28 Nov 2010 10:18
|
offline
- Rastafarii
- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- Gde živiš: 127.0.0.1
|
Ovako:
function children($id,$indent) {
$q = mysql_query("SELECT id_blog_kategorije,ime_kategorije
FROM `blog_kategorije`
WHERE `kategorija_u_kategoriji` = '" . $id . "'
ORDER BY `ime_kategorije` ASC");
if (mysql_num_rows($q)) {
while ($d = mysql_fetch_assoc($q)) {
$indent .= ($id == 0) ? '' : "=";
echo $indent . "=> " . $d['ime_kategorije']
children($d['id_blog_kategorije'],$indent);
$indent = substr($indent,0,1);
}
}
}
Verujem da mozes da se snadjes da ubacis linkove sam
|
|
|
|
Poslao: 15 Dec 2010 17:51
|
offline
- susok
- Novi MyCity građanin
- Pridružio: 03 Sep 2009
- Poruke: 23
- Gde živiš: BH
|
Kako sad da ubacim linkove
evo probo sam ovako al neradi
<?php
require('sajt/Postavke.php'); //Poziva Postavke.php.
function blog_kategorije($id,$indent,$a)
{
$pribavlja=mysql_query("SELECT id_blog_kategorije, ime_kategorije FROM blog_kategorije WHERE kategorija_u_kategoriji='$id' ORDER BY datum_stvaranja_kategorije ASC");
if(mysql_num_rows($pribavlja))
{
while($redak=mysql_fetch_array($pribavlja))
{
$indent.=($id==0)?'':' _ ';
echo $a;
blog_kategorije($redak['id_blog_kategorije'],$indent,$a);
$indent=substr($indent,0,1);
}
}
}
$t='<div>'.$indent.''.$redak['ime_kategorije'].'</div>';
blog_kategorije(0,'',$t);
?>
|
|
|
|
|
|