0

複数選択からPHPを使用してデータを取得しようとしています。選択リストを作成し、MySQL データベースからの情報を入力するコードは次のとおりです。

    <select title="Basic example" multiple="multiple" name="id_categorie[]" size="3">
<?php
include_once('../../modeles/class_Categorie.php');
include_once '../../core/connx.php';
    foreach(Categorie::getAllCategorie()as $cat ){
    $categorie= new Categorie($cat->ID_CAT);
    echo '<option value="'.$categorie->getIDCategorie().'">'.$categorie->getNomCategorie().'</option>';
}
?>
</select> 

フォームは、メソッドを使用して値を、ステートメントを使用しようとするPOSTURLに送信します。addArticle.phpimplode()

        include_once '../core/connx.php';
include_once('../modeles/class_Article.php');
include_once('../modeles/class_Image.php');
include_once '../modeles/class.upload.php';
$id=Article::creatArticle(0,$_POST['title'],implode(', ', $_POST['id_categorie']),$_POST['article']);
insertionImage($id,'img1');
function insertionImage($id,$img){
                $obj_img = new upload('../views/img/file/', $img);

                $obj_img->cl_taille_maxi = 1048579900000;
                $obj_img->cl_extensions = array('.gif','.jpg','.png','.jpeg'); // on attribut les extensions autorisées 
                $obj_img->cl_nb_char_aleatoire = 15;
                if (!$obj_img->uploadFichier('aleatoire')){
                      $erreur=$obj_img->affichageErreur();

                }
                else {
                    $chemin=$obj_img->cGetNameFileFinal();
                    Image::addImage($id,$chemin);

                }
}

そして、記事クラスを追加する関数Article:

/**
 * function créeArticle
 */
public static function creatArticle($id_article,$title,$id_categorie,$article)
{
    global $db;

    $req = $db->prepare("INSERT INTO blog (ID_BLOG,TITLE,ID_CAT, ARTICLE,DATE) VALUES ('',:title,:id_categorie,:article,'".date('Y-m-d')."')");
    $ok = $req->execute(Array('title' =>$title,'id_categorie' => $id_categorie,'article' => $article));
     return $db->lastInsertId();
    //$erreur = $req->errorInfo();
}

問題は、複数の値を選択すると、フォームから最初に選択したオプションしか取得できないことです。選択したすべての値を取得するにはどうすればよいですか?

4

0 に答える 0