1 pièce(s) jointe(s)
Erreur Multiple Select : Array to string conversion
Bonjour, depuis hier j'ai un petit soucis dans mon code.
Je suis actuellement en train de développer mon portfolio. Mon erreur est la suivante :
Sur mon site, je peux poster des "Postes" qui seront soit des articles, soit des créations (projets...). Ces "Postes" peuvent appartenir à une ou plusieurs catégories.
Dans mon administration, j'utilise un Multiple Select qui liste toutes les catégories. Le but était donc de pouvoir ajouter une ou plusieurs catégories à un poste lors de son ajout depuis l'administration.
Mon modèle de données est le suivant :
Pièce jointe 422514
Il fonctionne très bien, du moins quand je fait des entrées depuis la base de données.
Pour lister les différentes catégories présentes, j'utilise donc un Foreach :
Code:
1 2 3 4 5 6 7 8 9
| <select multiple class="form-control" id="tags" name="tags[]" required>
<?php
foreach ($getCategories->fetchAll() as $categorieDetails) {
echo '<option value="' . (string) $categorieDetails['id'] . '">' . $categorieDetails['tag'] . '</option>';
}
?>
</select> |
Mon modèle est le suivant :
Code:
1 2 3 4 5 6
| $insert = $db->prepare('INSERT INTO postes_categories (id_poste, id_categorie) VALUES (:id_last_post, :id_categorie)');
$insert->execute(array(
'id_last_post' => $id_last_post,
'id_categorie' => $id_categorie
)); |
Je récupère l'id du dernier article posté, puis je lui passe l'une des catégories séléctionnés via le Multiple Select.
Pour ce faire, voici mon code :
Code:
1 2 3 4 5
| foreach ($_POST['tags'] as $tagDetails) {
$addPosteCategorie = $postes_categories->addPosteCategorie($getLastPostesID->fetch(), $tagDetails);
} |
Mais malheureusement, j'ai une erreur de type : Array to string conversion
L'erreur provient de la ligne à l'intérieur du foreach (le dernier bloc de code).
J'ai regardé sur différents forums mais je ne trouve pas un moyen pour résoudre ce problème.
J’espère que vous parviendrez à m'aider.
Merci par avance.