首页 > 解决方案 > 如何根据用户的选择显示数组中的某些内容

问题描述

我正在尝试创建一个 PHP 程序,该程序具有Select HTML选项和带测量的数组。我想根据他们从Select标签中所做的选择来显示一个特定的度量。这是我如何设置我的网站的图片

此外,我在此处包含了所有选择选项的图片。

$sizeInches = array('3/4" x 1-1/2"', '3/4” x 2-1/2”','3/4” x 3-1/2”', '3/4” x 4-1/2”', '3/4” x 5-1/2”', '3/4” x 6-1/4”', '3/4” x 7-1/4”', '3/4" x 9-1/4"', '3/4" x 9-1/4"', '3/4" x 11-1/4"', '1-1/2" x 3-1/2"', '1-1/2" x 5-1/2"', '1-1/2" x 7-1/4"', '1-1/2" x 9-1/4"', '1-1/2" x 11-1/4"', '2-1/2" x 5-1/2"', '3-1/2" x 3-1/2"', '3-1/2" x 5-1/2"');

总的来说,我想要它做的是,如果用户选择2" x 12"我希望它从数组中检索正确测量值的选项,这将是1-1/2" x 11-1/4 Here is what I would like it to display

目前这就是我Select设置标签的方式

  <label> What size of lumber would you want?
      <select name="size" required>
        <option value="NULL"selected> -------- </option>
        <option value="1"> 1" X 2" </option>
        <option value="2"> 1" X 3" </option>
        <option value="3"> 1" X 4" </option>
        <option value="4"> 1" X 5" </option>
        <option value="5"> 1" X 6" </option>
        <option value="6"> 1" X 7" </option>
        <option value="7"> 1" X 8" </option>
        <option value="8"> 1" X 10" </option>
        <option value="9"> 1" X 12" </option>
        <option value="10"> 2" X 4" </option>
        <option value="11"> 2" X 6" </option>
        <option value="12"> 2" X 8" </option>
        <option value="13"> 2" X 10" </option>
        <option value="14"> 2" X 12" </option>
        <option value="15"> 3" X 6" </option>
        <option value="16"> 4" X 4" </option>
        <option value="17"> 4" X 6" </option>
      </select>
    </label>

你们可能会看到我有两个提交按钮,但现在我正试图确保inch一个首先工作。

让我知道你们是否需要更多信息或希望我编辑某些内容。

感谢您抽出时间来帮助我!

标签: phphtml

解决方案


一旦提交了选择的值,就可以将其用作数组的索引,以从数组中检索正确的结果。它看起来像这样。

<?php
//value of the select
$selectValue = $_POST['size'];
//your array with all possible values
$sizeInches = array('3/4" x 1-1/2"', '3/4” x 2-1/2”','3/4” x 3-1/2”', '3/4” x 4-1/2”', '3/4” x 5-1/2”', '3/4” x 6-1/4”', '3/4” x 7-1/4”', '3/4" x 9-1/4"', '3/4" x 9-1/4"', '3/4" x 11-1/4"', '1-1/2" x 3-1/2"', '1-1/2" x 5-1/2"', '1-1/2" x 7-1/4"', '1-1/2" x 9-1/4"', '1-1/2" x 11-1/4"', '2-1/2" x 5-1/2"', '3-1/2" x 3-1/2"', '3-1/2" x 5-1/2"');
        $displayResult = '';
        //traverse the array and find the selected index, after that break out of loop
        for ( $i = 0; $i < sizeof( $sizeInches ); $i++ ) {
            if ( $i === (int)$selectValue ) {
                $displayResult = $sizeInches[ $i ];
                break;
            }
        }
    ?>
    //display your result
    <h2> <?php echo $displayResult; ?></h2>

我希望这可以帮助你 !


推荐阅读