Условные заявления PHP, относящиеся к форме HTML - PullRequest
0 голосов
/ 17 мая 2018

У меня есть HTML-форма, на которую мне нужно сослаться в PHP, чтобы я мог со временем фильтровать данные. Прямо сейчас это просто повторяет текст для тестирования.

Я использую переменную $ _GET, чтобы узнать, какие значения равны чему, а затем использую оператор if / else, чтобы сообщить мне, проверено ли каждое из них.

Если я говорю, что оно равно только одному значению (== .25), оно возвращает false.

Однако, если я добавлю еще одно или оба значения (== .25 или .375 или .5), он вернет мне нужное значение.

Как мне заставить его возвращать true только с одним значением?

    <table stlye="width:100%">
        <tr>
            <td style="width:50%">
            <form method="GET">
                    Tool Diameter: <br>
                        <input type="checkbox" name="Tool Diameter" value=.25 checked> .25<br>
                        <input type="checkbox" name="Tool Diameter" value=.375 checked> 3/8<br>
                        <input type="checkbox" name="Tool Diameter" value=.5 checked> 1/2<br><br>
                    Brand: <br>
                        <input type="checkbox" name="Brand" value="Lakeshore Carbide " checked> Lakeshore Carbide<br>
                        <input type="checkbox" name="Brand" value="AB Tools" checked> AB Tools<br>
                        <input type="checkbox" name="Brand" value="Helical Tools" checked> Helical Tools<br><br>
                    Flutes: <br>
                        <input type="checkbox" name="Flutes" value="2" checked> 2<br>
                        <input type="checkbox" name="Flutes" value="3" checked> 3<br>
                        <input type="checkbox" name="Flutes" value="4" checked> 4<br><br>
                    Tool Material: <br>
                        <input type="checkbox" name="Material" value="HSS" checked> HSS<br>
                        <input type="checkbox" name="Material" value="Carbide" checked> Carbide<br>
                        <input type="checkbox" name="Material" value="Cobalt" checked> Cobalt<br><br>
                    Coating: <br>
                        <input type="checkbox" name="Coating" value="Uncoated" checked> Uncoated<br>
                        <input type="checkbox" name="Coating" value="ZrN" checked> ZrN<br>
                        <input type="checkbox" name="Coating" value="TiCN" checked> TiCN<br><br>
                    Tool Type: <br>
                        <input type="checkbox" name="Type" value="Face Mill" checked> Face Mill<br>
                        <input type="checkbox" name="Type" value="Flat Endmill" checked> Flat Endmill<br>
                        <input type="checkbox" name="Type" value="Ball Endmill" checked> Ball Endmill<br> 
                    <br><button>Filter</button><br>
                </form>
            </td>
            <td style="width:50%">
                <style type="text/css">
                    td
                    {
                    padding:0 50px 0 50px;
                    }
                </style>
        <?php
            //while (true){     
            if ($_GET['Tool Diameter'] == .375) {
              echo 'test = true';
            }
            else {
              echo "false";
            }
    ?>
            </td>
        </tr>

    </table>

Ответы [ 3 ]

0 голосов
/ 17 мая 2018

1-я ошибка

значения должны быть заключены в скобки value=".25"

2-я ошибка

имена должныбыть уникальным, в результате у вас есть только одно значение в массиве $_GET['Tool Diameter'], у вас должен быть слот в $ _GET, который содержит, например, массив ваших результатов, поэтому, скажем,

$_GET['Dimensions'] = [
  'Dimension 1' => '.25',
  'Dimension 2' => '.375',
  'Dimension 3' => '.5'
];

, а затем обратитесь к каждомуиз них отдельно

0 голосов
/ 17 мая 2018

попробуйте

<input type="checkbox" name="Tool Diameter[]" value=".25" checked> .25<br>
<input type="checkbox" name="Tool Diameter[]" value=".375" checked> 3/8<br>
<input type="checkbox" name="Tool Diameter[]" value=".5" checked> 1/2<br><br>

..... 
<?php 
// for checking the condition 'atleast 1 ' should be checked 
if(sizeof($_GET['Tool Diameter']) >=1){
 echo 'test = true';
}
else {
  echo "test = false";
}

?>
0 голосов
/ 17 мая 2018

Преобразовать значения в строки, например

<input type="checkbox" name="Tool Diameter" value=".375" checked> .375<br>

, затем проверить

if ($_GET['Tool Diameter'] == ".375"){
enter code here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...