id selecteren om data te laten zien
Ik heb een custom_fields plugin op mijn wordpress website, en alle data die daarin word ingevuld komt in mijn database terrecht.
Nu zou ik graag die data op een andere website willen laten zien die wel in die zelfde database zit.
Alleen aan die data zit een ID met daarin de value.
[{"id":90047,"value":"Straatnaam"},{"id":41971,"value":"Postcode"},{"id":54178,"value":"Plaats"},{"id":64308,"value":"Radio button"}]
Hoe kan ik wat er in de value staat laten displayen door zijn ID te selecteren?
Want als ID: 90047 is moet hij de straatnaam weergeven van de klant,
Als ID: 41971 is moet hij de postcode van de klant weergeven,
Als ID: 54178 is moet hij de plaatsnaam van de klant weergeven
En als ID: 64308 is moet hij weer geven wat de klant heeft aangevinkt in de checkbox.
Gewijzigd op 15/12/2020 10:03:18 door - Ariën -
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$data = '[{"id":90047,"value":"Straatnaam"},{"id":41971,"value":"Postcode"},{"id":54178,"value":"Plaats"},{"id":64308,"value":"Radio button"}]';
$json = json_decode($data,true);
print_r($json);
?>
$data = '[{"id":90047,"value":"Straatnaam"},{"id":41971,"value":"Postcode"},{"id":54178,"value":"Plaats"},{"id":64308,"value":"Radio button"}]';
$json = json_decode($data,true);
print_r($json);
?>
Output:
Code (php)
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
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
Array
(
[0] => Array
(
[id] => 90047
[value] => Straatnaam
)
[1] => Array
(
[id] => 41971
[value] => Postcode
)
[2] => Array
(
[id] => 54178
[value] => Plaats
)
[3] => Array
(
[id] => 64308
[value] => Radio button
)
)
(
[0] => Array
(
[id] => 90047
[value] => Straatnaam
)
[1] => Array
(
[id] => 41971
[value] => Postcode
)
[2] => Array
(
[id] => 54178
[value] => Plaats
)
[3] => Array
(
[id] => 64308
[value] => Radio button
)
)
Kijk maar:
https://3v4l.org/SbcoI
Je zult dus met een foreach door $json moeten lopen om de values op te kunnen halen.
Ik denk dat je het zo wel redt? ;-)
Gewijzigd op 09/12/2020 14:37:22 door - Ariën -
Bedankt voor je stuk code ik zal het even proberen toe te passen.
Gewijzigd op 09/12/2020 15:01:02 door - Ariën -
Dan is foreach wel voldoende. Binnen Wordpress zou je een functie moeten aanmaken omdat je geen PHP-logica in je template/thema's wilt verwerken.
Persoonlijk vind ik het wel jammer dat de data zo wordt opgeslagen. maar als je daar geen invloed kan uitoefenen moet je nou eenmaal roeien met de riemen die je hebt.
Gewijzigd op 09/12/2020 15:05:41 door - Ariën -
aan die zelfde database zit een php website die die bestellingen uit die database haalt en toont.
En daar moeten de straatnaam etc. nu in komen te staan die via een custom field worden ingevuld. En die uitkomst komt ook in de database terecht alleen dan met id's en value's.
En dan moet ik dus die value's zien te displayen op mijn php website.
Gewijzigd op 09/12/2020 15:09:55 door marvin groothuis
Dat kan prima op mijn genoemde manier. Ik denk dat het met foreach wel lukt?
Ik heb zelf nog weinig tot geen ervaring daarmee, dus ik zou wat uitzoek werk moeten doen haha.
Code (php)
Dit geeft:
Daarom dacht ik ook misschien kan je iets met ID selecteren dat als het id bijvoorbeeld 2 is dat dan de achternaam van een klant word weergeven.
Gewijzigd op 09/12/2020 16:24:26 door marvin groothuis
Dus je zult zo te zien twee tabellen met elkaar moeten verbinden via een JOIN. Dan is het netjes als je met een functie de data op kan halen van een bepaalde klant.
Gewijzigd op 10/12/2020 08:41:09 door marvin groothuis
Is er ook een optie om data te filteren dat uit de column komt?
Bijvoorbeeld: Er staat nu voluit [{"id":90047,"value":"straatnaam van klant"}, en niet alleen de straat naam.
Iemand enig idee hoe ik alleen de straatnaam kan laten displayen?
Gewijzigd op 14/12/2020 09:26:53 door marvin groothuis
Exploden op : ?
Hoe bedoel je exploden op :
Ik dacht dat dat value letterlijk de waarde was.
Al gekeken naar json_decode()?
Ik heb er wel naar gekeken, maar word er niet veel wijzer van.
Gaat het om één of meerdere adressen?
Het is een bestel systeem dus er zijn altijd andere adressen
$json[0]['value'];
PHP begint met tellen bij 0, dus de straat is het eerste element.
Ik neem aan dat dit niet bij andere gebruikers anders is.
Gewijzigd op 14/12/2020 12:45:14 door - Ariën -
Nee als het goed is moet dat bij alle gebruikers dan het zelfde zijn, net zoals met postcode etc
Dat is dan mooi!