buchberg Posted February 15, 2014 Share Posted February 15, 2014 Hello, and thank you in advance for looking at this. I am trying to write a piece of code for an input value using an option dropdown box. In my mind I am obviously in need of some assistance. This is my set up: Apache 2.21 PHP: 5.3.5 MySql: 5.6 (I think) The following code has been working well for the mysql fetch array and display, but is outside my formblock. The problem that I am having is I would like it to be placed inside my form block. Option Value code // setting up fetch row for OWNER 19 // $result_engineer= mysql_query("SELECT organization, l_name, f_name FROM $table_name WHERE type='municipality'") or die (mysql_error()); echo '<select name="owner[]">'; // Open your drop down box while ($row_engineer = mysql_fetch_array($result_engineer)) { echo '<option value>'.$row_engineer['organization'].', '.$row_engineer['l_name'].', '.$row_engineer['f_name'].'</option>'; } echo '</select>';// Close your drop down box My form block code starts as follows: $form_block=" <FORM METHOD=\"POST\"ACTION=\"do_add_design_XXXXXX.php\"> <P><b>Project Status:</b> <br> <FIELDSET> <br> <P><small><small>Project Name:</small></small> <INPUT type=\"text\" NAME=\"project_name\" SIZE=100></P> (it continues ad nauseum) There seems to be an error once I place the Option value code inside the form block code. My suspicion is I am not using a proper <TAG>. I am new, but have been trying. Security is not much of an issue as this is on a local machine only. Any assistance is greatly appreciated. Thank you and have a nice day. Best regards Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/ Share on other sites More sharing options...
Ch0cu3r Posted February 15, 2014 Share Posted February 15, 2014 (edited) Rather echo out the the <select>/</option> tags assign them to a variable $engineerList = '<select name="owner[]">'; // Open your drop down box while ($row_engineer = mysql_fetch_array($result_engineer)) { $engineerList .= '<option value>'.$row_engineer['organization'].', '.$row_engineer['l_name'].', '.$row_engineer['f_name'].'</option>'; } $engineerList .= '</select>';// Close your drop down box Now place $engineerList in the $form_block string where you want the select menu to appear. Example $form_block=" <FORM METHOD=\"POST\"ACTION=\"do_add_design_XXXXXX.php\"> ... <P>Engineer: $engineerList</P> <!-- add engineer list --> ... </FORM>"; Edited February 15, 2014 by Ch0cu3r Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1469060 Share on other sites More sharing options...
buchberg Posted February 16, 2014 Author Share Posted February 16, 2014 Thank you so much. I will give it a shot. I really appreciate the input, and have a good day. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1469138 Share on other sites More sharing options...
buchberg Posted March 1, 2014 Author Share Posted March 1, 2014 Thank you. It worked awesome. My value is showing up as an Array on my confirmation html page with command echo $_POST[engineer]; However, it shows nothing in my phpmyadmin. I would expect Array to show up. In using the suggested code ($engineerList = '<select name="owner[]">'; // Open your drop down box), I changed "ower[]" to "engineer[]". . As I am seeing in my confirmation page the value Array. I did use the following code to grab the values: foreach ($_POST[engineer] as $key=>$v_eng){ $v_eng=implode(',',$_POST['engineer']); } It has worked on other variables except this one Is there a difference in the way the list is generated that doesn't allow it to POST in the same way? Thank you in advance, and have a good day. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471195 Share on other sites More sharing options...
Ch0cu3r Posted March 2, 2014 Share Posted March 2, 2014 Remove the [] in the name. You only need to have that in the name if you are naming other fields the with same name. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471218 Share on other sites More sharing options...
buchberg Posted March 4, 2014 Author Share Posted March 4, 2014 Your help is very much appreciated, but this is frustrating me to no end. The mysql fetch side of $engineerList works great. However, I am still having issues with getting a $_POST[engineer] value recognized/saved in the form. I implemented the following code as we discussed, and removed the [] in $engineerList ='<select name="engineer">'. // setting up fetch row for OWNER 19 // $result_engineer= mysql_query("SELECT organization, l_name, f_name FROM $table_name WHERE type='engineer'") or die (mysql_error()); $engineerList = '<select name="engineer"> '; // Open your drop down box while ($row_engineer = mysql_fetch_array ($result_engineer)) { $engineerList .= '<option value>'.$row_engineer['organization'].', '.$row_engineer['l_name'].', '.$row_engineer['f_name'].'</option>'; } $engineerList .= '</select> ';// Close your drop down box This displays all values in the MySQL table associated with engineers. But whatever engineer I select from this list, it isn't saved and doesn't have a value to INSERT into my table in MySQL. To verify, I have tried echo $_POST[engineer]; and there is no value. Am I looking for the wrong variable to be stored, does the code not recognize the $engineerList as an input? Please let me know any suggestions that you have. Thank you and I know this is frustrating. I really appreciate your input, and have a good day. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471385 Share on other sites More sharing options...
Ch0cu3r Posted March 4, 2014 Share Posted March 4, 2014 Can you post your code here. It sounds to me you are not including the engineer list within your form. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471423 Share on other sites More sharing options...
buchberg Posted March 5, 2014 Author Share Posted March 5, 2014 The $engineerList is within the $form_block, but it is not recognized by the server side code. On the ser.ver side, I have error checks if the value of $_POST$engineerList = "". Please let me know where I am going wrong. Thank you and I look forward to your reply. <HTML> <HEAD> <TITLE>Project Bid Interface</TITLE> </HEAD> <BODY> <br> <div style="text-align: right;"> <div style="text-align: left;"><img style=" width: 250px; height: 150px;" alt="This is family pic" src="family_pic.jpg"><big><big><big><big><span style="font-weight:"> <small>This is my Work!!!<br> <br> <? $db_name="XXXXX"; $table_name="yyyyyy"; $connection=mysql_connect("localhost", "root", "password") or die (mysql_error()); mysql_select_db("$db_name") or die (mysql_error()); // setting up fetch row for OWNER 19 // $result_engineer= mysql_query("SELECT organization, l_name, f_name FROM $table_name WHERE type='engineer'") or die (mysql_error()); $engineerList = '<select name="engineer"> '; // Open your drop down box while ($row_engineer = mysql_fetch_array ($result_engineer)) { $engineerList .= '<option value>'.$row_engineer['organization'].', '.$row_engineer['l_name'].', '.$row_engineer['f_name'].'</option>'; } $engineerList .= '</select>';// Close your drop down box // line 28 $form_block=" <FORM METHOD=\"POST\"ACTION=\"do_add_design_XXXXX.php\"> <P><b>Project Status:</b> <br> <FIELDSET> <br> <P><small><small>Project Name:</small></small> <INPUT type=\"text\" NAME=\"project_name\" SIZE=100></P> <P><small><small>Date (yyyy/mm/dd):</small></small> <input type=\"text\" name=\"date\" size=\"15\" maxlength=\"10\"> </P> </fieldset> <P><b>Contact Information:</b> <fieldset> <P><small><small>Rep Territory:</small></small> <br> <INPUT TYPE=\"radio\" NAME=\"rep\" Value=\"XX\"><small><small>Michael Buchberg</small></small><br> <INPUT TYPE=\"radio\" NAME=\"rep\" Value=\"XY\"><small><small>Mike Krebs</small></small><br> <INPUT TYPE=\"radio\" NAME=\"rep\" Value=\"XZ\"><small><small>Tom McNamara</small></small><br> <P><small><small>Owner:</small></small><br> <INPUT TYPE=\"radio\" NAME=\"owner\" Value=\"XX\"><small><small>Mike Krebs</small></small><br> <INPUT TYPE=\"radio\" NAME=\"owner\" Value=\"YY\"><small><small>Tom McNamara</small></small><br> <P><small><small>Engineer:</small></small> <p>$engineerList</p> <!-- add engineer list --> </FIELDSET> <br> <br> <FIELDSET> <P><small><small>Equipment:</small></small><br> <INPUT TYPE=\"checkbox\" NAME=\"equipment[]\" Value=\"none \"><small><small>No Equipment</small></small> <INPUT TYPE=\"checkbox\" NAME=\"equipment[]\" Value=\"odor\"><small><small>Odor Control</small></small> <INPUT TYPE=\"checkbox\" NAME=\"equipment[]\" Value=\"pumps\"><small><small>Pumps</small></small> <INPUT TYPE=\"checkbox\" NAME=\"equipment[]\" Value=\"service\"><small><small>Service</small></small> <br> <small><small>Odor Control</small></small> <input type=\"text\" name=\"odor\" <input name=\"v_odor\" <input=\"\" onkeyup=\"this.value=this.value.replace(/[^\d]/,'')\"><br> <small><small>Pumps</small></small> <input name=\"v_pumps\" <input=\"\" onkeyup=\"this.value=this.value.replace(/[^\d]/,'')\" type=\"text\"><br> <small><small>Service</small></small> <input name=\"v_service\" <input=\"\" onkeyup=\"this.value=this.value.replace(/[^\d]/,'')\" type=\"text\"><br><br> </fieldset> <P><b>Comments & Follow Up:</b> <br> <textarea cols=\"2000\" name=\"comments\" value=\"comments\" rows=\"20\"></textarea> <big><big><span style=\"font-weight: bold;\" ><=\"\" span=\"\"></span> <br><br> <INPUT type=\"hidden\" NAME=\"op\" value=\"ds\"> <INPUT type=\"submit\" NAME=\"input_project\" value=\"Input!\"> </FORM>"; if ($_POST[op]!="ds") { // 18 they need to see the form echo "$form_block"; } else if ($_POST[op] == "ds") { } ?> </body> </div> </div> </body> </html> server side (portion relating to inserting into table) $db_name="XXXXX"; $table_name="yyyyyy"; $connection=mysql_connect("localhost", "root", "password") or die (mysql_error()); $db=mysql_select_db($db_name, $connection) or die (mysql_error()); foreach ($_POST[bid_status] as $key=>$v_bs){ $v_bs=implode(',',$_POST['bid_status']); } foreach ($_POST[equipment] as $key=>$v_e){ $v_e=implode(',',$_POST['equipment']); } echo "about to insert into database"; //line 62 $sql="INSERT INTO $table_name (project_name, date, bid_status, engineer, owner, equipment, odor_value, pumps_value, service_value, project_value, comments) VALUES ('$_POST[project_name]','$_POST[date]','$v_bs','$_POST[engineer]', '$_POST[owner]', '$v_e','$v_odor', '$v_pumps', '$v_service', '$project_value', '$_POST[comments]')"; $result=mysql_query($sql, $connection) or die (mysql_error()); Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471471 Share on other sites More sharing options...
Solution Ch0cu3r Posted March 5, 2014 Solution Share Posted March 5, 2014 Change $engineerList .= '<option value>'. to $engineerList .= '<option>'. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471500 Share on other sites More sharing options...
buchberg Posted March 5, 2014 Author Share Posted March 5, 2014 Thank you so much. That did it. This is my first go at mysql fetch so this is very much appreciated. You are great. Quote Link to comment https://forums.phpfreaks.com/topic/286218-option-value-as-part-of-form-block/#findComment-1471537 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.