2016-11-05 59 views
0

这里滤镜的MySQL/PHP的表中的数据是我在做什么背景:如何使用窗体

  1. 一个MySQL表是由PHP查询到网站上呈现NFL的DataTable。
  2. 我要过滤掉那些没有自己的团队检查
    • 见下图,在图片只属于BAL,CIN和DEN玩家将表中所示)的球员。
  3. 但我只能显示1队在时间
    • ,如果我有BAL,CIN,DEN在下拉列表中选中,那么我只会有一个DataTable与球队球员之一。

有人能帮我吗?

<?php /* 
 
Template Name: TestPHPFilter} 
 
*/ ?> 
 

 
<?php get_header(); ?> 
 

 
<?php genesis_before_content_sidebar_wrap(); ?> 
 
<div id="content-sidebar-wrap"> 
 

 
<?php genesis_before_content(); ?> 
 
\t <div class='statsheader'> 
 
\t <div class='statstitlelng'> 
 
\t <h2><?php _e('DFS Trends'); ?></h2></div><div id="dpapos" class='statstitle'><h2>WRs</h2></div> 
 
\t 
 
\t \t <div class='statsfddk'> 
 
\t </div> 
 
\t 
 
\t <div class='statsform'> 
 
\t  \t \t \t \t <form action="<?php bloginfo('url'); ?>" method="get"> 
 
\t  \t \t \t \t <?php 
 
\t  \t \t \t \t \t $args = array(
 
\t \t \t \t \t \t  
 
\t \t \t \t \t \t  'include' => '1822, 1825, 1827, 1829' \t \t \t \t \t  
 
\t \t \t \t \t \t); 
 
\t \t \t \t \t \t wp_dropdown_pages($args); ?> 
 
    \t \t \t \t 
 
\t  \t \t \t \t <input type="submit" name="submit" value="view" /> 
 
\t \t \t \t \t </form> 
 
\t \t \t \t \t <script type="text/javascript"> 
 
            jQuery(function($) { 
 
\t \t \t \t \t \t     $('#teammultiselect').multiselect(); 
 
            }); 
 
           </script> 
 
     <form action="<?php get_permalink('1839'); ?>" method="POST"> 
 
    
 
      <select id="teammultiselect" name="start" multiple="multiple"> 
 
       <option value="">Team</option> 
 
\t \t \t \t \t \t <option value="ARI" <?php if($start == 'ARI'){echo 'selected';}?>>ARI</option> 
 
\t \t \t \t \t \t <option value="ATL" <?php if($start == 'ATL'){echo 'selected';}?>>ATL</option> 
 
\t \t \t \t \t \t <option value="BAL" <?php if($start == 'BAL'){echo 'selected';}?>>BAL</option> 
 
\t \t \t \t \t \t <option value="BUF" <?php if($start == 'BUF'){echo 'selected';}?>>BUF</option> 
 
\t \t \t \t \t \t <option value="CAR" <?php if($start == 'CAR'){echo 'selected';}?>>CAR</option> 
 
\t \t \t \t \t \t <option value="CHI" <?php if($start == 'CHI'){echo 'selected';}?>>CHI</option> 
 
\t \t \t \t \t \t <option value="CIN" <?php if($start == 'CIN'){echo 'selected';}?>>CIN</option> 
 
\t \t \t \t \t \t <option value="CLE" <?php if($start == 'CLE'){echo 'selected';}?>>CLE</option> 
 
\t \t \t \t \t \t <option value="DAL" <?php if($start == 'DAL'){echo 'selected';}?>>DAL</option> 
 
\t \t \t \t \t \t <option value="DEN" <?php if($start == 'DEN'){echo 'selected';}?>>DEN</option> 
 
\t \t \t \t \t \t <option value="DET" <?php if($start == 'DET'){echo 'selected';}?>>DET</option> 
 
\t \t \t \t \t \t <option value="GB" <?php if($start == 'GB'){echo 'selected';}?>>GB</option> 
 
\t \t \t \t \t \t <option value="HOU" <?php if($start == 'HOU'){echo 'selected';}?>>HOU</option> 
 
\t \t \t \t \t \t <option value="IND" <?php if($start == 'IND'){echo 'selected';}?>>IND</option> 
 
\t \t \t \t \t \t <option value="JAX" <?php if($start == 'JAX'){echo 'selected';}?>>JAX</option> 
 
\t \t \t \t \t \t <option value="KC" <?php if($start == 'KC'){echo 'selected';}?>>KC</option> 
 
\t \t \t \t \t \t <option value="LA" <?php if($start == 'LA'){echo 'selected';}?>>LA</option> 
 
\t \t \t \t \t \t <option value="MIA" <?php if($start == 'MIA'){echo 'selected';}?>>MIA</option> 
 
\t \t \t \t \t \t <option value="MIN" <?php if($start == 'MIN'){echo 'selected';}?>>MIN</option> 
 
