У меня есть вопрос, сначала посмотрите мой код:
$testsql = $db->prepare('SELECT * FROM forum_sujets');
$testsql->execute();
$test = $testsql->fetch();
print_r($test);
Моя БД:
Итак, я хочу выбрать свою информацию в массиве, и я не хочу, чтобы этот массив выглядел так:
array(
'id' => '1', array(
'nom' => 'test',
'titre' => 'test',
'auteur' => 'test',
),
'id' => '2', array(
'nom' => 'test2',
'titre' => 'test2',
'auteur' => 'test2',
),
);
Хорошо, и после того, как мой массив будет выглядеть так, я хочу повторить, например, имя идентификатора «2», я не знаю, ясно ли я. Я надеюсь, что вы можете мне помочь, увидимся :)
Если вам нужна информация об id = 2, используйте WHERE id = 2 в своем запросе.
Кроме того, при условии, что структура массива неверный, вы не можете иметь более одного ключа id на одном уровне массива.
Да, я уже разместил свой запрос через некоторое время, но для оптимизации я не хочу помещать его за пределы этого времени и в то время как вызывать необходимую информацию






Например, ваш скриншот не так хорош, поэтому я полагаю, что у вас есть таблица титра столбцов, псевдонима и автора в таблице:
$testsql = $db->prepare('SELECT id, titre, nom, auteur FROM forum_sujets');
$testsql->execute();
$data = [];
while ($test = $testsql->fetch()) {
$id = $test['id'];
$data[$id] = [
'nom' => $test['nom'],
'auteur' => $test['auteur'],
'title' => $test['title'],
];
}
print_r($data);
Вывод будет таким:
array(
1 => array(
'nom' => 'test',
'titre' => 'test',
'auteur' => 'test',
),
2 => array(
'nom' => 'test2',
'titre' => 'test2',
'auteur' => 'test2',
),
);
Поскольку у вас не может быть двух одинаковых ключей в одном массиве
Неплохо. Я только хотел отметить, что @u_mulder, вероятно, прав в своем комментарии выше, что BaguetteV1.0 на самом деле ищет только одну запись. Поэтому использование предложения WHERE может быть лучшим подходом. Но мы не можем быть уверены, пока не будет объяснено, как работает весь код и для чего он нужен.
ты пробовал
foreach loop?