Hello MMZ,
If I understand what you want to do, you have 2 select statements on the same page.
The first select statement allows the user to select a year. You want to pass that year back to the server and have PHP do something. (what you want the server to do is unclear).
The second select statement provides a list of URLs. (No examples were given, so I'm not sure how the Year value is used in the URLs).
OK, so ... here are some thoughts.
PHP only runs on the server, and it does not run inline as the page is drawn on the web browser. Instead you have to think of the PHP and JavaScript in a client server fashion. So, your user types in
Http://www.dirtysocks.com/ The server executes the index.php page
=====
<html>
...
<!-- generated options from PHP script -->
<?php
$result1 = mysql_query("select id,year from year_data where org_id=$org_id") or die(mysql_error());
while ($row = mysql_fetch_assoc($result1))
{
$period= $row['year'];
$period_id=$row['id'];
echo "<option value=\"$period\">$period</option>";
}
?>
<!-- generated options from PHP script -->
...
</html>
=====
The server responds by sending only the HTML for the index.php page.
=====
<html>
...
<script scr="jQuery.js"></script>
<script scr="muddySocks.js"></script>
...
<body>
<form method="post">
Report Period:
<select id="selectYear" onchange="muddySocks.cmdSelectedYear();">
<option> Select An Option </option>
<!-- generated options from PHP script -->
<option value="1973"> 1973 </option>
<option value="1973"> 1986 </option>
<option value="1973"> 1995 </option>
<option value="1973"> 2000 </option>
<option value="1973"> 2008 </option>
<!-- generated options from PHP script -->
</select>
<select id="selectReport" onchange="muddySocks.cmdSelectedReport();">
<option> Select An Option </option>
<!-- generated options from AJAX call -->
<!-- generated options from AJAX call -->
</select>
...
</html>
=====
The user selects an option from the select statement, which in this case calls muddySocks.cmdSelectedYear ();
=====
// The JavaScript looks something like:
// Note: this library requires JQUERY ...
var muddySocks =
{
selectedYear : "",
cmdSelectedYear : function ()
{
var text = $(this).text();
var value = $(this).val();
alert("Selected text=" + text + " Selected value= " + value);
muddySocks.selectedYear = value; // or text;
// next I'll use JQUERY to call the web server for the Report List
$.ajax (
{
url : "getYear.php?year=" + value + "&",
method : "get",
success : function (szHtml)
{
if (szHtml.length >0)
{ $("#selectReport").html (szHtml); }
else
{ window.alert ("nothing returned"); }
},
error : function ()
{ window.alert ("ajax call failed"); },
});
},
cmdSelectReport : function ()
{
var text = $(this).text();
var value = $(this).val();
alert("Selected text=" + text + " Selected value= " + value);
window.location = "genReport.php?" +
"year=" + muddysocks.selectedYear + "&"
"report=" + value + "&";
}
};
=====
Now "getYear.php" does a second query against the database, or something else to create a list of reports available for that year.
=====
<?
$szRtn = <<<HEREDOC
<option value="1">Report #1</option>
<option value="2">Report #2</option>
<option value="3">Report #3</option>
<option value="4">Report #4</option>
<option value="5">Report #5</option>
HEREDOC;
print ($szRtn);
?>
=====
Hope this helps you understand how your page might work a little better.
Mike,
On 9/24/2013 10:55 AM, MMZ wrote: