Versio

JSON

Overzicht Reageren

Derk  Janssen

Derk Janssen

05/09/2011 12:21:55
Quote Anchor link
Hallo ik heb een vraagje.
Ik zou graag een JSON output willen hebben zo dat ik hem af kan handelen met javascript.
Maar het enige wat ik krijg is "Array,ArrayArray,Array".
Kan iemand mijn helpen met wat ik fout doen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$page = "";
$query = tep_db_query("SELECT cu.user_name, cp.permission_name, cpc.id, cpc.name, cpc.description, cpc.date, cpc.published, cpc.permissions, cpc.tld FROM  " . TABLE_CMS_PAGE_CATEGORYS . " AS cpc, " . TABLE_CMS_USERS . " AS cu, ".TABLE_CMS_PERMISSIONS." AS cp WHERE cu.user_id=cpc.created_by AND cu.permissions=cp.permission_level ORDER by cpc.date DESC");
while($row = tep_db_fetch_array($query)) {
    $page .=array( 'id' => $row['id'], 'name' => $row['name'], 'published' => $row['published'], 'date' => $row['date'], 'user_name' => $row['user_name'], 'permission_name' => $row['permission_name'], 'tld' => $row['tld']).",".array( 'id' => $row['id'], 'name' => $row['name'], 'published' => $row['published'], 'date' => $row['date'], 'user_name' => $row['user_name'], 'permission_name' => $row['permission_name'], 'tld' => $row['tld']);      
}
echo json_encode($page);    
 
PHP hulp

PHP hulp

25/05/2012 02:05:55
Gesponsorde koppelingen:
 
Jelmer rrrr

Jelmer rrrr

05/09/2011 12:29:30
Quote Anchor link
"" en .= is voor strings. Je wilt arrays in arrays gebruiken?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$query
= tep_db_query("...");

$page = array();
while($row = tep_db_fetch_array($query))
    $page[] = $row;

echo json_encode($page);
?>
 
Derk  Janssen

Derk Janssen

05/09/2011 12:42:32
Quote Anchor link
Bedankt.
Wat ik graag wil is dat ik hem met een mootools JSON request kan in laden en er een layout aan kan geven.

Dus ik meen juiste JSON output zien te krijgen zo iets als dit.

{"id":"474","name":"taichi","published":"1","date":"2011-08-18 21:55:54","user_name":"admin","permission_name":"Admin","tld":"nl"},
{"id":"474","name":"taichi","published":"1","date":"2011-08-18 21:55:54","user_name":"admin","permission_name":"Admin","tld":"nl"}
 
Derk  Janssen

Derk Janssen

08/09/2011 11:13:13
Quote Anchor link
Ik heb het nog steeds niet voor elkaar.
Hij geeft geen geldige json output.
Normaal als dat wel zo is krijg je in firebug een tabje json er bij.
Kan iemand mijn helpen.
Mijn javascript is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
        var getDataTable = new Request.JSON({
            url: this.options.dataLoadUrl,
            method: 'get',  
                        async: true,
            onRequest: function() {  },    
            onFailure: function() { alert("werkt niet"); },    
            onSuccess: function(response) {
                                var obj = JSON.decode(response);
                console.log(obj);

            }
        }).get();



mijn php is dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$rows = array();
$query = tep_db_query("....");
while($row = tep_db_fetch_array($query)) {
    $rows[] = array('id' => $row['id'], 'name' => $row['name'], 'published' => $row['published'], 'date' => $row['date'], 'user_name' => $row['user_name'], 'permission_name' => $row['permission_name'], 'tld' => $row['tld']);  
}

echo json_encode($rows);
 
Jacco Engel

Jacco Engel

08/09/2011 11:16:40
Quote Anchor link
Quote:
Hij geeft geen geldige json output.


Wat geeft hij wel dan
 
Derk  Janssen

Derk Janssen

08/09/2011 11:20:26
Quote Anchor link
Het antwoord wat ik nu krijg is.

[{"id":"479","name":"yu","published":"1","date":"2011-09-05 11:58:44","user_name":"admin","permission_name":"Admin","tld":"nl"},{"id":"474","name":"taichi","published":"1","date":"2011-08-18 21:55:54","user_name":"admin","permission_name":"Admin","tld":"nl"}]
 
Jacco Engel

Jacco Engel

08/09/2011 11:37:31
Quote Anchor link
Heb je er uberhaupt al een parseJSON op geprobeerd :)? Ik net wel namelijk en mij lijkt het gewoon werkbaar
 
Derk  Janssen

Derk Janssen

11/09/2011 11:40:31
Quote Anchor link
Jips bij deze twee screenshots van hoe het er uit moet zien en hoe niet als ik een array parse buiten de while gaat het prima binnen niet.

Deze array staat buiten de while daar zie je dat je bij de request een tabje json er bij krijgt.
http://ramonvanophuizen.nl/metjson.png

Bij deze zie je dat er geen tabje json bij komt en deze staat binnen de while.

http://ramonvanophuizen.nl/zonderjson.png
 
Arjan -

Arjan -

11/09/2011 12:14:34
Quote Anchor link
Je moet geen JSON.decode gebruiken aangezien de JSON request al standaard een json object terug geeft. Dus als het goed is kan je gewoon

response.each(function(item) {
alert(item.id);
});

gebruiken....

Zie: http://mootools.net/docs/core/Request/Request.JSON
Gewijzigd op 11/09/2011 12:19:17 door Arjan -
 
Derk  Janssen

Derk Janssen

11/09/2011 12:24:47
Quote Anchor link
Arjan je bent de held van vandaag! weer iets geleerd maar wat ik dan nog steeds wel raar vind waarom hij geen geldig json object is. Alles werkt nu wel en zo maar vroeg me het gewoon af.
 
Derk  Janssen

Derk Janssen

12/09/2011 16:19:25
Quote Anchor link
Zo ik ben al weer een heel stuk verder.
Nu heb ik nog een vraagje.
Nu zou ik graag alleen de key's willen weten en die verzamelen.
Nu rolt hij bv twee keer de key id en twee keer de key name er uit.
Maar ik wil dat graag maar een keer hebben want met die key namen ga ik colums aan maken.

response.each(function(obj) {
for (var key in obj) {
alert(kay);
}
});
 



Overzicht Reageren