web-dev-qa-db-ja.com

に追加されたカスタムテーブルからユーザー固有のデータの行を呼び出す方法 WP データベース

私は自分の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.
1
DigitalDesigner

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; ?>

私は、コミュニティの何人かがこれが役に立つことを願っています。そして、この回答に対する私の編集は、将来この記事に遭遇した人々のためにより詳細に書かれています。

1
DigitalDesigner