Hallo,

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.

							$sqlx = "SELECT 
					order_id,		
					start_date,
					full_name,
					phone,
					email,
					total,
					details,
					city,
					postcode,
					street, 
                    custom_fields,
					status
					FROM 
					`food_point` 
					WHERE  (start_date BETWEEN DATE_FORMAT(CURDATE(), '%m-01-%Y') AND DATE_ADD(start_date, INTERVAL 1 MONTH)  )	
					and status is NULL or status in (1,2,3) order by start_date";
            }

            if ($resultx = mysqli_query($link, $sqlx)) {
            while ($objx = mysqli_fetch_object($resultx)) {
                $arrx[] = $objx;
            }
            foreach ($arrx

            as $obj) {
            ?>


Wacht even? Is die JSON-string onderdeel van een custom_field?
Waarom heb je dan gewoon een veld met de naam street in je database?
die losse velden van naam etc moeten weg, daarvoor moet custom_fields in de plaats komen.
Met welke reden? Je wilt je database toch niet gaan de-normaliseren door alles in een apart veld met eigen formaat (in dit geval JSON) te gieten?
De gene die de wordpress website maakt, heeft custom_fields isgesteld om straatnaam etc intevullen. Dus nu was mijn taak om die data in het keuken systeem te bouwen. De preciese reden waarom hij dat heeft gedaan weet ik niet.
Ik zou eerst eens kijken of je invloed kan uitoefenen om dit op betere manier op te slaan. Misschien met een betere add-on, een aanpassing aan de huidige.

Want als je straks data wilt aanpassen of uitlezen, buiten WordPress om, dan wordt het een hele toer, omdat het nog eens in JSON verpakt zit.

De beste manier hoe custom-field zou moeten werken is:
- Een tabel die de velden beschrijft
- Een tabel die de data bevat, met een uniek nummer
- Een koppeltabel die de data met de velden koppelt, met een koppeling van de gebruikersID.

Ik kan zelf daar niet aan zitten/komen, dat het dan een goede word om het later aan te passen is voor hun een zorg voor later, het gaat ze er nu om dat het erin zit.

$data = '[{"id":90047,"value":""},{"id":41971,"value":""},{"id":54178,"value":""},{"id":64308,"value":""}]';
En alles wat je hier in zet word rouwe tekst of kan je daar ook in zetten dat hij iets uit de database moet ophalen?
Slordig gebouwd dus... :-P

Here you go...


<?php
if ($resultx = mysqli_query($link, $sqlx)) {
	$data= mysqli_fetch_assoc($resultx));
	$json = json_decode($data['custom_fields'],true);
	echo "Adres is: ".$json[0]['value'];
}
?>
Ja klopt, het is niet het beste haha

Maar jou stukje code showt nog geen adres gegevens.
Dat is vreemd.
- Kijk eerst eens of de query wordt uitgevoerd
- Kijk eens wat er in $data zit met print_r()
- Kijk eens wat er in $json zit met print_r()

Dan moet je meer weten wat er mis gaat.

Reageren