как получить отмеченный флажок с php из таблицы с sql - PullRequest
0 голосов
/ 26 апреля 2020

код:

    function formulariconsultes($resultat){
        echo "<form name='comanda' method='post' action='../controlador/controladorcomanda.php'>";
        echo "<table style='border: solid 1px black;'>";
        echo "<td><b>codi</b></td>
        <td><b>nom</b></td>
        <td><b>descripcio</b></td>
        <td><b>pes</b></td>
        <td><b>stock</b></td>
        <td><b>categoria</b></td>
        <td><b>Marca</b></td>
        <td><b>Cantitat</b></td>";
        while ($row = mysqli_fetch_array($resultat)){
        echo "<tr><td>". $row['codProd'] .
         "</td><td>" . $row['nom']. 
         "</td><td>". $row['descripcio']. 
         "</td><td>". $row['pes']. 
         "</td><td>". $row['stock']. 
         "</td><td>". $row['idCategoria'].
         "</td><td>". 
         "<input type='checkbox' name='marcar[]' value='hola'>".
         "</td><td>".
         "<input type='number' name='cantitat[]' >".
         "</td></tr>";
        }
        echo "</table>";
        echo "<input type='submit' name='enviarcomanda' style='margin-top:10px; margin-left:60px; height:60px; width:120px;font-size: 25px;'>";
        echo "</form>";
    }

с этой функцией мне нужно получить каждый флажок, который отмечен, чтобы увидеть строки, которые я выбрал, чтобы подтвердить свой выбор, а также количество выбран, то мой вопрос, как я могу увидеть каждый флажок отмечен из всех строк и показать только отмеченные. Как я могу сделать в следующем коде, чтобы перечислить все отмеченные поля с их собственным именем строки и количеством? спасибо вам всем.

    if(isset($_POST['enviarcomanda'])){
      echo "<h1>Valida la teva comanda!</h1>";

    }else{
      echo "";
    }

1 Ответ

0 голосов
/ 26 апреля 2020

В зависимости от того, как вы сохраняете значение флажка, вы должны проверить, установлено ли это значение при анализе возврата. Если он установлен, выведите значение возвращенного значения $row на входе, для которого установлено флажок.

В моем примере ниже используется массив, значения которого установлены на true/false

ПРИМЕЧАНИЕ: Я использую ассоциативный массив, который сохраняет имя как ключ и значение в качестве значения, поэтому примите во внимание, как вы сохраняете свои значения, так как в вашем возвращении, скорее всего, в качестве ключа будет указано значение, а в качестве значения - значение.


//--> where $row represents your query return...
$row = array(
  "nom" => array(
    "Jessie" => true,
    "Mike" => false,
    "Ben" => false,
    "Jake" => false,
    "Bill" => false,
    "John" => true
  )
);

$stmt = null;
//--> foreach loop to gather key/value pairs for display within conditional
foreach($row['nom'] as $name => $value){   
  //--> conditional to check if the set value returned from query is set to the expected value 
  //--> Again, I used 'true' in my example, set this to your expected value  
  if($value === true){
    $stmt .= '<span>'. $name .'<input type="checkbox" name="'.$name.'" checked></span>';
  }else{
    $stmt .= '<span>'. $name .'<input type="checkbox" name="'.$name.'"></span>';
  }      
}

ВЫХОД:

Выведите переменную $stmt, в которой вы хотите отобразить теги span с правильными форматированными флажками. Отформатируйте CSS и HTML, как вы предпочитаете в своем коде. С в HTML: <?=$stmt?>

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...