数组变为空,因为我无法使用 get_file_content

问题描述

我无法使用 woocommerce rest api 在我的产品列表中看到我选择的产品的详细信息 主要问题是我写产品的id的时候,我看到的是json,但是我想把它包含在一个数组中的时候就出现了问题。 主要问题是我无法使用get_file_content 将产品id 发送到single_product_connect.PHP,所以它显示$ data 数组为空

表单代码

<form action="single_product.PHP" name="update" method="get">
<td><input type="submit" name="edit"id="edit" value="<?= $row['id']; ?>"/></td></form>

single_product.PHP 代码

<?PHP  
$data = file_get_contents('http://localhost/api-woocommerce/single_product_connect.PHP');
$data = json_decode($data,true);
?>
<?PHP foreach ( $data as $row ) : ?>
<?= $row['id']; ?>
<?= $row['name']; ?>    //I wrote a small piece for testing
<?PHP endforeach; ?>

single_product_connect.PHP 代码

<?PHP $product_id = $_GET['edit'];?>
<?PHP echo json_encode($woocommerce->get("products/{$product_id}",$data)); ?>

错误画面; 警告:第 19 行的 C:\xampp\htdocs\api-woocommerce\single_product.PHP 中为 foreach() 提供的参数无效////第 19 行的代码

<?PHP foreach ( $data as $row ) : ?>

解决方法

当您使用 file_get_contents 获取带有 http 的 single_product_connect.php 时,如果您将查询参数连接到您的 url,您可以将“edit”作为参数传递。

试试这个改变:

$id = /*some id*/;
$data = file_get_contents('http://localhost/api-woocommerce/single_product_connect.php?edit='.$id);