Въпросче
4 отговора
123 прегледа
Въпросче
Направил съм си едно сайтче в нас с 3-4 странички в него. На едната искам да въведа данни/текст в една база. На данните трябва да се даде категория и под категория. Всяка категория има опр. брой подкатегории. Искам след избор на категория да се презареди страницата и в листбокса с подкатегориите да се заредят само специфичните за категорията. Дайте идеи как да стане това? Използвам PHP, mySQL.
Re: Въпросче
Pyrwo temata e za PHP
Wtoro - moje6e da dade6 primer 6toto twa go 4etoh 20 minuti dokato go razbera... ako sym go razbral de :)
P.S. Ako sym te razbral prawilno iska6 ne6to ne mnogo slojno. Az ti predlagam ako ne sa mnogo kategoriite za wsqka da naprawi6 table w MySQL i w tozi table da ima podkategorii. Otdelno si ima6 edin za dannite w koito ima6 poleta za dannite, kategoriq i podkategoriq i kwoto si iska6. Molq te dai nqkakyw primer 6toto dokato ti otgowarqm i we4e zabrawih kakwo iska6 :)
Wtoro - moje6e da dade6 primer 6toto twa go 4etoh 20 minuti dokato go razbera... ako sym go razbral de :)
P.S. Ako sym te razbral prawilno iska6 ne6to ne mnogo slojno. Az ti predlagam ako ne sa mnogo kategoriite za wsqka da naprawi6 table w MySQL i w tozi table da ima podkategorii. Otdelno si ima6 edin za dannite w koito ima6 poleta za dannite, kategoriq i podkategoriq i kwoto si iska6. Molq te dai nqkakyw primer 6toto dokato ti otgowarqm i we4e zabrawih kakwo iska6 :)
Re: Въпросче
ima tri tablici
w ednata se pishat categoriite
w drugata podcategoriite + pole za prinadlevnost kym categoriq. Wyprosa beshe sled kato se izbere categoriq ot list boxa da se prezaredqt podkategoriite za syotwetnata kategoriq. Kak stawa towa s JScript s PHP. imam nqkakwa smytna ideq . Pisha si funkciq koqto da setwa session promenliwa i sled towa wryzwam na sybitie na list boxa. i prawq page reload neshto ot sorta shte trqbwa da e ....???
w ednata se pishat categoriite
w drugata podcategoriite + pole za prinadlevnost kym categoriq. Wyprosa beshe sled kato se izbere categoriq ot list boxa da se prezaredqt podkategoriite za syotwetnata kategoriq. Kak stawa towa s JScript s PHP. imam nqkakwa smytna ideq . Pisha si funkciq koqto da setwa session promenliwa i sled towa wryzwam na sybitie na list boxa. i prawq page reload neshto ot sorta shte trqbwa da e ....???
Re: Въпросче
Ако категориите и подкатегориите не са много, е по-добре да се напраяви с JavaScript. Не е необходимо да се релоудва цялата страница, особено ако го вържеш към събитие.
Например, имаш 2 SELECTa, и 2мерен масив със стойностите на подгрупите. При onChange изпразваш innerHTML на втория SELECT и го напълваш с новите стойности от масива.
А при сървърсайд варианта, не е необходима сесийна променлива, просто сетни едно скрито FORM поле и добави бутон за submit. Примерчето на PHP ще изглежда по подобен начин, само дето вместо от масив options на 2рия select ще се вземат от ДБ.
Впрочем и в JavaScript варианта няма проблем данните в масива да се взимат от DB сървърсайд.
Най-същественото е невидимо за очите
Например, имаш 2 SELECTa, и 2мерен масив със стойностите на подгрупите. При onChange изпразваш innerHTML на втория SELECT и го напълваш с новите стойности от масива.
А при сървърсайд варианта, не е необходима сесийна променлива, просто сетни едно скрито FORM поле и добави бутон за submit. Примерчето на PHP ще изглежда по подобен начин, само дето вместо от масив options на 2рия select ще се вземат от ДБ.
Впрочем и в JavaScript варианта няма проблем данните в масива да се взимат от DB сървърсайд.
Най-същественото е невидимо за очите
Re: Въпросче
Ето ти едно примерче на JavaScript:
<HTML><HEAD>
<SCRIPT>
var subContent = new Array(3);
subContent[0] = new Array(4);
subContent[0][0] = "00";
subContent[0][1] = "01";
subContent[0][2] = "02";
subContent[0][3] = "03";
subContent[1] = new Array(4);
subContent[1][0] = "10";
subContent[1][1] = "11";
subContent[1][2] = "12";
subContent[1][3] = "13";
subContent[2] = new Array(4);
subContent[2][0] = "20";
subContent[2][1] = "21";
subContent[2][2] = "22";
subContent[2][3] = "23";
function whatTheFunction() {
var selected_val = parseInt(document.myForm.theSelect.options[document.myForm.theSelect.selectedIndex].value);
var anotherSelect = document.myForm.secondSelect;
var temp_option;
if(selected_val != 3) {
anotherSelect.innerHTML = "";
for(var i = 0; i < subContent[selected_val].length; i++) {
temp_option = document.createElement("OPTION");
anotherSelect.appendChild(temp_option);
temp_option.text = subContent[selected_val];
temp_option.value = subContent[selected_val];
}
anotherSelect.style.visibility = "visible";
}
};
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myForm">
<SELECT NAME="theSelect" OnChange="whatTheFunction()">
<OPTION VALUE="0">aaaaa
<OPTION VALUE="1">bbbbb
<OPTION VALUE="2">ccccc
<OPTION VALUE="3" SELECTED>Select something
</SELECT>
<SELECT NAME="secondSelect" STYLE="visibility : hidden;">
</SELECT>
</FORM>
</BODY></HTML>
Най-същественото е невидимо за очите
<HTML><HEAD>
<SCRIPT>
var subContent = new Array(3);
subContent[0] = new Array(4);
subContent[0][0] = "00";
subContent[0][1] = "01";
subContent[0][2] = "02";
subContent[0][3] = "03";
subContent[1] = new Array(4);
subContent[1][0] = "10";
subContent[1][1] = "11";
subContent[1][2] = "12";
subContent[1][3] = "13";
subContent[2] = new Array(4);
subContent[2][0] = "20";
subContent[2][1] = "21";
subContent[2][2] = "22";
subContent[2][3] = "23";
function whatTheFunction() {
var selected_val = parseInt(document.myForm.theSelect.options[document.myForm.theSelect.selectedIndex].value);
var anotherSelect = document.myForm.secondSelect;
var temp_option;
if(selected_val != 3) {
anotherSelect.innerHTML = "";
for(var i = 0; i < subContent[selected_val].length; i++) {
temp_option = document.createElement("OPTION");
anotherSelect.appendChild(temp_option);
temp_option.text = subContent[selected_val];
temp_option.value = subContent[selected_val];
}
anotherSelect.style.visibility = "visible";
}
};
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myForm">
<SELECT NAME="theSelect" OnChange="whatTheFunction()">
<OPTION VALUE="0">aaaaa
<OPTION VALUE="1">bbbbb
<OPTION VALUE="2">ccccc
<OPTION VALUE="3" SELECTED>Select something
</SELECT>
<SELECT NAME="secondSelect" STYLE="visibility : hidden;">
</SELECT>
</FORM>
</BODY></HTML>
Най-същественото е невидимо за очите