2013-04-01 67 views
0

我正在使用PHP通過Javascript追加來填充HTML中下拉菜單的選項。它的工作到目前爲止,並且如果設置了會話變量,我正在使用條件語句來僅顯示該團隊ID的值。問題是我需要顯示所有下拉選項(比如PHP中的else/while語句),即使設置了會話變量,人們仍然可以選擇手動選擇另一個ID,但是如果設置了會話,則會自動選擇值會話變量設置爲....否則就像在我的else語句中一樣顯示選項默認選項(1)。任何關於我應該如何去做的建議?謝謝!基於會話變量選擇下拉選項使用PHP

HTML

<td class="label_container">Team ID#</td> 
      <td class="input_container"> 
      <select id="prepping_team" name="prepping_team"></select> 
      </td> 

JS

//Populate Team IDs 
function get_prepping_team() { 
$.ajax({ 
    url: './php/getprepping_team.php', 
    success: function(data) { 
     $('#prepping_team').append(data); 
    } 
}); 
}; 

PHP

//Grab Session (if set) 
session_start(); 
$_SESSION['prepping_team']; 

$prep_team = $_POST['prepping_team']; 

header("Cache-Control: no-cache, must-revalidate"); 
header('Access-Control-Allow-Origin: *'); 
header('Content-type: multipart/form-data'); 

$logAuditFile = "../log/prepform.log"; 
$logModule = "getprepping_team.php"; 
include '/mnt/library/auditlog.php'; 

require("/mnt/library/configdb.php");   
include '/mnt/library/accessdb.php'; 

//Parse and store the db ini file, this will return an associative array 
db_config_cables_test(); 
db_connect(); 

$sql = mysql_query("SELECT pt_id FROM preppingteam;"); 
//IF SESISON VARIALBE IS SET 
if(isset($_SESSION['prepping_team'])) { 
    print "<option value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>"; 
    //print "<option value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>"; 
//OTHERWISE LOAD TEAM IDs 
} else { 
    while ($data = mysql_fetch_assoc($sql)) { 
     print "<option value=\"".$data['pt_id']."\">".$data['pt_id']."</option>"; 
    } 
} 
+0

試圖清理這個問題了。目前還不清楚你究竟在問什麼。 – djowinz

回答

1

代碼的最後一部分是沒有做你想要什麼。所以糾正這樣

更新:

while ($data = mysql_fetch_assoc($sql)) { 
    if(isset($_SESSION['prepping_team']) && $_SESSION['prepping_team'] == $data['pt_id']) 
    { 
    print "<option selected = 'selected' value=\"".$_SESSION['prepping_team']."\">".$_SESSION['prepping_team']."</option>";  
    } 
    else 
    print "<option value=\"".$data['pt_id']."\">".$data['pt_id']."</option>"; 
} 
+0

有趣,你的其他不在括號中的是一些新的php速記的東西嗎?但可悲的是,這是行不通的,我可以做到這一點,但ID只有6個選項全部爲「3」。 ID是1,2,3,4,5和6,它需要顯示1-6,如果會話變量設置爲3或其他值,則選擇3。所有代碼所做的是在下拉列表中顯示3,3,3,3,3,3 :( – jflay

+0

有沒有一種方法可以將它應用到我的PHP中?我知道這是用在HTML中,而我在另一個stackoverflow文章中發現了這個並嘗試修改它,但我只需要在我的PHP打印語句中使用這個: jflay

+0

yes ($ data = mysql_fetch_assoc($ sql)){ print「「; } –