网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

在wordpress中显示来自api的数据

GG网络技术分享 2025-03-18 16:12 2


问题描述:

I have an a rest api, it has medicines and information about each medicine.

api/v1/medicine/

Returns this

{

\"success\": true,

\"data\": [

{

\"medicineId\": 12,

\"medicineName\": \"Abacavir\"

},

{

\"medicineId\": 10,

\"medicineName\": \"Alclometasone\"

},

{

\"medicineId\": 15,

\"medicineName\": \" Alectinib\"

},

{

\"medicineId\": 13,

\"medicineName\": \"Amiloxate\"

}

and

api/v1/medicine/ID

returns info about a medicine

{

\"success\": true,

\"data\": {

\"medicineId\": 16,

\"medicineName\": \" Alendronic acid\",

\"medicineDescription\": \"Alendronic acid is a bisphosphonate that is used for the treatment of some forms of osteoperosis and Paget\'s disease . It functions by preventing resorption of bone \",

\"sideEffects\": \"you may experience whilst taking alendronic acid are stomach pain, indigestion or acid reflux,flatulence or bloating, constipation or diarrhoea and muscle, joint or bone pain.\",

\"chemicalFormula\": \"C4H13NO7P2\",

\"indication\": \"Alendronic acid is indicated for the treatment and prevention of osteoporosis in men and postmenopausal women, treatment of glucocorticoid-induced osteoporosis, and Paget\'s disease of bone. However, alendronic acid is not indicated for use in pediatric populations or patients with a creatinine clearance <35mL/min.\",

\"associatedCondition\": \"Osteogenesis Imperfecta

Osteoporosis

Osteoporosis caused by glucocorticoid

Paget\'s Disease\",

\"alternatives\": [],

\"categories\": [

\"Agents Causing Muscle Toxicity\",

\"Bone Density Conservation Agents\",

\"Bisphosphonates\"

]

},

\"message\": \"Successfully retrieved\"

}

I want to show a list a medicines and when i click on a medicine, it shows a popup with the info about that medicine

All of that inside wordpress

I tried this

<?php

$age = file_get_contents(\'http://link/rest/v1/medicine/\');

$array = json_decode($age, true);

$medicine_names = [];

foreach($array[\'data\'] as $key=>$value)

{

echo ($value[\'medicineName\']). \'<br/>\' ;

}

?>

Which lists the medicines

Any idea how i can achieve that in wordpress?

网友观点:

maybe this help

function getData(string $route): array

{

return json_decode(file_get_contents($route), true);

}

$medicineInfo = [];

foreach(getData(\'http://148.251.195.245:8080/MediHelp/rest/v1/medicine/\')[\'data\'] as $medicine) {

$medicineInfo[$medicine[\'medicineId\']] = getData(

sprintf(\'http://148.251.195.245:8080/MediHelp/rest/v1/medicine/%s\', $medicine[\'medicineId\'])

)[\'data\'];

}

//for example

foreach($medicineInfo as $info): ?>

<a href=\\\"#popup-for-<?= $info[\'medicineId\'] ?>\\\"><?= $info[\'medicineId\'] ?></a>

<!-- popup code -->

<div id=\\\"#popup-for-<?= $info[\'medicineId\'] ?>\\\"><!-- ...$info... --></div>

<?php endforeach ?>

or use ajax for send data to popup

another example

foreach(getData(\'http://148.251.195.245:8080/MediHelp/rest/v1/medicine/\')[\'data\'] as $medicine) {

$info = getData(

sprintf(\'http://148.251.195.245:8080/MediHelp/rest/v1/medicine/%s\', $medicine[\'medicineId\'])

)[\'data\'];?>

<a href=\\\"#popup-for-<?= $info[\'medicineId\'] ?>\\\"><?= $info[\'medicineId\'] ?></a>

<!-- popup code -->

<div id=\\\"#popup-for-<?= $info[\'medicineId\'] ?>\\\"><!-- ...$info... --></div>

<?php } ?>

标签:

提交需求或反馈

Demand feedback