Welcome to WebmasterWorld Guest from 54.146.201.80

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Why does my variable only contain the 1st word of a Dropdown Option?

     
7:10 pm on Jun 18, 2004 (gmt 0)

New User

10+ Year Member

joined:June 5, 2004
posts:10
votes: 0


Hi again all....

I'm back with yet another question. I have a dropdown in my script(The dropdown is populated by a function) that contains 3 words. When I go to insert the selected option into MYSql, for some reason, it only picks up the first word of the 3.

For example, let's say that the drop down listed types of vehicles. In this case, the selected option was "Dodge Grand Caravan". When I echo the variable "vehicle" from the function, all I get in return is "Dodge".

Any suggestions?

Thanks as always!

7:17 pm on June 18, 2004 (gmt 0)

Moderator from CA 

WebmasterWorld Administrator httpwebwitch is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Aug 29, 2003
posts:4059
votes: 0


do you have the <option> value in quotes?
7:18 pm on June 18, 2004 (gmt 0)

Administrator

WebmasterWorld Administrator jatar_k is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:July 24, 2001
posts:15755
votes: 0


I would assume it is the space that is tripping it up but a look at a snippet of code might help.

<added>httpwebwitch, quicker and sharper ;)

7:55 pm on June 18, 2004 (gmt 0)

New User

10+ Year Member

joined:June 16, 2004
posts:21
votes: 0


Another approach is to use the "value" value


<select name="foo">
<option value="">PLEASE SELECT SOMETHING</option>
<option value="Foo Bar">Foo Bar</option>
<option value="Foo Bar baz qux etc">Nice Description</option>
</select>
10:21 pm on June 18, 2004 (gmt 0)

New User

10+ Year Member

joined:June 5, 2004
posts:10
votes: 0


Thanks for the input all...Sorry about forgetting the code snippets....

Here is the function...

function vehicle($dropdownname,$tablename)
{
db_connect();

$result = mysql_query("Select * from " . $tablename . " Order by Name");

if (!$result)
{
die('Invalid formation of select query in displaydropdownvalues(): ' . mysql_error());
}

echo "<select name=" . $dropdownname . ">";
echo "<option value='' selected></option>";

while ($row = mysql_fetch_array($result, MYSQL_BOTH))
{
echo "<option value=" . $row[1] . ">" . $row[1] . "</option>";
}

echo "</select>";

mysql_free_result($result);

mysql_close();
}

Here is where I call and display it in the table...

<tr>
<td colspan="2"><label for="vehiclename">Vehicle:</label></td>
<td colspan="2"> <name="vehiclename" id="vehiclename" tabindex="3"/><?php vehicle("vehicle", "Name");?></td>
</tr>

Then when I load it into the query for insert into MySQL, I only get the first word. I know it has something to do with the space, but not sure how to correct it....

10:31 pm on June 18, 2004 (gmt 0)

Senior Member

WebmasterWorld Senior Member 10+ Year Member

joined:Feb 13, 2003
posts:775
votes: 0


So try what httpwebwitch mentioned.

echo "<option value=\"" . $row[1] . "\">" . $row[1] . "</option>";

3:44 am on June 19, 2004 (gmt 0)

New User

10+ Year Member

joined:June 5, 2004
posts:10
votes: 0


Doh!

Thanks httpwebwitch and Timotheos...I missed that....