gpt4 book ai didi

java - 如何使用 PHP 脚本和 JSON 从 MySQL 获取数据并将其存储到 Java 程序

转载 作者:行者123 更新时间:2023-11-30 00:54:35 24 4
gpt4 key购买 nike

我想创建 Java 应用程序,它将从 MySQL 接收数据并将其存储到列表中,但对于开始存储到 JTextArea 就可以了。

我在本地主机上有一个包含表的数据库,以及 PHP 脚本,当它被激活时,它会从表“orders”获取数据并以 JSON 格式返回数据。

<?php
/*
* Following code will list all orders
*/

// array for JSON response
$response = array();

// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

// get all products from orders table
$result = mysql_query("SELECT* FROM orders") or die(mysql_error());

// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["orders"] = array();

while ($row = mysql_fetch_array($result)) {
// temp user array
$order = array();
$order["id"] = $row["id"];
$order["tablle"] = $row["tablle"];
$order["drink"] = $row["drink"];
$order["created_at"] = $result["created_at"];

// push single product into final response array
array_push($response["orders"], $order);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);
} else {
// no products found
$response["success"] = 0;
$response["message"] = "No products found";

// echo no users JSON
echo json_encode($response);;
}
?>

当我在本地主机上测试它时,它工作正常,但我不知道如何从 java 调用这个 php 脚本并获取 JSON 格式的文本并将其存储在 Java 中的 JTextArea 中。

我对 JSON 不太了解。抱歉,这里是菜鸟。

Java 类:

package newpackage;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Prozor extends JFrame implements ActionListener{

JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
JTextArea ta = new JTextArea();
JButton dugme = new JButton("Get data");

public Prozor(){
this.setBounds(500, 200, 500, 500);
this.setTitle("naslov");
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(panel, BorderLayout.NORTH);
this.getContentPane().add(panel2, BorderLayout.SOUTH);

panel.setLayout(new FlowLayout(FlowLayout.CENTER));
panel2.setLayout(new FlowLayout(FlowLayout.CENTER));

ta.setPreferredSize(new Dimension(450,400));
panel.add(ta);
panel2.add(dugme);

dugme.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(dugme)) {

}
}

public static void main(String[] args) {
Prozor p = new Prozor();
p.setVisible(true);
}
}

最佳答案

您必须做的一些事情。

  1. 从 Java 调用 php 脚本

    为此,您需要知道脚本的 URL 是什么,其中包括协议(protocol)端口主机路径。换句话说,类似于:http://localhost:8000/orders.php。获得 URL 后,您需要 make an HTTP request到它。

  2. 将响应解析为 JSON 数据结构。

    您可以使用现有的库来完成此操作,例如 Jackson

  3. 使用 JSONObject 填充您的 UI

    弄清楚您希望如何显示数据并在 JTextArea 上调用 setText

关于java - 如何使用 PHP 脚本和 JSON 从 MySQL 获取数据并将其存储到 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com