i making type of slider form restaurant management system in user select items in each form , selected values displayed @ last "confirm form" , want insert values of selected items obtained @ confirm form inserted database.
<script> function changecolor(obj){ obj.style.color = "red"; var selected_val = obj.innerhtml; document.getelementbyid('target_div').innerhtml=document.getelementbyid('target_div').innerhtml+" "+selected_val; } </script> <form id="formelem" name="formelem" action="" method="post"> <fieldset class="step"> <legend>roti</legend> <?php $qu = mysql_query("select * submenu menu_id=33") or die(mysql_error()); while($f = mysql_fetch_array($qu)){ ?> <p> <label for="name" onclick="changecolor(this)"><?php echo $f['submenu']; ?></label> <input id="name" name="name" type="hidden" autocomplete=off value="<?php echo $f['id']; ?>"/> </p> <?php } ?> </fieldset> <fieldset class="step"> <legend>sabji</legend> <?php $qu2 = mysql_query("select * submenu menu_id=34"); while($f2 = mysql_fetch_array($qu2)){ ?> <p> <label for="name" onclick="changecolor(this)"><?php echo $f2['submenu']; ?></label> <input id="name" name="name" type="hidden" autocomplete=off value="<?php echo $f2['id']; ?>"/> </p> <?php } ?> </fieldset> <fieldset class="step"> <legend>salad</legend> <?php $qu3 = mysql_query("select * submenu menu_id=35"); while($f3 = mysql_fetch_array($qu3)){ ?> <p> <label for="name" onclick="changecolor(this)"><?php echo $f3['submenu']; ?></label> <input id="name" name="name" type="hidden" autocomplete=off value="<?php echo $f3['id']; ?>"/> </p> <?php } ?> </fieldset> <fieldset class="step"> <legend>sweets</legend> <?php $qu4 = mysql_query("select * submenu menu_id=36"); while($f4 = mysql_fetch_array($qu4)){ ?> <p> <label for="name" onclick="changecolor(this)"><?php echo $f4['submenu']; ?></label> <input id="name" name="name" type="hidden" autocomplete=off value="<?php echo $f4['id']; ?>"/> </p> <?php } ?> </fieldset> <fieldset class="step"> <legend>confirm</legend> <p> <label id="target_div" for="name"></label> </p> <p class="submit"> <button id="registerbutton" type="submit" name="confirm">confirm</button> </p> </fieldset> </form> i want insert value obtained @ confirm form database using php.
this essential part:
while($f = mysql_fetch_array($qu)){ ?> <p> <label for="name" onclick="changecolor(this)"><?php echo $f['submenu']; ?></label> <input id="name" name="name" type="hidden" autocomplete=off value="<?php echo $f['id']; ?>"/> </p> <?php } ?> you repeat other categories (salas, sweets, etc), let's @ first.
and few things wrong it. first, label says for="name". name should unique identifier in document. identifier id="whatever". if want target specific element label, sure make id="" match for="".
in case done adding unique key underlying database-table.
but cannot because cannot see columns in database. use:
select * submenu menu_id=33 please stop using lazy * , name columns need. hope have column primary key in tblsubmenu. let's id. (i think better name have been submenuid.)
then can use labeling , id's right, this:
<?php $qu = mysql_query("select submenuid, submenu, submenu menu_id=33") or die(mysql_error()); while($f = mysql_fetch_array($qu)){ ?> <p> <label for="name<?php echo $f['id']; ?>" onclick="changecolor(this)"><?php echo $f['submenu']; ?></label> <input id="name<?php echo $f['id']; ?>" name="submenuid[]" type="hidden" autocomplete=off value="<?php echo $f['id']; ?>"/> </p> <?php } ?> that way have matching for="" , id="", example: in label: for="name181" , id="name181".
also note changed input form-element, it's name "submenuid[]"
if post form, receive array in $_post["submenuid"].
print out with:
echo "<pre>".print_r($_post,true)."</pre>"; and see if matches wanted send.
if so, can start inserting, example:
foreach ($_post["submenuid"] $submenuid){ $id = (int)$submenuid; // force integer $sql = "insert tblorders (submenuid, customerid) values ($id, 111)"; // execute here against database, see links below }
Comments
Post a Comment