需要一些指導。我已經在Wordpress中建立了一個排球俱樂部網站,我們已經請求了我在Google表單/電子表格中捕獲的球員個人資料數據,保存爲.csv,然後導入到名爲「個人資料」的自定義表格中。 http://goo.gl/05tu3O顯示匹配WP的數據庫表格行post-id
我試圖添加代碼到播放器模板文件來顯示基於WP post-id匹配的html表中的數據。 http://goo.gl/5bvwzV
我確定了所有播放器頁面post-id,並將它們包含在名爲「post_id」的表的第一列中,並將其設置爲Primary。目標是,例如,如果您打開一個帶有postid-1566的播放器頁面,則應顯示post_id爲1566的配置文件表格中的行。
因爲SELECT *查詢,我現在得到了所有人的配置文件數據。我試圖將查詢的語法更改爲DISTINCT,以便查找配置文件表中具有與您所在的播放器頁面相同的post-id號碼的特定行。
<?php
global $wpdb;
// $result = $wpdb->get_results($wpdb->prepare ("SELECT DISTINCT $wpdb->posts.ID FROM $wpdb->profiles"));
$result = $wpdb->get_results($wpdb->prepare ("SELECT * FROM profiles"));
foreach ($result as $print) {
echo '<h6>Playing Experience </h6><p>' . $print->PlayingExperience.'</p>';
echo '<h6>Previous Clubs </h6><p>' . $print->PreviousClubs.'</p>';
echo '<h6>Athletic Awards & Accolades</h6><p>' . $print->AwardsAccolades.'</p>';
echo '<h6>Fondest Volleyball Memory</h6><p>' . $print->FondestMemory.'</p>';
echo '<h6>Best Finish</h6><p>' . $print->BestFinish.'</p>';
echo '<h6>Online Video</h6><p>' . $print->OnlineVideo.'</p>';
echo '<h3>Profile Details</h3>';
// echo '[content_protector password="xxxxxxx" cookie_expires="0" identifier="xxx"]';
// echo '[content_protector password="xxxxxxx" cookie_expires="0" identifier="xxx"]';
// In case there is opening and closing shortcode.
// echo do_shortcode('[content_protector password="xxxxxxx" cookie_expires="0" identifier="xxx"] Private Info [/content_protector]');
echo do_shortcode('[content_protector password="xxxxxxx" cookie_expires="0" identifier="xxx"]');
echo '<h2>' . $print->FirstName.' ' . $print->LastName.' </h2>';
echo '<table class="profile center">';
echo '<tr><td>Team </td><td>' . $print->Team.'</td></tr>';
echo '<tr><td>First Name </td><td>' . $print->FirstName.'</td></tr>';
echo '<tr><td>Nickname </td><td>' . $print->Nickname.'</td></tr>';
echo '<tr><td>Middle Name </td><td>' . $print->MiddleName.'</td></tr>';
echo '<tr><td>Last Name </td><td>' . $print->LastName.'</td></tr>';
echo '<tr><td>Height </td><td>' . $print->Height.'</td></tr>';
echo '<tr><td>Position </td><td>' . $print->Position.'</td></tr>';
echo '<tr><td>Birthday </td><td>' . $print->Birthday.'</td></tr>';
echo '<tr><td>School </td><td>' . $print->School.'</td></tr>';
echo '<tr><td>Grade </td><td>' . $print->Grade.'</td></tr>';
echo '<tr><td>Class </td><td>' . $print->Class.'</td></tr>';
echo '<tr><td>Commitment </td><td>' . $print->Commitment.'</td></tr>';
echo '<tr><td>Standing Reach </td><td>' . $print->Reach.'</td></tr>';
echo '<tr><td>Block Touch </td><td>' . $print->Block.'</td></tr>';
echo '<tr><td>Approach Jump </td><td>' . $print->Approach.'</td></tr>';
echo '<tr><td>GPA (Unweighted) </td><td>' . $print->GPA_Unweighted.'</td></tr>';
echo '<tr><td>GPA (Weighted) </td><td>' . $print->GPA_Weighted.'</td></tr>';
echo '<tr><td>Class Rank </td><td>' . $print->ClassRank.'</td></tr>';
echo '<tr><td>ACT Scores </td><td>' . $print->ACT_Score.'</td></tr>';
echo '<tr><td>SAT Scores </td><td>' . $print->SAT_Score.'</td></tr>';
echo '<tr><td>Parents/Guardians </td><td>' . $print->Parents.'</td></tr>';
echo '<tr><td>Parent 1 Email </td><td>' . $print->ParentEmail1.'</td></tr>';
echo '<tr><td>Parent 2 Email </td><td>' . $print->ParentEmail2.'</td></tr>';
echo '<tr><td>Address </td><td>' . $print->Address.'</td></tr>';
echo '<tr><td>City, State, Zip </td><td>' . $print->City.', ' . $print->State.', ' . $print->Zip.'</td></tr>';
echo '<tr><td>Your Cell # </td><td>' . $print->YourCell.'</td></tr>';
echo '<tr><td>Parent 1 Cell # </td><td>' . $print->ParentCell1.'</td></tr>';
echo '<tr><td>Parent 2 Cell # </td><td>' . $print->ParentCell2.'</td></tr>';
echo '<tr><td>Home Phone </td><td>' . $print->HomePhone.'</td></tr>';
echo '<tr><td>Interest in Beach Volleyball? </td><td>' . $print->BeachInterest.'</td></tr>';
echo '<tr><td>Beach Volleyball experience? </td><td>' . $print->BeachExperience.'</td></tr>';
echo '<tr><td>Next ACT/SAT date </td><td>' . $print->NextACTSATdate.'</td></tr>';
echo '<tr><td>Favorite Subjects </td><td>' . $print->FavoriteSubjects.'</td></tr>';
echo '<tr><td>Desired Area of Study </td><td>' . $print->DesiredMajor.'</td></tr>';
echo '<tr><td>Desired Level of Play </td><td>' . $print->DesiredPlayingLevel.'</td></tr>';
echo '<tr><td>State of College Preference </td><td>' . $print->CollegePreference.'</td></tr>';
echo '<tr><td>Size of School </td><td>' . $print->SchoolSize.'</td></tr>';
echo '<tr><td>Contacting schools? </td><td>' . $print->ContactingSchools.'</td></tr>';
echo '</table>';
// echo '[/content_protector]';
echo do_shortcode('[/content_protector]');
}
?>
不知道如果我接近這個最好的方式,但感覺我很接近。我認爲解決方案是在這個例子的某個地方,但我無法讓它工作。
$result = $wpdb->get_row($wpdb->prepare ("SELECT DISTINCT $wpdb->posts.ID FROM $wpdb->profiles WHERE post_id = $postid"));
還無法執行「content_protector」簡碼的結束標記。我可以從do_shortcode開始,但過去的所有內容都需要在[/ content_protector]中,並且無法將該行的後半部分添加到底部。有什麼建議麼?有沒有辦法在短代碼之間嵌套一切?
非常感謝您的任何建議!
當您通過發帖ID限制結果時,爲什麼需要DISTINCT?帖子ID在個人資料表中不唯一嗎?換句話說,'SELECT * FROM profiles WHERE post_id = $ postid'是否返回多於一條記錄? –
只是在嘗試不同的東西。是的,發帖ID是唯一的......每個玩家只有一行。頁面仍然使用這個呈現,但不返回任何內容。 Thx雖然! –
@devlin,你是對的......我只需要添加$ postid = get_the_ID();到頂部,它的作品!嗚呼! 現在我只需要結束content_protector短代碼工作,所以我可以通過密碼隱藏這些個人數據。有任何想法嗎? –