Goedemorgen,

Ik probeer data gegenereed in Python op te slaan in een php array... maar krijg nu alleen het laatste stukje..

Dit is wat ik nu heb:

<?php
$command = "/usr/bin/python /home/user/plattegrond/query/querytopdesk.py 2>&1";
$pid = popen( $command,"r");
while( !feof( $pid ) )
{
 echo fread($pid, 256);
 // $array= $pid; alleen laatste stuk..
 flush();
 ob_flush();
 usleep(100000);
}
pclose($pid);
?>


Iemand een idee hoe ik dit beter kan aanpakken?

Met vriendelijke groet,
Chris
Kan je het niet beter in een JSON-string opslaan? Dit kan zeker met Python:


import json
d = {
    'first_name': 'Pietje',
    'second_name': 'Puk',
    'titles': ['BOFH', 'Ontwikkelaar', 'Toetsenbordschoonmaker'],
}

print(json.dumps(d))


en dat geeft:

{"first_name": "Pietje", "second_name": "Puk", "titles": ["BOFH", "Ontwikkelaar", "Toetsenbordschoonmaker"]}



Zo kan je deze in PHP weer terugvormen naar een array met [php]json_decode[/php].

Thanks voor de uitlegt!
Het werkt nu ;)

[size=xsmall]Toevoeging op 11/01/2016 12:19:29:[/size]

Newbie vraagje

Ik heb je scriptje in een loop gezet:

 for obj in obj_data:
            d = {
                'lokatie': obj["lokatie"],
                'id': obj["id"],
                'soort': obj["soort"],
                'merk': obj["merk"],
                'type': obj["type"],
                'ordernummer': obj["specificatie"],
                'serienummer': obj["serienummer"]
            }
 print(json.dumps(d))


Ouput wordt: { "data" } { "data" } { "data" } etc.. Hoe kan ik een komma er tussen plaatsen :P?

[size=xsmall]Toevoeging op 11/01/2016 15:54:04:[/size]

Chris van Kesteren op 11/01/2016 11:14:33

Thanks voor de uitlegt!
Het werkt nu ;)

[size=xsmall]Toevoeging op 11/01/2016 12:19:29:[/size]

Newbie vraagje

Ik heb je scriptje in een loop gezet:

 for obj in obj_data:
            d = {
                'lokatie': obj["lokatie"],
                'id': obj["id"],
                'soort': obj["soort"],
                'merk': obj["merk"],
                'type': obj["type"],
                'ordernummer': obj["specificatie"],
                'serienummer': obj["serienummer"]
            }
 print(json.dumps(d))


Ouput wordt: { "data" } { "data" } { "data" } etc.. Hoe kan ik een komma er tussen plaatsen :P?


FIXED

response = []
        for obj in obj_data:
            response.append({
                'lokatie': obj["lokatie"],
                'id': obj["id"],
                'soort': obj["soort"],
                'merk': obj["merk"],
                'type': obj["type"],
                'ordernummer': obj["specificatie"],
                'serienummer': obj["serienummer"]
            })      
        print(json.dumps(response))


Reageren