За да получите желаната от вас структура, трябва да изпълните два SQL оператора – един за получаване на всички думи и един за получаване на всички абзаци.
$result_w = $conn->query("SELECT * FROM words;");
$results_w = $result->fetch_all(MYSQLI_ASSOC);
$result_p = $conn->query("SELECT * FROM paragraphs;");
$results_p = $result->fetch_all(MYSQLI_ASSOC);
$paragraphs = [];
foreach($results_p as $key => $row) {
$paragraphs[$row['id']] = $row;
}
$data = [];
foreach($results_w as $key => $row) {
$p_no = $row['paragraph_no'];
$data[$p_no]['words'] = $results_w;
$data[$p_no]['paragraph'] = $paragraphs[$p_no];
}
Вашият изход за $data
ли е сега какво ви трябва?