Jump to content


Photo

Getting duplicate entries in drop-down list populated from postgrsql table


  • Please log in to reply
1 reply to this topic

#1 troj71

troj71
  • New Members
  • Pip
  • Newbie
  • 1 posts

Posted 13 May 2006 - 02:42 AM

I work in a hospital and I am using php, postgres and apache to replace
old paradox databases. I have made a form that contains a dropdown
menu of the hospital units so I can choose the group of patient based
on the unit they are on. For some reason my code has each unit
appearing 2 times in the drop down so the dropdown looks like this

unit1
unit1
unit2
unit2

and so on. I have tested the query in the pgadim query window and I
get only one occurance. then I wrote the simple script:

?php
pg_connect("host=localhost dbname=liberty user=postgres
password=password") or die;
$qunit = pg_query("SELECT unitid, unitname FROM li_unit ORDER BY
unitname");
while($myunits=pg_fetch_array($qunit)){
$eachid=$myunits["unitid"];
$eachunit=$myunits["unitname"];
echo "$eachid $eachunit<br>\n";
}
?>
and I get the simple out put of

1 unit1
2 unit2
3 unit3
4 unit4

Yet the below code gives me the double occurance of each unit. here is
the code.
<html>
<head>
<body>

<form name="unitchoice" method="post" action="<?php print
$_SERVER['PHP_SELF']?>">
<select name="homeunits">
<?php
pg_connect("host=localhost dbname=liberty user=postgres
password=password") or die;
$qunit = pg_query("SELECT unitid, unitname FROM li_unit ORDER BY
unitname");
while($myunits=pg_fetch_array($qunit)){
$eachid=$myunits["unitid"];
$eachunit=$myunits["unitname"]; ?>
<option value=<?php echo $eachunit;?>><?php echo
$eachunit;?></option>
<?php
}
?>
</select>
<input type="Submit" name="updateunit" value="Change Unit">
</form>

</body>
</head>
</html>

Any suggestions?

#2 emehrkay

emehrkay
  • Staff Alumni
  • Advanced Member
  • 1,214 posts

Posted 13 May 2006 - 02:51 AM

try changing this

while($myunits=pg_fetch_array($qunit)){
$eachid=$myunits["unitid"];
$eachunit=$myunits["unitname"]; ?>
<option value=<?php echo $eachunit;?>><?php echo
$eachunit;?></option>
<?php
}

to

while($myunits=pg_fetch_array($qunit)){
$eachid=$myunits["unitid"];
$eachunit=$myunits["unitname"]; 
echo "<option value=\"". $eachunit ."\">". $eachunit ."></option>\n"; \\ "\n" so the code looks clean when view souce

}





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users