0

Hi

what i want to do is pass a php variable in a script i've already got a drop down list
now what i want to do is as soon as you click on any province in the drop down menu the cities appear in the text area. what is happening now iz i have to put the id in the writeclass function which iz kinda not what i want.

heres the code of the funtion

<form name="myform">

        <select name = "province" onChange="onChangeDropBox();"> 
        <? populateDropBox(); ?>     
        <textarea name ="textArea" readonly="true"></textarea>     
        </form>      
<script type="text/javascript">
function onChangeDropBox()

    {
        var selected =0;
        selected = document.myform.province.value;                  

        var t = "<? writeCities(9);?>";
        document.myform.textArea.value = t;

        }
</script> 

thanxx in advance!!!!

Edited by mike_2000_17: Fixed formatting

3
Contributors
7
Replies
9
Views
6 Years
Discussion Span
Last Post by diafol
0

This usually requires Ajax.

Either that or you create javascript arrays of data via php before the page displays.

<script type="text/javascript">
//place data into js from php 
var myCities=new Array(<?php echo $arr_city;?>);
</script>
0

thanxx ardav i'll try it out, but i dont want to use ajax, thanxx alot for your interest!!!

0

ardav i've changed my mind now i think i'll go with ajax ive already created a submit button for the drop down i have never used ajax before but i saw a similar code at w3 schools but i need guidane on how i'm going to about implementing this code.

here's my code again

function writeCities($id)
{       
    $con = mysql_connect("localhost","root","");
    if (!$con) die('Could not connect: ' . mysql_error());
    mysql_select_db("msansi", $con);
    $query  = "SELECT cities FROM provinces WHERE id =";
    $query .= $id;
    $result = mysql_query($query);          

    $row = mysql_fetch_array($result);
    echo $row[0];       
}



function populateDropBox()
{
    $con = mysql_connect("localhost","root","");
    if (!$con) die('Could not connect: ' . mysql_error());
    mysql_select_db("msansi", $con);
    $result = mysql_query("SELECT id,title,cities FROM provinces");

    while($row = mysql_fetch_array($result))
    {   
        echo "<option value=$row[0]>" . $row['title']."</option>";
    }
}
?>

<form name="myform">

    <select name = "province" onChange="onChangeDropBox();"/> 
    <? populateDropBox(); ?>     
    <input type="submit" value ="submit";>     
    </form>    

the ajax code is this

function showCustomer(str)
{
var xmlhttp;
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}

and its output is this when a custumer is selected from the drop menu and its in a table

CustomerID  ALFKI 
CompanyName Alfreds Futterkiste 
ContactName Maria Anders 
Address         Obere Str. 57 
City            Berlin 
PostalCode  12209 
Country         Germany 

your help will be highly appreciated!!!

Edited by mike_2000_17: Fixed formatting

0

ok heres the code for my drop down and my submit button

<head><title><?php echo $title;?></title>

<h1><?php echo $heading;?></h1>





</head>

<body>


<?
	function writeCities($id)
	{		
		$con = mysql_connect("localhost","root","");
		if (!$con) die('Could not connect: ' . mysql_error());
	  	mysql_select_db("msansi", $con);
		$query  = "SELECT cities FROM provinces WHERE id =";
		$query .= $id;
		$result = mysql_query($query);			
				
		$row = mysql_fetch_array($result);
		echo $row[0];		
	}
	


	function populateDropBox()
	{
		$con = mysql_connect("localhost","root","");
		if (!$con) die('Could not connect: ' . mysql_error());
	  	mysql_select_db("msansi", $con);
		$result = mysql_query("SELECT id,title,cities FROM provinces");
		
		while($row = mysql_fetch_array($result))
		{	
		    echo "<option value=$row[0]>" . $row['title']."</option>";
		}
	}
?>
 
	<form name="myform">
	
		<select name = "province" onChange="onChangeDropBox();"/> 
		<? populateDropBox(); ?> 	
		<input type ="submit" value="submit";/>   
		</form>	  	


	  
	  
	  
</body>

///////////////////////////////////////////////////////////////////////////////////
and the code from w3 schools is this
which is Ajax and outputs the table in the previous message when a customer is chosen from a drop down menu

function showCustomer(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}

I hope i did enough to let you see!!!

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.