【发布时间】:2016-11-05 09:56:04
【问题描述】:
这是我正在做的事情的背景:
- PHP 正在查询一个 mySql 表,以便在网站上显示一个 NFL 数据表。
- 我想过滤掉没有检查团队的玩家
- 见下图,图中仅显示属于 BAL、CIN 和 DEN 的玩家)。
- 但我一次只能显示 1 个团队
- 如果我在下拉菜单中选中了 BAL、CIN、DEN,那么我将只有一个包含 Teams 球员的数据表。
有人可以帮帮我吗?
<?php /*
Template Name: TestPHPFilter}
*/ ?>
<?php get_header(); ?>
<?php genesis_before_content_sidebar_wrap(); ?>
<div id="content-sidebar-wrap">
<?php genesis_before_content(); ?>
<div class='statsheader'>
<div class='statstitlelng'>
<h2><?php _e('DFS Trends'); ?></h2></div><div id="dpapos" class='statstitle'><h2>WRs</h2></div>
<div class='statsfddk'>
</div>
<div class='statsform'>
<form action="<?php bloginfo('url'); ?>" method="get">
<?php
$args = array(
'include' => '1822, 1825, 1827, 1829'
);
wp_dropdown_pages($args); ?>
<input type="submit" name="submit" value="view" />
</form>
<script type="text/javascript">
jQuery(function($) {
$('#teammultiselect').multiselect();
});
</script>
<form action="<?php get_permalink('1839'); ?>" method="POST">
<select id="teammultiselect" name="start" multiple="multiple">
<option value="">Team</option>
<option value="ARI" <?php if($start == 'ARI'){echo 'selected';}?>>ARI</option>
<option value="ATL" <?php if($start == 'ATL'){echo 'selected';}?>>ATL</option>
<option value="BAL" <?php if($start == 'BAL'){echo 'selected';}?>>BAL</option>
<option value="BUF" <?php if($start == 'BUF'){echo 'selected';}?>>BUF</option>
<option value="CAR" <?php if($start == 'CAR'){echo 'selected';}?>>CAR</option>
<option value="CHI" <?php if($start == 'CHI'){echo 'selected';}?>>CHI</option>
<option value="CIN" <?php if($start == 'CIN'){echo 'selected';}?>>CIN</option>
<option value="CLE" <?php if($start == 'CLE'){echo 'selected';}?>>CLE</option>
<option value="DAL" <?php if($start == 'DAL'){echo 'selected';}?>>DAL</option>
<option value="DEN" <?php if($start == 'DEN'){echo 'selected';}?>>DEN</option>
<option value="DET" <?php if($start == 'DET'){echo 'selected';}?>>DET</option>
<option value="GB" <?php if($start == 'GB'){echo 'selected';}?>>GB</option>
<option value="HOU" <?php if($start == 'HOU'){echo 'selected';}?>>HOU</option>
<option value="IND" <?php if($start == 'IND'){echo 'selected';}?>>IND</option>
<option value="JAX" <?php if($start == 'JAX'){echo 'selected';}?>>JAX</option>
<option value="KC" <?php if($start == 'KC'){echo 'selected';}?>>KC</option>
<option value="LA" <?php if($start == 'LA'){echo 'selected';}?>>LA</option>
<option value="MIA" <?php if($start == 'MIA'){echo 'selected';}?>>MIA</option>
<option value="MIN" <?php if($start == 'MIN'){echo 'selected';}?>>MIN</option>
<option value="NE" <?php if($start == 'NE'){echo 'selected';}?>>NE</option>
<option value="NO" <?php if($start == 'NO'){echo 'selected';}?>>NO</option>
<option value="NYG" <?php if($start == 'NYG'){echo 'selected';}?>>NYG</option>
<option value="NYJ" <?php if($start == 'NYJ'){echo 'selected';}?>>NYJ</option>
<option value="OAK" <?php if($start == 'OAK'){echo 'selected';}?>>OAK</option>
<option value="PHI" <?php if($start == 'PHI'){echo 'selected';}?>>PHI</option>
<option value="PIT" <?php if($start == 'PIT'){echo 'selected';}?>>PIT</option>
<option value="SD" <?php if($start == 'SD'){echo 'selected';}?>>SD</option>
<option value="SEA" <?php if($start == 'SEA'){echo 'selected';}?>>SEA</option>
<option value="SF" <?php if($start == 'SF'){echo 'selected';}?>>SF</option>
<option value="TB" <?php if($start == 'TB'){echo 'selected';}?>>TB</option>
<option value="TEN" <?php if($start == 'TEN'){echo 'selected';}?>>TEN</option>
<option value="WAS" <?php if($start == 'WAS'){echo 'selected';}?>>WAS</option>
</select>
<input type="submit" name="search" value="Find">
</div></div>
</form>
<?php
$dsn = 'mysql:host=localhost;dbname=press_10';
$username = 'xxx';
$password = 'yyy';
try{
$con = new PDO($dsn, $username, $password);
$con->setAttribute(PO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $ex) {
echo 'Not Connected '.$ex->getMessage();
}
$tableContent = '';
$start = '';
$selectStmt = $con->prepare('SELECT * FROM WR_TeamAnalyzer');
$selectStmt->execute();
$rows = $selectStmt->fetchAll();
foreach ($rows as $row)
{
$tableContent = $tableContent.'<tr>'.
'<td>' . $row['WR'] .'</td>'
.'<td>' . $row['Team'] . '</td>'
.'<td>' . $row['WK'] . '</td>'
.'<td>' . $row['Opp'] . '</td>'
.'<td>' . $row['T'] . '</td>'
.'<td>' . $row['Yds'] . '</td>'
.'<td>' . $row['TDs'] . '</td>'
.'<td>' . $row['Fpts'] . '</td>';
}
if(isset($_POST['search']))
{
$start = $_POST['start'];
$tableContent = '';
$selectStmt = $con->prepare('SELECT * FROM WR_TeamAnalyzer WHERE TEAM like :start');
$selectStmt->execute(array(
':start'=>$start.'%'
));
$rows = $selectStmt->fetchAll();
foreach ($rows as $row)
{
$tableContent = $tableContent.'<tr>'.
'<td>' . $row['WR'] .'</td>'
.'<td>' . $row['Team'] . '</td>'
.'<td>' . $row['WK'] . '</td>'
.'<td>' . $row['Opp'] . '</td>'
.'<td>' . $row['T'] . '</td>'
.'<td>' . $row['Yds'] . '</td>'
.'<td>' . $row['TDs'] . '</td>'
.'<td>' . $row['Fpts'] . '</td>';
}
}
?>
<div class='wpDataTablesWrapper'><table id='trend' class='wpDataTable dataTable'><thead><tr><th>WR</th><th>Tm</th><th>Wk</th><th>Opp</th><th>T</th><th>Yds</th><th>TDs</th><th>Fpts</th></tr></thead>
<?php
echo $tableContent;
?>
</table>
【问题讨论】:
-
你的代码格式太糟糕了,你正在减少获得任何帮助的机会。花一些时间编辑您的帖子以清理您的代码格式,使其可读。
-
Moyom 为我解决了这个问题,感谢 Moyom 的详细描述。我觉得像 Moyom 这样在 stackoverflow 上遇到的人很少见。
-
如果您认真努力使您的问题得到充分考虑和形成,您将增加遇到像@Moyom 这样的好人的机会。如果您在构建问题时表现出缺乏努力,那么如果人们表现出缺乏回应的努力,您就不会感到惊讶。
-
嗯,我对 PHP 和一般编码非常陌生,我的“代码混乱”是无意的,实际上我从一个教程中得到了该代码,该教程除了多选之外做了所有事情,就教程而言, 那是对的。我认为这是一个以帮助人们而闻名的地方,这就是我发布问题的原因。你的消极情绪 jwpfox 让人们的问题变得冷淡。
-
如果您看到人们提供“这就是您如何可以做得更好”的负面反馈,那么您正在为自己的悲伤和不快乐的生活做好准备。学习如何接受建设性的反馈是添加到您的生活技能工具箱中的关键项目。您对 SO 人群的“负面”攻击不会赢得您的朋友或帮助您充分利用 SO。仔细想想我们中的哪些人在这里表现出消极的态度。会议结束。