Ik heb een stukje script


while ($obj = mysql_fetch_object($res)) {
echo "{\"id\":\"$obj->id\",\"client\":\"$obj->comment\",\"desc\":\"\"},";
echo "\n";
}
mysql_free_result($res);


resultaat dat ik dan krijg ziet er als dit uit:

{"id":"19","client":"I Love 90","desc":""},
{"id":"20","client":"F en B show","desc":""},
{"id":"21","client":"Kluswijzer","desc":""},
{"id":"22","client":"NRG-Events","desc":""},
{"id":"23","client":"NRG-Events","desc":""},
{"id":"24","client":"Chiquita","desc":""},

Nu moet alleen bij de laatste regel geen comma worden weergegeven.

dus dit:


{"id":"19","client":"I Love 90","desc":""},
{"id":"20","client":"F en B show","desc":""},
{"id":"21","client":"Kluswijzer","desc":""},
{"id":"22","client":"NRG-Events","desc":""},
{"id":"23","client":"NRG-Events","desc":""},
{"id":"24","client":"Chiquita","desc":""}

Hoe los ik dit op?
*me gaat op het negeer bankje zitten.
Lyrix, lees even de posts van Aar, die geeft je namelijk verreweg het makkelijkste antwoord.....
@jens,

Jouw code werkt wel maar ik krijg nu deze output.

if(!window.slider) var slider={};slider.data=[
{"id": "19", "client":"I Love 90", "desc":""}
{"id": "20", "client":"F en B show", "desc":""}
{"id": "21", "client":"Kluswijzer", "desc":""}
{"id": "22", "client":"NRG-Events", "desc":""}
{"id": "23", "client":"NRG-Events", "desc":""}
{"id": "24", "client":"Chiquita", "desc":""}
];

Nog niet helemaal goed. :)
@Lyrix, Valt het kwartje nou eens, of wil je nou echt moeilijk gaan doen?
Zo moet hij het toch echt doen


<?php
$text = '';
 while ($obj = mysql_fetch_object($res))
 {

 $text .= ($text == '') ? '{"id":"' . $obj->id . '","client":"' . $obj->comment .'","desc":""}' : ', {"id":"' . $obj->id . '","client":"' . $obj->comment . '","desc":""}';
 }
 
echo $text;

?>

@Aar, sommige mensen willen gewoon moeilijk doen waar het makkelijk kan....
Dan doen ze dat maar lekker, maar dan moeten ze niet bij mij gaan janken als de JSON-string opeens behoorlijk corrupt raakt.
- Aar - op 28/12/2011 23:17:25

*me gaat op het negeer bankje zitten.


Dat zit in dit topic best lekker volgens mij.
Hoef je lekker niks meer te doen. ;-)
@stef,

Klopt zo werkt het goed. TNX!

@AAr ik hobby een beetje php en json_encode zegt mij niets.
Ik snap dat er meer wegen naar romen zijn en er misschien betere oplossingen zijn.
De oplossing die stef heeft aangedragen werkt.
Als het je niks zegt, dan zou het in mijn ogen toch zeker de moeite waard zijn om er naar te kijken. Je weet zelf nog niet eens of het moeilijk is of niet (en dan alsnog is het een uitdaging). Ook vind ik het opvallend verbazend dat mijn tips tot op diverse keren achter elkaar worden genegeerd in dit topic?

Bij deze een hint: http://php.net/json_encode .
Jij wilt vermoedelijk gewoon een JSON-string genereren voor een JSON-fucntie in JavaScript. En met deze functie kan je er een array in gooien, en je krijgt er een json-string uit.

Ik zou zeggen, kijk er eens naar. En ik durf te wedden dat je denkt: 'Dit is het ei van Columbus!'.

Lyrix Lyrix op 29/12/2011 09:39:25

De oplossing die stef heeft aangedragen werkt.

Totdat om een vage reden je string corrupt kan raken. Zou misschien zelfs al met een accolade of weet ik veel wat kunnen gebeuren. Json_encode beschermt je tegen corruptie...

Reageren