0

I want to select a year and it shows me all the data of the year selected but every time it shows me this error : Call to a member function execute() on boolean

Why it appears please?

This is my query :

$sql = (" SELECT code,supplier,date FROM suppliers WHERE
  YEAR(date) = $date ");

This is My code :

  <?php
 if(isset($_POST['submit'])) 
 {

 $date = $_POST['date'];
 $sql = (" SELECT code,supplier,date FROM suppliers WHERE YEAR(date) = $date 

  ");

$connexion->exec ( "set names utf8" );   
$reqd = $connexion->prepare($sql);
$reqd->execute();
$query = $reqd -> fetchAll(PDO::FETCH_ASSOC);

 }

?>

<form method="POST" action="">  
   <select class="form-control select2" style="width: 100%;">
      <option selected="selected">2016</option>
      <option>2015</option>
      <option>2014</option>
   </select>
   <button type="submit" name="submit" class="btn btn-primary">
      <span class="glyphicon glyphicon-ok"></span> Submit
   </button>

  </form>

   <table id="example1" class="table table-bordered table-striped">
    <thead>
      <tr>
     <? if(isset($_POST['date']))  { ?>
        <th style="text-align:center">code</th>
        <th style="text-align:center">supplier</th>
        <th style="text-align:center">date</th>

     <? } ?>     
                </tr>
            </thead>
            <tbody>
               <?php

                  foreach ( $query as $q => $r ) :

                  ?>
              <tr style="text-align: center;">
                <td><? echo $r['code']; ?></td>
                <td><? echo $r['supplier']; ?></td>
                <td><? echo $r['date']; ?></td>

                </tr>

                  <?php 
                  endforeach; 
                  ?>

            </tbody>

          </table>

Thanks

1 Answers1

0

Put name attribute in select without name date is not set in post

<select name="date" class="form-control select2" style="width: 100%;">
Maninderpreet Singh
  • 2,569
  • 2
  • 17
  • 31