3 Tabellen in einem JSON String ausgeben

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von tobsen.

    3 Tabellen in einem JSON String ausgeben

    Hey Leute,
    ich habe eine Verbindung zu einer MySQL Datenbank... Ich möchte nun den Inhalt meiner 3 Tabellen in einem JSOn String ausgeben.

    So sollte der String am Ende aussehen:

    PHP-Quellcode

    1. datenbank= {
    2. 'tabelle1':{
    3. 'spalte1':[1,2,3,4,5,6,7,8,9],
    4. 'spalte2':[1,2,3,4,5,6,7,8,9],
    5. 'spalte3':[1,2,3,4,5,6,7,8,9],
    6. 'spalte4':[1,2,3,4,5,6,7,8,9],
    7. }
    8. 'tabelle2':{
    9. 'spalte1':[1,2,3,4,5,6,7,8,9],
    10. 'spalte2':[1,2,3,4,5,6,7,8,9],
    11. 'spalte3':[1,2,3,4,5,6,7,8,9],
    12. 'spalte4':[1,2,3,4,5,6,7,8,9],
    13. }
    14. 'tabelle3':{
    15. 'spalte1':[1,2,3,4,5,6,7,8,9],
    16. 'spalte2':[1,2,3,4,5,6,7,8,9],
    17. 'spalte3':[1,2,3,4,5,6,7,8,9],
    18. 'spalte4':[1,2,3,4,5,6,7,8,9],
    19. }
    20. }



    Kann mir jemand von euch helfen ??

    LG
    Tobias
    Muss es dieses Format sein, oder geht auch folgendes?

    PHP-Quellcode

    1. 'tabelle1':{
    2. reihe0:[1,2,3,4,5,6,7,8,9],
    3. reihe1:[1,2,3,4,5,6,7,8,9],
    4. reihe2:[1,2,3,4,5,6,7,8,9],
    5. reihe3:[1,2,3,4,5,6,7,8,9],
    6. reihe4:[1,2,3,4,5,6,7,8,9],
    7. ...
    8. }

    wobei die werte in den reihen immer die für die Spalten sind.


    EDIT: Ungetesteter Code

    PHP-Quellcode

    1. mysql_connect('localhost', 'mysql_user', 'mysql_password') or
    2. die('Keine Verbindung möglich: ' . mysql_error());
    3. mysql_select_db('mydb');
    4. $tables = array();
    5. foreach(array(
    6. 'table1',
    7. 'table2',
    8. 'table3')
    9. as $tName) {
    10. $tables[$tName] = array();
    11. $result = mysql_query('SHOW COLUMNS FROM `'.$tName.'`');
    12. while ($row = mysql_fetch_array($result)) {
    13. $tables[$tName][$row['Field']] = array();
    14. }
    15. $result = mysql_query('SELECT * FROM `'.$tName.'`');
    16. while ($row = mysql_fetch_array($result)) {
    17. foreach($row as $Field => $Value)
    18. $tables[$tName][$Field][] = $Value;
    19. }
    20. }
    21. echo '<pre>'.json_encode($tables).'</pre>';

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Agita“ ()

    Was hindert dich daran??

    PHP-Quellcode

    1. $spalten = array();
    2. $res = mysql_query("SELECT `spalte1, `spalte2, `spalte3` FROM `tabelle1`");
    3. while($row = mysql_fetch_array($res)) {
    4. foreach($row as $column=>$value) {
    5. spalten[$column][] = $value;
    6. }
    7. }


    Das müsste eigentlich funktionieren.