Re: php filling in listbox value based on db record ?? [message #169401 is a reply to message #169399] |
Thu, 09 September 2010 14:03 |
matt[1]
Messages: 40 Registered: September 2010
Karma:
|
Member |
|
|
On Sep 9, 9:21 am, PAkerly <pake...@gmail.com> wrote:
> I've got an html page that fills in text boxes based on an sql
> record. Doing things like this:
>
> $sql = "SELECT date, user1, user2, user3, id
> FROM myuserdata
> WHERE id= '$txtid'
> ORDER BY id";
>
> //Get a result set from the query (this is the array)
> $rs = mysql_query($sql) or die(mysql_error() . "<br />Sql:" . $sql);
>
> //Declare an empty array to store the result set in
> $array = array();
>
> //Iterate through the result set we declared earlier, looping through
> each row
> while($row = mysql_fetch_array($rs, MYSQL_ASSOC))
> {
> //Append the row from the database, onto the array :)
> $array[] = $row;
>
> }
>
> and then to fill in text boxes based on the previously selected ID I
> do...
> foreach($array as $row):
>
> <input name="txtdate" type="text" id="txtdate" value="<?php echo
> $row['date'];?>"/>
>
> SO NOW I WANT TO ALSO SELECT A DEFAULT VALUE FOR A LISTBOX BASED ON
> THE ID....
>
> <select name="lstuser2" id="lstuser2">
> <option value="A">A</option>
> <option value="B">B</option>
> <option value="C">C</option>
> </select>
>
> So lets say that the record for this user called for the listbox to be
> set to C b/c thats whats in the DB for this person, how could I do
> this based on the record?
>
> thanks.
I think this is a pretty standard method:
$values = array("A", "B", "C");
echo "<select ...>";
foreach ($values as $option)
{
$selected = ($row['field'] == $option) ? "selected" : "";
echo "<option value='$option' $selected>$option</option>";
}
echo "</select>";
|
|
|