Witam... Potrzebuje pomocy z moją stroną. Mam na niej 7 pól select każde powiązane z poprzednim. Gdy w pierwszym zaznaczę którąś z opcji w drugim ma się pojawić lista podkategorii tej opcji. i.t.d. Natomiast w tej chwili dzieje się nic... Wiem że prościej by było, gdyby dane na temat pól option w każdym z selectów były pobierane z mysql'a, ale niestety muszę to oprzeć o plik... Proszę o pomoc z moim kodem... Domyślam się co jest źle, lecz nie mam pojęcia jak to naprawić...
<?php
function DodajOpcje($grupa)
{
$plik = "b.txt";
$dane = file($plik);
for($i=0;$i<count($dane);$i++)
{
list($numer[$i], $nalezydo[$i], $nazwa[$i]) = explode(",", $dane[$i]);
}
for($i=0;$i<count($numer);$i++)
if ($nalezydo[$i]==$grupa)
{
echo "<option value=".$numer[$i].">".$nazwa[$i]."
</option>";
}
}
?>
<script language="JavaScript" type="text/javascript">
function updateForm(od,cel)
{
for (i=0; i < cel.options.length; i++)
{
cel.options[i] = null;
}
for(i=0; i < od.length; i++)
{
if (od.options[i].selected == true)
{
switch (cel)
{
case grupa2: DodajOpcje(2);
case grupa3: DodajOpcje(3);
case grupa4: DodajOpcje(4);
case grupa5: DodajOpcje(5);
case grupa6: DodajOpcje(6);
case grupa7: DodajOpcje(7);
}
}
}
}
<form name='formularz' action='nowy.php' method='POST'>
<select size='6' name='grupa1' onChange="updateForm(this,grupa2); return true;"> <?php DodajOpcje(1);?>
<select size='6' name='grupa2' onChange="updateForm(this,grupa3); return true;">
<select size='6' name='grupa3' onChange="updateForm(this,grupa4); return true;">
<select size='6' name='grupa4' onChange="updateForm(this,grupa5); return true;">
<select size='6' name='grupa5' onChange="updateForm(this,grupa6); return true;">
<select size='6' name='grupa6' onChange="updateForm(this,grupa7); return true;">
<select size='6' name='grupa7' onChange="updateForm(this,grupa8); return true;">
i kilka wpisów z b.txt:
1,1,Higiena
2,1,Przemysł
3,1,Sprzątanie
4,1,Ochr. Obiekt.
5,1,Art. Ogrodnicze
6,1,Inne
7,2,Materiały
8,2,Urządzenia
9,2,Inne
zmodyfikowałem to troche i teraz mam takie coś... Więcej pomysłów - zupełnie brak

<?php
$plik = "b.txt";
$dane = file($plik);
$od=$_GET['od'];
$cel=$_GET['cel'];
if (($od=='') OR ($cel=='')) {}else {
print "<script language=\"JavaScript\" type=\"text/javascript\">";
print "var od = $od;";
print "var cel = $cel;";
print "switch (od) {";
print "case grupa1: od = document.formularz.grupa1;}";
print "case grupa2: od = document.formularz.grupa2;";
print "case grupa3: od = document.formularz.grupa3;";
print "case grupa4: od = document.formularz.grupa4;";
print "case grupa5: od = document.formularz.grupa5;";
print "case grupa6: od = document.formularz.grupa6;";
print "switch (cel) {";
print "case grupa2: od = document.formularz.grupa2;";
print "case grupa3: od = document.formularz.grupa3;";
print "case grupa4: od = document.formularz.grupa4;";
print "case grupa5: od = document.formularz.grupa5;";
print "case grupa6: od = document.formularz.grupa6;";
print "case grupa7: od = document.formularz.grupa7;}";
for($i=0;$i<count($dane);$i++)
{
list($numer[$i], $nalezydo[$i], $nazwa[$i]) = explode(",", $dane[$i]);
}
for ($i=0;i<count($numer);$i++)
{
print "for (i=0; i < cel.options.length; i++) {cel.options[i] = null;}";
print "for(i=0; i < od.length; i++) {if (od.options[i].selected == true) {";
print "cel.options[cel.options.length]=new Option($nazwa[$i],$numer[$i]);}}";
print "</script>";
}
}
?>
<form name='formularz' action='nowy.php' method='POST'>
<select size='6' name='grupa1' onChange="location.reload('cosik2.php?od=grupa1&cel=grupa2')"> <?php
$plik = "b.txt";
$dane = file($plik);
for($i=0;$i<count($dane);$i++)
{
list($numer[$i], $nalezydo[$i], $nazwa[$i]) = explode(",", $dane[$i]);
}
for($i=0;$i<count($numer);$i++)
if ($nalezydo[$i]=="1")
{
echo "<option value=".$numer[$i].">".$nazwa[$i]."
</option>";
}
?>
<select size='6' name='grupa2' onChange="location('cosik2.php?od=grupa2&cel=grupa3')">
<select size='6' name='grupa3' onChange="location('cosik2.php?od=grupa2&cel=grupa3')">
<select size='6' name='grupa4' onChange="location('cosik2.php?od=grupa2&cel=grupa3')">
<select size='6' name='grupa5' onChange="location('cosik2.php?od=grupa2&cel=grupa3')">
<select size='6' name='grupa6' onChange="location('cosik2.php?od=grupa2&cel=grupa3')">
<select size='6' name='grupa7' onChange="location('cosik2.php?od=grupa2&cel=grupa3')">
Ten post edytował karlkar 8.02.2008, 10:50:09