Ska sidan laddas om efter varje select-box har ändrats eller ska ändringen ske med hjälp av javaskript?
beror ju lite på om du vill lösa det med PHP eller Javaskript.
4 svar · 295 visningar · startad av kicki_an
Hejsan!
Jag skulle behöva få lite hjälp med en del av en hemsida jag jobbar med.
Jag ska mha selecter göra en sökning. Beroende av vad som väljs i den första selecten, ska innehållet i nästa select ändras. Beroende på vad som väljs i den andra selecten ska infon i den tredje selecten ändras.
När tredje är vald ska en gif-bild tryckas på.
Trodde inte att det skulle vara så svårt, men det krånglade mer än jag trodde.
Hoppas att någon kan peka ut var det går snett. Ursäkta den dåliga formateringen av koden.
Mvh
Kicki
if($_GET_['area']!="Valj+varldsdel%3A")
{
$get_area = $_GET['area'];
if($_GET['country'] != "Valj+land%3A")
{
$get_country == $_GET['country'];
}
else
{
$get_country = "";
}
}
else
{
$get_area = "";
$get_country = "";
}
?>
<tr>
<td width="8"> </td>
<td width="498"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<form name = "myform" method = "get" action = "test.php" >
<td valign="middle"> <strong>1.</strong>
<input type = "hidden" name = "action" value = "test">
<select name="area" onchange = "submit()">
<option selected>Valj varldsdel:</option>
<?
$query_result_area = mysql_query("SELECT area FROM properties WHERE status=1 GROUP BY area") OR die ("Error: " . mysql_error());
while ($result_row_area = mysql_fetch_array($query_result_area))
{
$area = $result_row_area['area']; $area = strtoupper($area);
if($area == $get_area)
{
echo "<option " . $area . " selected>" . $area . " </option>";
}
else
{
echo "<option " .$area . ">" . $area . " </option>"; }
}
?>
</select>
<strong> 2.</strong>
<select name = "country" onchange = "submit()">
<option selected>Valj land:</option>
<?
if($get_area!="")
{
$query_result_country = mysql_query("SELECT country FROM properties WHERE area= '$get_area' AND status=1 GROUP BY country") OR die ("Error: " . mysql_error());
while ($result_row_country = mysql_fetch_array($query_result_country))
{
$country = $result_row_country['country'];
if($country==$get_country)
{
echo "<option " . $country . "selected>" . $country . " </option>";
}
else
{
echo "<option " . $country . ">" . $country . " </option>";
}
}
?>
</select>
<strong>3.</strong>
<select name="valj_stad">
<option selected>Välj stad:</option>
<?
/* if($selected_area != "" and $selected_country != "")
{
$query_result_city = mysql_query("SELECT city FROM properties WHERE country='$get_country' AND status=1 GROUP BY city") OR die ("Error: " . mysql_error());
$selected_city="";
while ($result_row_city = mysql_fetch_array($query_result_city))
{
$city = $result_row_city['city'];<br>
if($val != "" and $val2!= "")
{
echo "<option>" . $city . " </option>";
}
}
*/
?>
</select>
<input type = "submit" name = "Skicka" value = "OK">
</form>
Ska sidan laddas om efter varje select-box har ändrats eller ska ändringen ske med hjälp av javaskript?
beror ju lite på om du vill lösa det med PHP eller Javaskript.
Jag har samma problem som Kicki.
The_Hulk skrev:
Ska sidan laddas om efter varje select-box har ändrats eller ska ändringen ske med hjälp av javaskript?
Hade tänkt mig att sidan inte ska laddas om... Eller vad rekomenderas?
Hejsan!
Som jag har fått det förklarat beror det på om du har många poster i din databas. Med många poster och att inte ladda om sidan kan klienten bli rätt tung. Inte så kul om man är 56k-modem-surfare.
I mitt fall var den bästa lösningen att ladda om sidan.
Men har du inte så många poster i di databas, kan det vara värt att göra en lösning i java-script.
Hoppas att detta var till någon hjälp...