Bonjour,
Je reviens vers vous après des heures de recherches.
Je souhaiterais mettre à jour ma table tickets avec la valeur sélectionnée dans une combobox.
mais j'ai un message d'erreur comme quoi la valeur sélectionnée est nulle.
J'ai définit les Getter et les Setter dans une classe Ticket
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public function setProprio(string $proprio) {
 $this->proprio = $proprio;
 }
.......
public function getProprio(): ?string {
 return $this->proprio;
  }
Ensuite J'ai définit la méthode update dans la classe Tickets:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
public function update (Ticket $ticket): bool {
   $statement = $this->pdo->prepare('UPDATE tickets SET proprio = ?  WHERE id = ?');
   return $statement->execute([
           $_POST['proprio'],
	   $ticket->getId()
          ]);
 
 }
et dans ma page d'insertion comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
$pdo = get_pdo();
$tickets = new Tickets($pdo);
if (!isset($_GET['id'])) {
          header('location: /404.php');
         }
try {
$ticket = $tickets->find($_GET['id']);
    } catch (Exception $e) {
      e404();
      }
 
$data = [
	 'proprio'=>$_POST['proprio'],
       ];
if($_SERVER['REQUEST_METHOD'] === 'POST') {
 
$data = $_POST;
    $ticket->setProprio($data['proprio']);
    $tickets->update($ticket);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<form action="" method="post" class="form">
                        <div class="row">
    <div class="col-sm-6">
       <div class="form-group">
<label for="proprio"> Proprio</label>
<select id="proprio" class="form-control" name="proprio" >
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
</select>
</div>
    </div>
 <div class="form-group">
 <br><button class="btn btn-primary">Affecter</button>
</div>
 
  </form>
Merci de votre aide