2016-11-05 55 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,一切都很完美!而你通過所有代碼的原因走過的方式,真的幫助了我。非常感謝您的回覆。 –

相關問題