Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在html表中显示与WP post id匹配的db表行_Php_Html_Mysql_Database_Wordpress - Fatal编程技术网

Php 在html表中显示与WP post id匹配的db表行

Php 在html表中显示与WP post id匹配的db表行,php,html,mysql,database,wordpress,Php,Html,Mysql,Database,Wordpress,需要一些指导。我在Wordpress([)中建立了一个排球俱乐部网站,我们从家长那里收集了球员档案数据,我将这些数据保存在谷歌表单/电子表格中,保存为.csv,然后导入到“档案”表中 我正在向播放器模板文件添加一些代码,这些代码将根据WP post-id的匹配在html表中显示数据。我确定了所有播放器的post-id,并将它们包含在“profiles”表的第一列,称为“post_-id”,并将其设置为主。因此,如果您打开一个具有postid-1566的播放器页面,则应显示post_id为1566

需要一些指导。我在Wordpress([)中建立了一个排球俱乐部网站,我们从家长那里收集了球员档案数据,我将这些数据保存在谷歌表单/电子表格中,保存为.csv,然后导入到“档案”表中

我正在向播放器模板文件添加一些代码,这些代码将根据WP post-id的匹配在html表中显示数据。我确定了所有播放器的post-id,并将它们包含在“profiles”表的第一列,称为“post_-id”,并将其设置为主。因此,如果您打开一个具有postid-1566的播放器页面,则应显示post_id为1566的“profiles”中的行

由于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=&quot;xxxxxxx&quot; cookie_expires=&quot;0&quot; identifier=&quot;xxx&quot;]';

// 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]' );

  }
?>
我在执行“content\u protector”短代码的结束标记时也遇到问题。我可以用do\u短代码从顶部开始,但所有超过该短代码的内容都需要在该[/content\u protector]中把那行的后半部分加到底部是行不通的。有什么建议吗?有没有办法把所有东西都嵌套在短代码之间


非常感谢您的建议!

您的做法是错误的(核心PHP),首先您应该使用WordPress语法。通过谷歌搜索创建自定义帖子类型,并尝试为玩家创建自定义帖子类型。然后尝试编写一个脚本,使用WordPress代码插入所有玩家。请参阅下面的链接了解相同的内容
要创建自定义帖子类型,您可以使用代码或尝试此插件

那么您的问题是什么?google wpdb for a Start需要在我的自定义表中显示匹配的数据行,该数据行与WP帖子的帖子id具有相同的PlayerID。我确定了每个玩家页面的帖子id,并在我的自定义ta中输入了相同的数字PlayerID下的ble。因此,如果拉上来的播放器页面的post id是2718,我需要在html表中显示PlayerID为2718的数据行。似乎我需要某种PHP if/Then语句。你的做法不对(核心PHP),首先你应该使用WordPress语法。你是对的。我用我到目前为止提出的方法编辑了原始问题。
$rows = $wpdb->get_col( $wpdb->prepare(
  "SELECT DISTINCT $wpdb->posts.ID FROM $wpdb->posts, $wpdb->postmeta
  WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id AND
  $wpdb->posts.post_status = 'publish' AND
  $wpdb->posts.post_type = 'post'