By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,656 Members | 920 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,656 IT Pros & Developers. It's quick & easy.

Getting Records to update when dropdown list is changed

P: n/a
Hello

In a php file I have a drop down list with index numbers in whos default
value is feed into an sql query that filters records from my database and
displays them in an html table. Trouble is this happens as soon as the php
is run so bringing up the same records filtered from the default index. Also
when I select a new index no from the drop down list is doesnt refilter the
records bringing up the ones for the new list. It still shows the old
default ones and the dropdown list changes back to the default value. What
alterations do I need to make?
Some of my code below (Ive taken irrelevent bits out and simplified the SQL
Statements to show only the important bits)

Also I dont want to display the index no in the dropdown box. I wish to
display its accociated description and only use the index for filtering. How
do I acheive this?

<?php

$query_NC = "SELECT NCIndex, TopicDesc FROM NC WHERE StatusID = 1 ORDER BY
TopicDesc ASC";
$NC = mysql_query($query_NC, $conn) or die(mysql_error());
$row_NC = mysql_fetch_assoc($NC);
$totalRows_NC = mysql_num_rows($NC);
?>
<html>
<head>
</head>

<body>

</p>
<p>Use the drop down lists to filter the database:</p>
<blockquote>
<form name="form2" method="post" action="<?php echo
$_SERVER['PHP_SELF']?>">
<p>
<select name="select">
<?php
do {
?>
<option value="<?php echo $row_NC['NCIndex']?>"<?php if
(!(strcmp($row_NC['NCIndex'], $row_NC['NCIndex']))) {echo "SELECTED";}
?>><?php echo $row_NC['NCIndex']?></option>
<?php
} while ($row_NC = mysql_fetch_assoc($NC));
$rows = mysql_num_rows($NC);
if($rows > 0) {
mysql_data_seek($NC, 0);
$row_NC = mysql_fetch_assoc($NC);
}
?>
</select>
</p>
<p>
<input type="submit" name="Submit2" value="Submit">
</p>
</form>
<p>
<form name="form3" method=post action="">
<p>
<?php
// Request the text of all the Questions
$result = mysql_query("SELECT Mystuff FROM MyTables WHERE Questions.TypeID =
QuestionType.TypeID AND NCIndex= '".$row_NC['NCIndex']."' ORDER BY
QuestionNo");
if (!$result) {
exit('<p>Error performing query: ' . mysql_error() . '</p>');
}
$row = mysql_fetch_assoc($result);
extract($row);
?>
<input type="submit" name="Submit" value="Submit">
</p>
<table width="983" border="2" align="left" cellpadding="0"
cellspacing="0">
<tr>
<td width="50"><div align="left"><span
class="style2">Select</span></div></td>
<td width="89"><span class="style2">Question No </span></td>
<td width="247"><span class="style2">Question</span></td>
<td width="118"><span class="style2">Type</span></td>
<td width="282">Options</td>
<td width="181"><span class="style2">Image</span></td>
</tr>
<tr>
<?php
while($row =& mysql_fetch_assoc($result)) {
extract($row);

?>
<tr class="<?php echo $class; ?>">
<td width="50" rowspan="5" valign="top">
<div align="center">
<input type="checkbox" name="checkbox[]" value="<? echo
$QuestionNo?>"

</div></td>
<td width="89" rowspan="5" valign="top"><?php echo $QuestionNo;
?>&nbsp;</td>
<td width="247" rowspan="5" valign="top"><?php echo $Question;
?></td>
<td width="118" rowspan="5" valign="top"><div
align="center"></div>
<?php echo $TypeDesc; ?></td>
<td width="282" valign="top"><div align="left"></div>
<?php echo $Optiona; ?></td>
<tr class="<?php echo $class; ?>">
<td width="282" valign="top"><?php echo $Optionb; ?></td>
</tr>
<tr class="<?php echo $class; ?>">
<td width="282" valign="top"><?php echo $Optionc; ?></td>
</tr>
<tr class="<?php echo $class; ?>">
<td width="282" valign="top"><?php echo $Optiond; ?></td>
</tr>
<tr class="<?php echo $class; ?>">
<td width="282" height="20" valign="top"><?php echo $Optione;
?></td>
</tr>
<?php
} // end while
?>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
<p></blockquote>
</body>
<html>
Oct 20 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Ian Davies wrote:
Hello

In a php file I have a drop down list with index numbers in whos default
value is feed into an sql query that filters records from my database and
displays them in an html table. Trouble is this happens as soon as the php
is run so bringing up the same records filtered from the default index. Also
when I select a new index no from the drop down list is doesnt refilter the
records bringing up the ones for the new list. It still shows the old
default ones and the dropdown list changes back to the default value. What
alterations do I need to make?
Some of my code below (Ive taken irrelevent bits out and simplified the SQL
Statements to show only the important bits)

Also I dont want to display the index no in the dropdown box. I wish to
display its accociated description and only use the index for filtering. How
do I acheive this?

<?php

$query_NC = "SELECT NCIndex, TopicDesc FROM NC WHERE StatusID = 1 ORDER BY
TopicDesc ASC";
$NC = mysql_query($query_NC, $conn) or die(mysql_error());
$row_NC = mysql_fetch_assoc($NC);
$totalRows_NC = mysql_num_rows($NC);
?>
<html>
<head>
</head>

<body>

</p>
<p>Use the drop down lists to filter the database:</p>
<blockquote>
<form name="form2" method="post" action="<?php echo
$_SERVER['PHP_SELF']?>">
<p>
<select name="select">
<?php
do {
?>
<option value="<?php echo $row_NC['NCIndex']?>"<?php if
(!(strcmp($row_NC['NCIndex'], $row_NC['NCIndex']))) {echo "SELECTED";}
?>><?php echo $row_NC['NCIndex']?></option>
<?php
} while ($row_NC = mysql_fetch_assoc($NC));
$rows = mysql_num_rows($NC);
if($rows > 0) {
mysql_data_seek($NC, 0);
$row_NC = mysql_fetch_assoc($NC);
}
?>
</select>
</p>
<p>
<input type="submit" name="Submit2" value="Submit">
</p>
</form>
<p>
<form name="form3" method=post action="">
<p>
<?php
// Request the text of all the Questions
$result = mysql_query("SELECT Mystuff FROM MyTables WHERE Questions.TypeID =
QuestionType.TypeID AND NCIndex= '".$row_NC['NCIndex']."' ORDER BY
QuestionNo");
if (!$result) {
exit('<p>Error performing query: ' . mysql_error() . '</p>');
}
$row = mysql_fetch_assoc($result);
extract($row);
?>
<input type="submit" name="Submit" value="Submit">
</p>
<table width="983" border="2" align="left" cellpadding="0"
cellspacing="0">
<tr>
<td width="50"><div align="left"><span
class="style2">Select</span></div></td>
<td width="89"><span class="style2">Question No </span></td>
<td width="247"><span class="style2">Question</span></td>
<td width="118"><span class="style2">Type</span></td>
<td width="282">Options</td>
<td width="181"><span class="style2">Image</span></td>
</tr>
<tr>
<?php
while($row =& mysql_fetch_assoc($result)) {
extract($row);

?>
<tr class="<?php echo $class; ?>">
<td width="50" rowspan="5" valign="top">
<div align="center">
<input type="checkbox" name="checkbox[]" value="<? echo
$QuestionNo?>"

</div></td>
<td width="89" rowspan="5" valign="top"><?php echo $QuestionNo;
?>&nbsp;</td>
<td width="247" rowspan="5" valign="top"><?php echo $Question;
?></td>
<td width="118" rowspan="5" valign="top"><div
align="center"></div>
<?php echo $TypeDesc; ?></td>
<td width="282" valign="top"><div align="left"></div>
<?php echo $Optiona; ?></td>
<tr class="<?php echo $class; ?>">
<td width="282" valign="top"><?php echo $Optionb; ?></td>
</tr>
<tr class="<?php echo $class; ?>">
<td width="282" valign="top"><?php echo $Optionc; ?></td>
</tr>
<tr class="<?php echo $class; ?>">
<td width="282" valign="top"><?php echo $Optiond; ?></td>
</tr>
<tr class="<?php echo $class; ?>">
<td width="282" height="20" valign="top"><?php echo $Optione;
?></td>
</tr>
<?php
} // end while
?>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</form>
<p></blockquote>
</body>
<html>


Without putting the code on a php server it's a bit difficult to be certain
but I think what you need is an if(isset($select.... Then feed that into
your sql query and it should work. Below is a cut down exmaple from
something I did for a friend a while ago. Hopefully it will make it a
little clearer what I mean

<form method="post" action="seasons.php">

<table width="20%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="60%">Choose Season</td>
<td width="40%"><div align="right">
<select name="season">
<option> </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</td>
</tr>
</table>

<input type="submit" value="Go">&nbsp;&nbsp;<input type="reset" value="Clear">
</form>
<?
include ('connect.php');
if(isset($season))
{
$sql="SELECT * from sgate WHERE season like '$season' ORDER BY episode";
$result=mysql_query("$sql");

print '<b>Season :- '.$season."</b>";
print"<div align='center'>";
print"<table border='1' width='60%'>";

while($row=mysql_fetch_array($result))
{
print "<tr><td>".$row[episode]."</td><td>".$row[air_date]."</td><td><a
href='edit.php?id=".$row[id]."'>Edit</a></td></tr>";
print "<tr><td colspan='2'><b>".$row[title]."</b></td><td>&nbsp;</td></tr>";
print "<tr><td colspan='3'><font
size='-1'>".$row[synopsis]."</font></td></tr>";
print "<tr><td colspan='3'><hr></td></tr>";
}
}
?>
--
Regards

Neil

Registered Linux User 324599
Oct 20 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.