sql >> Databasteknik >  >> RDS >> Mysql

Kombinera resultat från två tabeller till JSON-data

För att få din önskade struktur måste du köra två SQL-satser - en för att få alla ord och en för att få alla stycken.

$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];
}

Är din utdata för $data vad behöver du nu?




  1. Använd Mysql i dev/prod och H2 i test

  2. Varför använder MySQL inte ett index för en större än jämförelse?

  3. Säkerhetskopiera och återställa MySQL-databas i PHP

  4. Kör 2 sql-fråga med 1 fråga för att spara frågeresultatet i .csv-format