私は自分のWordPressサイトをセットアップし、テーマといくつかのプラグインをカスタマイズしました。また、WordPressデータベースにユーザー固有の情報を含むカスタムテーブルを追加しました。
特定のユーザーに対して、テーブル内の単一行ですべてを呼び出したい。
私はすべてのechoステートメントをその行の特定のcolumn要素に設定しましたが、最初のphpでは情報を取得するのが困難です。何を試しても、クエリが失敗し続けます。
現在、私はこれまでのところそれをしましたが、情報を正しくロードするためにまだいくつか問題があります。任意の洞察力をいただければ幸いです。 :)
<?php
$servername = "localhost";
$username = "DBusername";
$password = "DBpassword";
$database = "DBname";
// Create connection
$conn = new mysqli($servername, $username, $password);
$db_selected = mysqli_select_db($conn, $database);
$userid = $current_user->user_login;
$sql = "SELECT * FROM 'member-status' WHERE 'Card' = '$userid'";
$result = mysqli_query($conn, $sql);
if ($result) {
list($userid) = mysqli_fetch_array(mysqli_query($result));
} else {
echo "query failed";
}
if (mysqli_connect_errno($conn))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
アップデート#1
私はもう少し研究を重ねてからコードの調整を始めて、コードを少し片付けることにしました。以前は接続エラーが発生していませんが、まだ情報をロードしていません。どんな洞察でも感謝するでしょう、ここに改訂されたコードがあります。
<?php global $current_user;
wp_get_current_user(); ?>
<?php
$mydb = new wpdb('user','pwrd','db','localhost');
$mydb->show_errors();
$userid = $current_user->user_login;
$query = "SELECT * FROM member_status WHERE CARD = $userid";
$ result = $ mydb-> get_results($ query); ?>
<ul>
<li>LAST</li>
<li><?php echo $result["Last"]; ?></li> //need help with this line
</ul>
あなたの洞察力を事前にありがとう。 :)
更新#2の問題が解決された
問題を解決したことをお知らせいたします。このタスクを達成したいと思っている他の誰にとっても、ここで私が使用した実用的なコードです。
<?php global $current_user;
wp_get_current_user(); ?>
<?php
// $mydb = new wpdb('username','password','database','localhost');
//$mydb->show_errors();
$userid = $current_user->user_login;
$result = $wpdb->get_results( "SELECT * FROM member_status WHERE CARD = $userid");
// $query = "SELECT * FROM member_status WHERE CARD = $userid";
// $result = $mydb->get_results($query);
?>
<?php foreach ( $result as $query ) {?>
次に、個々のフィールド/列データを呼び出すために、このコードを配置したい場所にこのコードを追加します。
<?php echo $query->ColumnName; ?> //Change ColumnName to the column you want to call from.
WordPressコーデックスとさまざまなフォーラム投稿やチュートリアルによる長い時間の研究の後。これが私の現在の問題に対する解決策です。
まず、現在ログインしているユーザーを呼び出すことから始めました。
<?php global $current_user;
wp_get_current_user(); ?>
そこから私はデータベースに接続しました。 WordPressデータベース内にテーブルを追加したので、グローバルステートメントを使用してデータベーステーブルと選択したい情報を選択し、クエリ用に準備しました。
<?php global $wpdb;
$userid = $current_user->user_login;
$result = $wpdb->get_results( "SELECT * FROM custom_table WHERE CARD = $userid");
// $query = "SELECT * FROM custom_table WHERE CARD = $userid";
// $result = $wpdb->get_results($query);
?>
<?php foreach ( $result as $query ) {?>
それから、特定のユーザの個々のフィールド/カラムデータを呼び出すために、私は自分のWebページに追加したいcustom_tableのカラムのさまざまなクエリを単にエコーしました。
<?php echo $query->ColumnName; ?>
私は、コミュニティの何人かがこれが役に立つことを願っています。そして、この回答に対する私の編集は、将来この記事に遭遇した人々のためにより詳細に書かれています。