2016-10-04 7 views
-1

m'y質問です:foreachループの内側(または中)に複数のアレイ(2つ、またはそれ以上)を一致させるためにはどのようforeachループ内で複数の配列をマッチさせる方法は?

here is m'y <code>Var_dump</code>

$cat = $bdd->query('SELECT cat_name FROM categories'); 
$categories_list = $cat->fetchAll(PDO::FETCH_COLUMN); 


$cat_id = $bdd->query('SELECT cat_id FROM categories'); 
$categories_id = $cat_id->fetchAll(PDO::FETCH_COLUMN); 


$arrcatid = array($categories_list,$categories_id); 

echo '<form method="post" action="accès/create_topic_post.php" autocomplete="off">'; 
echo '<label for="sujet">Sujet :'; 
echo '<input type="text" name="sujet" id="sujet" required autofocus>'; 
echo '</label>'; 
echo '<label for="cat">Catégories :'; 
echo '<select name="topic_name">'; 



foreach ($categories_list as $cat_name){ 
echo "<option value=\"$cat_name\">$catname</option>"; 
} 
$cat_id->closeCursor(); 
$cat->closeCursor(); 


echo '</select>'; 
echo '</label>'; 
echo '<input type="submit" value="Envoyer">'; 
echo '</form>'; 
var_dump($arrcatid); 

ので、目標が持つ配列0を一致させることですアレイ1 cat_name && cat_id

どうもありがとう:SQLクエリの名前とIDの両方を得ることについてD

+1

使用array_diff() – Shahrukh

答えて

1

私が使用:

$cat = $bdd->query('SELECT cat_name,cat_id FROM categories'); 
$categories_list = $cat->fetchAll(PDO::FETCH_KEY_PAIR); 

とforeachのために:

foreach ($categories_list as $cat_id => $cat_name){ 
echo "<option value=\"$cat_name\">$cat_id</option>"; 
+1

これは良いですが、$ cat_nameと$ cat_idを交換して、選択フィールドに名前を表示する必要があると思います。 IDはサーバー –

+0

に送信する必要があります完了:専門知識のおかげで:D –

3

どのように?

$cat = $bdd->query('SELECT cat_name, cat_id FROM categories'); 
 

 

+0

を次にPDO :: fetchAllのに変更します。 – Henrik

+0

これはすでにフェッチされています。 '' $ cat_id - > FetchAll(PDO :: FETCH_COLUMN) ' –

+2

@RomainSickenbergなぜあなたは使用しているパラメータを読まないのですか? PDO :: FETCH_COLUMNは最初のフィールドを取得するためのものです。他のフィールドが必要な場合は、別のフェッチモードが必要です。あなたがスタックオーバーフローで与えられたコードの何かを読んでいないなら、答えはあなたのために何もしません。他の人にあなたの仕事を依頼するのではなく、ここで学びます。 –

関連する問題