Ag Grid Node naar string

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Trainee Progress Ontwikkelaar Den Haag

Functieomschrijving Je altijd al meer willen verdiepen in de wereld van Progress? Tijdens dit traineeship ontwikkel je jezelf tot een echt Progress Ontwikkelaar binnen een grote maatschappelijke organisatie! Ontwikkelen van bestaande en nieuwe applicaties; Use cases uitwerken; Je ontwikkelen tot echte Progress Ontwikkelaar; Ontwikkelen aan het back-end systeem d.m.v. webservices. Functie-eisen HBO/Academisch werk- en denkniveau; Bereidt om Progress Open Edge business engineer certificering te behalen; Kennis van SCRUM en Agile. Prima communicatieve vaardigheden; Resultaatgericht. Bedrijfsomschrijving Als trainee Progress Ontwikkelaar kom je te werken bij een semi-overheidsinstantie die een belangrijke maatschappelijke/sociale rol bekleed in Nederland. Met meerdere vestigingen verspreid over het

Bekijk vacature »

Zwolly Wood

Zwolly Wood

14/10/2019 15:33:30
Quote Anchor link
Hallo Lezers,

Wie kan/wil mij helpen?

Ik ben aan het oefenen met Javascript en kom ergens niet uit

Ik gebruik AG grid om met een tabel te werken.

Mijn javascript code;

function onBtForEachNode() {

console.log('### api.forEachNode() ###');
gridOptions.api.forEachNode(this.printNode);

}

&

function printNode(node, index) {
if (node.group) {
console.log(index + ' -> group: ' + node.key);
} else {
console.log(index + ' -> data: ' + node.data.athlete + ', ' + node.data.age + node.data.country + ', ' + node.data.year + ', ' + node.data.date + ', ' + node.data.sport + ', ' + node.data.gold + ', ' + node.data.silver);
}
}

Nu krijg ik in de console een uitslag zoals;
1 -> data: Michael Phelps, 19United States, 2004, 29/08/2004, Swimming, 6, 0

Nu wil ik dit graag doorzetten naar een array om later door te zetten naar een database.

Heeft iemand een idee hoe ik dit het best op kan pakken?

Alvast bedankt mocht iemand reageren.

Groet, Zwolly Wood
 
PHP hulp

PHP hulp

28/05/2020 02:43:56
 
- Ariën -
Beheerder

- Ariën -

14/10/2019 15:47:01
Quote Anchor link
Is verpakken in JSON geen beter idee?
 
Thomas van den Heuvel

Thomas van den Heuvel

14/10/2019 15:56:04
Quote Anchor link
Zwolly Wood op 14/10/2019 15:33:30:
Nu wil ik dit graag doorzetten naar een array om later door te zetten naar een database

Kun je dat niet rechtstreeks(er) doen? Alles/het meeste zit immers al in node.data?
 
Rob Doemaarwat

Rob Doemaarwat

14/10/2019 17:54:59
Quote Anchor link
Kijk eens naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
console.log(JSON.stringify(node.data))

Je hebt dan je hele data array (aan de javascript kant) in een (JSON) string. Deze string kun je naar de server doorzetten, en daar kun je dan weer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
print_r(json_decode($_POST['data']));

Alternatief is dat je de hele data als losse velden aan de GET (evt. POST) meegeeft, zie bijvoorbeeld hier.
 
Zwolly Wood

Zwolly Wood

14/10/2019 19:25:45
Quote Anchor link
Alvast bedankt voor de reacties. Éen node omzetten voor invoer naar PHP is mij gelukt. Echter weet ik niet hoe ik meerdere nodes kan bundelen in één string.

Hoe kan ik bijv. de uitkomst van de eerste 'foreach' opslaan in een variabele en weer 'hergebruiken' in de volgende foreach? Doel hiervan is om uiteindelijk alle nodes achter elkaar in een string te krijgen en dan om te zetten naar JSON.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/10/2019 20:16:46
Quote Anchor link
>> Hoe kan ik bijv. de uitkomst van de eerste 'foreach' opslaan in een variabele en weer 'hergebruiken' in de volgende foreach?
Een foreach genereert zelf geen uitkomst. een foreach gaat enkel alle elementen in een array doorlopen.


>> Doel hiervan is om uiteindelijk alle nodes achter elkaar in een string te krijgen en dan om te zetten naar JSON.
Je denkt nog een beetje te ingewikkeld. Je hoeft de array (nodes) niet in een string te zetten. Je knalt in één keer de hele array (alle nodes) in JSON.

Misschien helpt een werkend voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

$players
= [
    [

        'name' => 'Diego Lainez',
        'age' => 17,
        'country' => 'Mexico',
    ],
    [

        'name' => 'Mikel Oyarzabal',
        'age' => 20,
        'country' => 'Spanje',
    ],
    [

        'name' => 'Malcom',
        'age' => 20,
        'country' => 'Brazilië',
    ],
];


$json = json_encode($players);
echo $json . "<br>\n<br>\n";

// nu terug:

$spelers = json_decode($json, true);
foreach($spelers as $speler) {
    echo 'name: ' . $speler['name'] . ', age: ' . $speler['age'] . ', country: ' . $speler['country'] . "<br>\n";
}

?>


In javascript kun je een json-string weer omzetten in een object.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
    <body>

        <p id="demo"></p>

        <script>
            var txt = '[{"name":"Diego Lainez","age":17,"country":"Mexico"},{"name":"Mikel Oyarzabal","age":20,"country":"Spanje"},{"name":"Malcom","age":20,"country":"Brazili\u00eb"}]';
            var obj = JSON.parse(txt);

            for(var i = 0 ; i < obj.length ; i++) {
                document.getElementById("demo").innerHTML += obj[i].name + ' - ' + obj[i].age + ' - ' + obj[i].country + '<br>';
            }
        </script>

    </body>
</html>
Gewijzigd op 14/10/2019 20:26:52 door Frank Nietbelangrijk
 
Rob Doemaarwat

Rob Doemaarwat

14/10/2019 22:14:12
Quote Anchor link
Zwolly Wood op 14/10/2019 19:25:45:
Echter weet ik niet hoe ik meerdere nodes kan bundelen in één string.

Door ze te "verzamelen" in een array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
var nodes = [];
//een node toevoegen
nodes.push(node);
//nog een node toevoegen
nodes.push(node);
//enz
console.log(JSON.stringify(nodes));
 
Zwolly Wood

Zwolly Wood

18/10/2019 16:45:48
Quote Anchor link
Bedankt voor de hulp allemaal
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.