webForumDet fria alternativet

Dynamiska drop lister

4 svar · 295 visningar · startad av kicki_an

kicki_anMedlem sedan jan. 200556 inlägg
#1

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">&nbsp;</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">&nbsp;<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>
              	&nbsp;<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>
              	&nbsp;<strong>3.</strong>
              	<select name="valj_stad">
                	<option selected>V&auml;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>
The_HulkMedlem sedan juni 20031 837 inlägg
#2

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.

kicki_anMedlem sedan jan. 200556 inlägg
#3

Hejsan!

Nu har jag redan lyckats lösa problemet.
Men tack ändå.
/Kicki

learnMedlem sedan jan. 20051 130 inlägg
#4

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?

kicki_anMedlem sedan jan. 200556 inlägg
#5

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...

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)