php if statement html option value

吃可爱长大的小学妹 提交于 2019-12-04 13:37:40

问题


Suppose you have the following html select statement

<select>
<option value="Newest">Newest</option>
<option value="Best Sellers">Best Sellers</option>
<option value="Alphabetical">Alphabetical</option>
</select>

Now I want to run a php if elseif statement that says,

if (option value = newest) {
// Run this
}
elseif ( option value = best sellers ) {
// Run this
}

etc. But I don't know what to put inside the if elseif statement. In other words instead of 'option value = newest' (which I know is incorrect), what can I put there so that if newest is selected it will execute the if statement, or if best sellers is selected it will execute the elseif statement?


回答1:


Give name to your select.

<select name="selectedValue">
<option value="Newest">Newest</option>
<option value="Best Sellers">Best Sellers</option>
<option value="Alphabetical">Alphabetical</option>
</select>

in your PHP, you will do:

$_POST['selectedValue'];

if I were you, I would prefer a switch-case incase, there are more than 2 conditions.

Example:

switch($_POST['selectedValue']){
case 'Newest':
    // do Something for Newest
break;
case 'Best Sellers':
    // do Something for Best seller
break;
case 'Alphabetical':
    // do Something for Alphabetical
break;
default:
    // Something went wrong or form has been tampered.
}



回答2:


First put a name on your select:

<select name="demo">
<option value="Newest">Newest</option>
<option value="Best Sellers">Best Sellers</option>
<option value="Alphabetical">Alphabetical</option>
</select>

Then

if ($_POST['demo'] === 'Newest') {
// Run this
}
elseif ( $_POST['demo'] === 'Best Sellers' ) {
// Run this
}

or

switch($_POST['demo']){
    case 'Newest' : 
        //some code;
        break;
    case 'Best Sellers':
        //some code;
        break;
    default:
        //some code if the post doesn't match anything
}



回答3:


The <select> should have a name attribute, e.g <select name="sortorder">. You could then say

if ($_REQUEST['sortorder'] == 'Newest') {
  // TODO sortorder 'Newest' was selected.
}

If you know whether the form data is comming in via HTTP GET or HTTP POST, you could use $_GET['sortorder'] or $_POST['sortorder'] respectively.




回答4:


I think the read-friendly version would be:

switch($option){
    case 'Newest':
        runNewestFunction();
    break;
    case 'Best Sellers':
        runBestSellersFunction();
    break;
    case 'Alphabetical':
        runAlphabeticalFunction();
    break;
    defaut:
        runValidationRequest();
}

also, please do add the name attribute <select name="option">




回答5:


<?php
if ($_POST['com'] == 1 && $_POST['dept_1'] == 'permanent' ) 
{
  $sel_id= "select MAX(emp_id) from employee  ";
  $sel_exeid=mysql_query($sel_id)  or die(mysql_error());;
  while($empid= mysql_fetch_array($sel_exeid))
  {
      $result = $empid[0];
      echo $result;
  } 
}
?>

<td>
<input class="easyui-validatebox" required="true" name="eid" type="text"id="eid" value="<?php echo ($result);?>" placeholder="Enter Employee Id"/>
</td>


来源:https://stackoverflow.com/questions/15357450/php-if-statement-html-option-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!