Bonjour,

Voila je rencontre un petit problème avec mon code.

Mes fichiers PostsController

Décrivez ici votre code ou ce que vous cherchez à faire :
<?php

namespace App\Controller\Admin;

use Core\HTML\BootstrapForm;

class PostsController extends AppController{

public function __construct(){
    parent::__construct();
    $this->loadModel('Post');
}

public function index(){
    $posts = $this->Post->all();
    $this->render('admin.posts.index', compact('posts'));
}

public function add(){
    if (!empty($_POST)) {
        $result = $this->Post->create([
            'centres' => $_POST['centres'],
            'Activite' => $_POST['Activite'],
            'Sousfamille' => $_POST['Sousfamille'],
            'CleCompte' => $_POST['CleCompte'],
            'Debit' => $_POST['Debit'],
            'Credit' => $_POST['Credit'],
            'Imputationods' => $_POST['Imputationods'],
            /*'Typeods' => $_POST['Typeods'],           
            'id' => $_POST['id'],
            'Lib1' => $_POST['Lib1'],
            'Lib2' => $_POST['Lib2'],
            'Piece' => $_POST['Piece'],*/
            'Remarque' => $_POST['Remarque'],     
            'category_id' => $_POST['category_id']
        ]);  
        $result = $this->Post->create([
            'centres' => $_POST['centres'],
            'Activite' => $_POST['Activite'],
            'Sousfamille' => $_POST['Sousfamille'],
            'CleCompte' => 57000,
            'Debit' => $_POST['Credit'],
            'Credit' => $_POST['Debit'],
            'Imputationods' => $_POST['Imputationods'],
            /*'Typeods' => $_POST['Typeods'],           
            'id' => $_POST['id'],
            'Lib1' => $_POST['Lib1'],
            'Lib2' => $_POST['Lib2'],
            'Piece' => $_POST['Piece'],*/
            'Remarque' => $_POST['Remarque'],     
            'category_id' => $_POST['category_id']]);
        if($result){
            return $this->index();
        }
    }
    $this->loadModel('Category');
    $categories = $this->Category->extract('id', 'titre');
    $form = new BootstrapForm($_POST);
    $this->render('admin.posts.edit', compact('categories', 'form'));
}

public function edit(){
    if (!empty($_POST)) {
        $result = $this->Post->update($_GET['id'], [
            'centres' => $_POST['centres'],
            'Activite' => $_POST['Activite'],
            'Sousfamille' => $_POST['Sousfamille'],
            'CleCompte' => $_POST['CleCompte'],
            'Debit' => $_POST['Debit'],
            'Credit' => $_POST['Credit'],
            'Imputationods' => $_POST['Imputationods'],
            'Remarque' => $_POST['Remarque'],
            'category_id' => $_POST['category_id']
        ]);
        if($result){
            return $this->index();
        }
    }
    $post = $this->Post->find($_GET['id']);
    $this->loadModel('Category');
    $categories = $this->Category->extract('id', 'titre');
    $form = new BootstrapForm($post);
    $this->render('admin.posts.edit', compact('categories', 'form'));
}

public function delete(){
    if (!empty($_POST)) {
        $result = $this->Post->delete($_POST['id']);
        return $this->index();
    }
}

}

Mon code de la vue :

<ul class="nav nav-pills" role="tablist">

 <li role="presentation"><a href="index.php"><h4>Récapitulatif des opérations</h4></a></li>
 <li role="presentation" class="active"><a href="#"><h4>Ajout  de pièce</h4></a></li>
  <li role="presentation"><a href="?p=admin.posts.index"><h4>Modifier une pièce</h4> </a></li>
    <li role="presentation"><a href="#"><h4>Annuler une pièce<h4></a></li> 
    <li role="presentation"><a href="#"><h4>Comptabiliser une pièce</h4> </a></li>

        </ul>

<form method="post">

<div class="well">
<table class="table">
<thead>
     <tbody>
<td><?= $form->input('centres', 'centres'); ?></td>
<td><?= $form->input('Activite', 'Activite'); ?></td>
<td><?= $form->input('Sousfamille', 'Sousfamille'); ?></td>
<td><?= $form->input('CleCompte', 'CleCompte'); ?></td>
<td><?= $form->input('Debit', 'Debit'); ?></td>
<td><?= $form->input('Credit', 'Credit'); ?></td>
<td><?= $form->input('Imputationods', 'Imputation'); ?></td>
<td><?= $form->input('Remarque', 'Remarque', ['type' => 'textarea']); ?></td>
<td><?= $form->select('category_id', 'Catégorie', $categories); ?></td>
</thead> 
<tbody>
 <button class="btn btn-primary">Valider</button>
    </div>

</form>

Entourez votre code pour bien le mettre en forme

Ce que je veux

J'aimerais creer une fonction qui me permet de gerer ma clef primaire nommé PIECE qui s'autoincremente automatiquement quand je valide l'entré d'une nouvelle pièce

NB : une pièce peut contenir plusieurs ligne

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

Aucune réponse