私はSQLでかなり初心者ですが、これについてはかなり確信していますが、これは動作すると思われますが、そうではありません! :-)スクリプトはとても簡単ですが、まずそれを記述する必要があります。SQL - 条件付きWHERE
教師データ(wp_user)と生徒データ(wp_results)を持つテーブルが1つあります。
これらの2つのテーブルには、1つの識別子があります。私がしようとしていることは簡単な仕事です - 先生に同じ学校IDを持つすべての生徒に表示してください。
$teacher = wp_get_current_user();
global $wpdb;
$get_student = "SELECT
wp_results.WORLDPLACE,wp_results.EUPLACE,wp_results.CZPLACE
FROM wp_results
WHERE wp_results.SCHOOLID = $teacher->schoolid";
$results_of_teachers_students = $wpdb->get_results($get_student);
echo $results_of_teachers_students;
foreach ($results_of_teachers_students as $value){
echo '<tr><td>'.$value->WORLDPLACE.'</td>';
echo '<tr><td>'.$value->EUPLACE.'</td>';
echo '<tr><td>'.$value->CZPLACE.'</td>';
}
これらの2行のコードは、教師のスクールIDを取得して表示します。
$teacher = wp_get_current_user();
echo $teacher->schoolid;
これは言う: "wp_results" というテーブルからWORLDPLACE、EUPLACEとCZPLACEを選択しても教師のschoold idは(このIDを変数として格納されている)wp_resultsからschoolidに等しい場合にのみ。
global $wpdb;
$get_student = ("SELECT
wp_results.WORLDPLACE,wp_results.EUPLACE,wp_results.CZPLACE FROM
wp_results WHERE wp_results.SCHOOLID = $teacher->schoolid");
残りのコードはかなり明確です。すべてのデータを変数に格納し、テーブルとして出力します。
$results_of_teachers_students = $wpdb->get_results($get_student);
foreach ($results_of_teachers_students as $value){
echo '<tr><td>'.$value->WORLDPLACE.'</td>';
echo '<tr><td>'.$value->EUPLACE.'</td>';
echo '<tr><td>'.$value->CZPLACE.'</td>';
しかし、結果は得られません。私が何をしていないか見ていますか? wp_resultsテーブルの
表現:-)あなたの助けのために事前にありがとうございます:-):wp_usersテーブルの
SCHOOLID WORLDPLACE EUPLACE CZPLACE FIRSTNAME LASTNAME EMAIL
表現:
ID user_login user_pass user_nicename user_email user_url user_registered user_activation_key user_status display_name
あなたが見ることができるように、そこにWP_usersテーブルで「SCHOOLID」列はありません。この学校IDはwp_usermetaにありますが、変数として呼び出すことができるので気にします:
$teacher = wp_get_current_user();
echo $teacher->schoolid;
ご協力いただきありがとうございます。
'ますecho $ get_student'を返しますか? – panther
それは文字列として全体のクエリを返します:O –
私は知っているはずです。期待どおりの変数/値はありますか? mysqli_errorはどうですか? 'wp_results'テーブル構造体とは何ですか? – panther