Python data naar PHP array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Chris van Kesteren

Chris van Kesteren

11/01/2016 10:21:36
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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
Gewijzigd op 11/01/2016 10:22:07 door Chris van Kesteren
 
PHP hulp

PHP hulp

14/11/2024 18:42:30
 
- Ariën  -
Beheerder

- Ariën -

11/01/2016 10:35:36
Quote Anchor link
Kan je het niet beter in een JSON-string opslaan? Dit kan zeker met Python:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
import json
d = {
    'first_name': 'Pietje',
    'second_name': 'Puk',
    'titles': ['BOFH', 'Ontwikkelaar', 'Toetsenbordschoonmaker'],
}

print(json.dumps(d))


en dat geeft:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
{"first_name": "Pietje", "second_name": "Puk", "titles": ["BOFH", "Ontwikkelaar", "Toetsenbordschoonmaker"]}



Zo kan je deze in PHP weer terugvormen naar een array met json_decode.
Gewijzigd op 11/01/2016 11:10:30 door - Ariën -
 
Chris van Kesteren

Chris van Kesteren

11/01/2016 11:14:33
Quote Anchor link
Thanks voor de uitlegt!
Het werkt nu ;)

Toevoeging op 11/01/2016 12:19:29:

Newbie vraagje

Ik heb je scriptje in een loop gezet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
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?

Toevoeging op 11/01/2016 15:54:04:

Chris van Kesteren op 11/01/2016 11:14:33:
Thanks voor de uitlegt!
Het werkt nu ;)

Toevoeging op 11/01/2016 12:19:29:

Newbie vraagje

Ik heb je scriptje in een loop gezet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
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))
 



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.