Déjà dans ton formulaire il te faudrait utiliser des identifiants numériques pour les armes, et non leurs noms. Mais avec les noms ça donnerait ça:
Je te laisse ajouter des var_dump à chaque étape pour regarder le contenu de $markers et du SQL généré, de $armes avant et après le 'array_map'.
Le code est un peu trop condensé mais tu peux cliquer sur les fonctions pour voir ce qu'elles font.
Bon et du coup tu as ton tableau avec les armes voulues.
$markers = implode(',',array_fill(0, count($_POST['option']),'?'));
$q = $bdd->prepare("SELECT name, * FROM armes WHERE name IN ($markers)" );
$q->execute($_POST['option']);
// pour avoir un tableau avec les armes rangées par nom
$armes = $q->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);
$armes = array_map('reset', $armes);
// pour avoir un simple tableau des armes
$armes = $q->fetchAll(PDO::FETCH_ASSOC);
// et le résultat exploitable :
var_dump($armes);
Je te laisse ajouter des var_dump à chaque étape pour regarder le contenu de $markers et du SQL généré, de $armes avant et après le 'array_map'.
Le code est un peu trop condensé mais tu peux cliquer sur les fonctions pour voir ce qu'elles font.
Bon et du coup tu as ton tableau avec les armes voulues.