Bob_ Posted July 12, 2006 Share Posted July 12, 2006 I'm trying to get a drop down menu to work, but I can't seem to get it to work at all. Its got to be in the <?php ?> code as its to get values dynamically.The list is going to be filled with 2 fields from a MySQL database. The Name field is going to be the text shown in the drop down menu, the value is going to be the value from ID colum in the database.[code]<?php$result = mysql_query("SELECT * FROM client")or die(mysql_error()); echo '<form name="form1" method="post" action="">';echo '<select name="select">';//make some short variables$ID=$row['ID'];//suppy the correct field names below$Name=$row['Name'];while($row = mysql_fetch_array( $result )) {echo '<option value="' . $ID . '">' . $Name . '</option>'; } echo "</select>";echo "</form>";?>[/code]Although the menu is filled with the correct number of blank entries, but the every option is a " and every value is ' ' Does anyone know what I'm doing wrong? Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/ Share on other sites More sharing options...
jvrothjr Posted July 12, 2006 Share Posted July 12, 2006 $ID=$row['ID']; & $Name=$row['Name']; Needs to be within the loop to change the data. [CODE]<?php$result = mysql_query("SELECT * FROM client")or die(mysql_error()); echo '<form name="form1" method="post" action="">';echo '<select name="select">';//make some short variableswhile($row = mysql_fetch_array( $result )) {$ID=$row['ID'];//suppy the correct field names below$Name=$row['Name'];echo '<option value="' . $ID . '">' . $Name . '</option>'; } echo "</select>";echo "</form>";?>[/CODE] Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-56899 Share on other sites More sharing options...
kenrbnsn Posted July 12, 2006 Share Posted July 12, 2006 These two lines:[code]<?php$ID=$row['ID'];//suppy the correct field names below$Name=$row['Name'];?>[/code]need to be inside the while loop.Ken Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-56900 Share on other sites More sharing options...
Bob_ Posted July 12, 2006 Author Share Posted July 12, 2006 LOL, it always seems so obvious after someone points it out to you!Thanks guys! Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-56904 Share on other sites More sharing options...
Bob_ Posted July 13, 2006 Author Share Posted July 13, 2006 Right I've got a problem linking from this.I have set up the next page which which has the [code]$ID=$HTTP_POST_VARS['ID'];[/code]To get the value from the above, the only problem is it doesnt get the value.Any Ideas? Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57353 Share on other sites More sharing options...
kenrbnsn Posted July 13, 2006 Share Posted July 13, 2006 Use the superglobal array $_POST instead:[code]<?php $ID = $_POST['ID']; ?>[/code]Ken Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57355 Share on other sites More sharing options...
Bob_ Posted July 13, 2006 Author Share Posted July 13, 2006 Yehh I tryed that one as well, but it doesnt get a value either. Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57357 Share on other sites More sharing options...
kenrbnsn Posted July 13, 2006 Share Posted July 13, 2006 Put[code]<?phpecho '<pre>$_GET: ' . print_r($_GET,true) . '</pre>';echo '<pre>$_POST: ' . print_r($_POST,true) . '</pre>';?>[/code]at the start of your script to see what is being passed to it.Ken Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57361 Share on other sites More sharing options...
Bob_ Posted July 13, 2006 Author Share Posted July 13, 2006 It returns the following[quote]Warning: Wrong parameter count for print_r() in \\www\ViewDetails.php on line 16$_GET: Warning: Wrong parameter count for print_r() in \\www\ViewDetails.php.php on line 17$_POST: [/quote]Do I have to give a parameter for that to work? Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57382 Share on other sites More sharing options...
kenrbnsn Posted July 13, 2006 Share Posted July 13, 2006 What version of PHP are you running? Did you insert the lines exactly as I showed?If the version of PHP is less than 4.3.0, you would need:[code]<?phpecho '<pre>';echo '$_GET: ';print_r ($_GET);echo '$_POST: ';print_r($_POST);echo '</pre>';?>[/code]Ken Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57388 Share on other sites More sharing options...
Bob_ Posted July 13, 2006 Author Share Posted July 13, 2006 Its seems to be working. [code]$_GET: Array()$_POST: Array( [select] => 2)[/code]Is what it returns, but surely that would mean that the $_POST should have worked? Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57497 Share on other sites More sharing options...
kenrbnsn Posted July 13, 2006 Share Posted July 13, 2006 The problem here is that you were looking for the value in the wrong index, You were looking for $_POST['ID'] when the value is in $_POST['select'].Ken Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57528 Share on other sites More sharing options...
Bob_ Posted July 13, 2006 Author Share Posted July 13, 2006 Fantastic, that done the trick. :) Quote Link to comment https://forums.phpfreaks.com/topic/14404-php-form-solved/#findComment-57559 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.