Hi,
I've got a script that connects to a database, select some values, put them into 3 different arrays and then outputs the values in a "select" form object. The code looks like this :
//Connect to the db and assigns some vars.
@mysql_connect($server,$username,$pass);
$query1="SELECT * FROM categories1 ORDER BY categ";
$result1=mysql_db_query ($db, $query1);
while ($tbl1=mysql_fetch_array($result1)){
$i1++;
$id1[$i1]=$tbl1["id"];
$categories1[$i1]=$tbl1["categ"];
$query2="SELECT * FROM categories2 WHERE lvlup=\"$id1[$i1]\" ORDER BY categ";
$result2=mysql_db_query($db, $query2);
while ($tbl2=mysql_fetch_array($result2)){
$i2++;
$id2[$i1][$i2]=$tbl2["id"];
$categories2[$i1][$i2]=$tbl2["categ"];
$query3="SELECT * FROM categories3 WHERE lvlup=\"{$id2[$i1][$i2]}\" ORDER BY categ";
$result3=mysql_db_query ($db, $query3);
while ($tbl3=mysql_fetch_array($result3)){
$i3++;
$id3[$i1][$i2][$i3]=$tbl3["id"];
$categories3[$i1][$i2][$i3]=$tbl3["categ"];
}
}
}
mysql_close();
//Output the values.
<select name=\"lvlup\">";
$ii1=count($id1);
$ii2=count($id2);
$ii3=count($id3);
for ($i1=1; $i1<=$ii1; $i1++){
echo "<option value=\"$id1[$i1]|||$categories1[$i1]\">$categories1[$i1]</option>";
for ($i2=1; $i2<=$ii2; $i2++){
echo "<option value=\"{$id2[$i1][$i2]}|||$categories1[$i1] > {$categories2[$i1][$i2]}\">$categories1[$i1] > {$categories2[$i1][$i2]}</option>";
for ($i3=1; $i3<=$ii3; $i3++){
echo "<option value=\"{$id3[$i1][$i2][$i3]}|||$categories1[$i1] > {$categories2[$i1][$i2]} > {$categories3[$i1][$i2][$i3]}\">$categories1[$i1] > {$categories2[$i1][$i2]} > {$categories3[$i1][$i2][$i3]}</option>";
}
}
}
echo "</select><br>
It outputs all the vars correctly, but it even shows some "unexistent vars", I mean, that contain nothing but a blank... I know its because the for() loops the same number of time for all the arrays...
Can you help ?
Thanks in advance.