ホームページ >バックエンド開発 >PHPチュートリアル >Baidu Wenxin Yiyan API への PHP 接続を実装してランダムなステートメントを取得し、ページに表示する方法

Baidu Wenxin Yiyan API への PHP 接続を実装してランダムなステートメントを取得し、ページに表示する方法

WBOY
WBOYオリジナル
2023-08-25 21:36:311019ブラウズ

Baidu Wenxin Yiyan API への PHP 接続を実装してランダムなステートメントを取得し、ページに表示する方法

PHP が Baidu Wenxin Yiyan API に接続してランダムなステートメントを取得し、ページに表示する方法

  1. はじめに
    Baidu Wenxin Yiyan は API を提供しますランダム ステートメント用のインターフェイス PHP を使用して API に接続し、ランダム ステートメントを取得し、ページに表示できます。この記事では、PHP を使用して Baidu Wenxin Yiyan API に接続し、コード例と組み合わせてランダ​​ムなステートメントのページング表示を実現する方法を紹介します。
  2. API キーの取得
    まず、Baidu Wenxinyiyan の公式 Web サイトで開発者アカウントを登録し、API キーを取得する必要があります。登録が完了したら、アカウントにログインし、パーソナル センターで API キーを見つけて、後で使用するためにそのキーをコピーします。
  3. API の接続
    PHP のcurl 関数を使用して、Baidu Wenxin Yiyan API に接続します。以下は、API に接続するためのコード例です:
<?php
$api_url = 'https://api.bingstudio.cn/wenxin/yiyan';
$api_key = 'your_api_key'; // 替换成你的API密钥

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $api_url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTPHEADER => array(
    'X-Api-Key: ' . $api_key
  )
));

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo 'API连接错误: ' . $error;
  exit;
}

$data = json_decode($response, true);

if ($data['code'] !== 0) {
  echo 'API返回错误: ' . $data['msg'];
  exit;
}

$quote = $data['data']['content'];
$author = $data['data']['author'];

echo '随机语句:' . $quote;
echo '作者:' . $author;
?>
  1. Paging display
    次に、ページ内にランダムなステートメントを表示する機能を実装する必要があります。 PHP のページング クラスを使用してページング ロジックを処理できます。次はコード例です:
<?php
class Pager {
    private $total;            // 总记录数
    private $pageSize;         // 每页显示的记录数
    private $pageNum;          // 当前页码
    private $totalPages;       // 总页数
    private $start;            // 当前页在数据库中的起始位置
    private $conn;             // 数据库连接对象

    // 构造方法,初始化分页类对象
    function __construct($total, $pageSize, $conn) {
        $this->total = $total;
        $this->pageSize = $pageSize;
        $this->totalPages = ceil($this->total / $this->pageSize);
        $this->conn = $conn;
        $this->getPageNum();
        $this->getStart();
    }

    // 获取当前页码
    function getPageNum() {
        $pageParam = isset($_GET['page']) ? intval($_GET['page']) : 1;
        if ($pageParam < 1) {
            $this->pageNum = 1;
        } elseif ($pageParam > $this->totalPages) {
            $this->pageNum = $this->totalPages;
        } else {
            $this->pageNum = $pageParam;
        }
    }

    // 获取当前页的起始位置
    function getStart() {
        $this->start = ($this->pageNum - 1) * $this->pageSize;
    }

    // 获取分页数据
    function getPagerData($sql) {
        $sql = $sql . " LIMIT $this->start, $this->pageSize";
        $result = $this->conn->query($sql);
        return $result;
    }

    // 生成分页链接
    function generateLinks($url) {
        $links = '';
        if ($this->pageNum > 1) {
            $prev = $this->pageNum - 1;
            $links .= "<a href='$url?page=$prev'>上一页</a>";
        }

        if ($this->pageNum < $this->totalPages) {
            $next = $this->pageNum + 1;
            $links .= "<a href='$url?page=$next'>下一页</a>";
        }

        return $links;
    }
}

// 使用示例
$servername = 'localhost';
$username = 'your_username';
$password = 'your_password';
$dbname = 'your_database';

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die('数据库连接失败: ' . $conn->connect_error);
}

// 查询总记录数
$totalRows = $conn->query('SELECT count(*) as count FROM table')->fetch_assoc()['count'];

// 每页显示5条记录
$pageSize = 5;

// 创建分页对象
$pager = new Pager($totalRows, $pageSize, $conn);

// 查询当前页的数据
$sql = 'SELECT * FROM table';
$result = $pager->getPagerData($sql);

// 显示分页数据
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo $row['content'] . '<br>';
    }
} else {
    echo '没有数据';
}

// 生成分页链接并显示
$url = $_SERVER['PHP_SELF'];
echo $pager->generateLinks($url);

// 关闭数据库连接
$conn->close();
?>

上記のコード例はデータベースからページング データを取得し、実際のニーズに応じて変更できます。同時に、Web デザインに合わせてページネーション スタイルやリンク フォームを自由に定義できます。

  1. 結論
    Baidu Wenxin Yiyan API に接続することで、ランダムな文章を簡単に取得してページング表示することができます。この記事が、PHP を使用して API に接続し、ページング表示を実装する方法を理解するのに役立つことを願っています。コード例やアイデアを紹介することで、実際のプロジェクトで柔軟に活用していただけると思います。

以上がBaidu Wenxin Yiyan API への PHP 接続を実装してランダムなステートメントを取得し、ページに表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。