\t \t \t \t \t \t <option value="NE" <?php if($start == 'NE'){echo 'selected';}?>>NE</option> 
 
\t \t \t \t \t \t <option value="NO" <?php if($start == 'NO'){echo 'selected';}?>>NO</option> 
 
\t \t \t \t \t \t <option value="NYG" <?php if($start == 'NYG'){echo 'selected';}?>>NYG</option> 
 
\t \t \t \t \t \t <option value="NYJ" <?php if($start == 'NYJ'){echo 'selected';}?>>NYJ</option> 
 
\t \t \t \t \t \t <option value="OAK" <?php if($start == 'OAK'){echo 'selected';}?>>OAK</option> 
 
\t \t \t \t \t \t <option value="PHI" <?php if($start == 'PHI'){echo 'selected';}?>>PHI</option> 
 
\t \t \t \t \t \t <option value="PIT" <?php if($start == 'PIT'){echo 'selected';}?>>PIT</option> 
 
\t \t \t \t \t \t <option value="SD" <?php if($start == 'SD'){echo 'selected';}?>>SD</option> 
 
\t \t \t \t \t \t <option value="SEA" <?php if($start == 'SEA'){echo 'selected';}?>>SEA</option> 
 
\t \t \t \t \t \t <option value="SF" <?php if($start == 'SF'){echo 'selected';}?>>SF</option> 
 
\t \t \t \t \t \t <option value="TB" <?php if($start == 'TB'){echo 'selected';}?>>TB</option> 
 
\t \t \t \t \t \t <option value="TEN" <?php if($start == 'TEN'){echo 'selected';}?>>TEN</option> 
 
\t \t \t \t \t \t <option value="WAS" <?php if($start == 'WAS'){echo 'selected';}?>>WAS</option> 
 
      </select> 
 
      
 
      <input type="submit" name="search" value="Find"> 
 
\t \t \t \t \t </div></div> 
 
\t \t \t \t \t </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>' 
 
\t \t \t .'<td>' . $row['Team'] . '</td>' 
 
\t \t \t .'<td>' . $row['WK'] . '</td>' 
 
\t \t \t .'<td>' . $row['Opp'] . '</td>' 
 
\t \t \t .'<td>' . $row['T'] . '</td>' 
 
\t \t \t .'<td>' . $row['Yds'] . '</td>' 
 
\t \t \t .'<td>' . $row['TDs'] . '</td>' 
 
\t \t \t .'<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>' 
 
\t \t \t .'<td>' . $row['Team'] . '</td>' 
 
\t \t \t .'<td>' . $row['WK'] . '</td>' 
 
\t \t \t .'<td>' . $row['Opp'] . '</td>' 
 
\t \t \t .'<td>' . $row['T'] . '</td>' 
 
\t \t \t .'<td>' . $row['Yds'] . '</td>' 
 
\t \t \t .'<td>' . $row['TDs'] . '</td>' 
 
\t \t \t .'<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>

+1

你的代码格式是如此糟糕,你正在减少得到任何帮助的机会。花一些时间来编辑你的帖子来清理你的代码格式,使其可读。 – jwpfox

+0

Moyom为我解决了这个问题,感谢Moyom的详细报道。我觉得像Moyom这样的跨平台的人碰到很少见。 –

+0

如果你投入大量精力,使你的问题得到考虑和形成,你将会增加你接触像@Moyom这样的好人的机会。如果您在构建问题时缺乏努力,如果人们表现出缺乏回应的努力,您不会感到惊讶。 – jwpfox

回答

1

我会建议选择标签名称更改为name="start[]",那么你可以得到这些值在数组$_POST['start']

然后,我明白你的问题,你想显示未选择球队的球员,所以我们需要查询的结构是这样的:

SELECT * FROM WR_TeamAnalyzer WHERE TEAM NOT LIKE start[0]% 
           OR TEAM NOT LIKE start[1]%... 

所以要保持你的方法,我们会用查询字符串和参数数组与为:

$query = "SELECT * FROM WR_TeamAnalyzer WHERE TEAM LIKE 'nothing'"; 
$array = array(); 
foreach ($_POST['start'] as $st) 
{ 
    $query .= " OR TEAM NOT LIKE :start" . $st; 
    $array[':start' . $st] = $st . '%'; 
} 

然后只需运行:

$selectStmt = $con->prepare($query); 
$selectStmt->execute($array); 

这应该工作。

我还建议您阅读有关MVC体系结构,它在开发Web应用程序时有很多帮助。有很多教程和方法可以很好地解释这一点,this是为PHP设计的很好的教程和方法。

来源:

对于multiple select

+0

非常感谢你Moyom,一切都很完美!而你通过所有代码的原因走过的方式,真的帮助了我。非常感谢您的回复。 –

相关问题