2014-11-03 37 views
0

我正在創建一個可以創建團隊的頁面。我只想創建一個SELECT框,其中包含所有用戶的朋友列表。然後,用戶可以選擇多於一個朋友(例如5),並向這5個人發送請求以加入團隊,但是遇到問題。我這樣做:如何將php數據輸入到html多選框中

$sql = "SELECT i.*, m.* FROM addclique i JOIN members m ON m.id = i.clique_id WHERE adder_id = :id"; 
$stmt = $db->query($sql, array('id' => $_SESSION['id'])); 
while($record = $stmt->fetch()) { 
    $surname=$record['surname']; 
} 

這:

<select multiple="true" name="category" val id="category" name="category" class=""> 
<option value="<?php echo $surname; ?>"><?php echo $surname; ?></option> 
</select> 

但僅僅只有一個朋友的姓被輸入到對話框。 我想讓所有朋友都在選擇框中,當我選擇朋友並點擊「發送請求」時,我可以很容易地將輸入到「團隊成員」表中的ID輸入。

請問我缺少什麼?

+0

旁註:'val'不應該在那裏。 – 2014-11-03 23:21:56

+0

另外不要忘記<?php標籤,可能這個頁面沒有它們就會給出錯誤。 – ArtisticPhoenix 2014-11-03 23:23:20

回答

0

你已經差不多了。你所需要做的就是圈出名字而不是存儲它們。

<?php 
    $sql = "SELECT i.*, m.* FROM addclique i JOIN members m ON m.id = i.clique_id WHERE adder_id = :id"; 
    $stmt = $db->query($sql, array('id' => $_SESSION['id'])); 

?> 

<select multiple="true" name="category" val id="category" name="category" class=""> 
<?php while($record = $stmt->fetch()) : ?> 
    <option value="<?php echo $record['surname']; ?>"><?php echo $record['surname']; ?></option> 
<?php endwhile; ?> 
</select> 

爲了將來的參考,從數據庫中存儲數據的正確方法就是這樣。

$stmt = $db->query($sql, array('id' => $_SESSION['id'])); 
$results = array(); 
while($record = $stmt->fetch()) { 
    $results[]=$record; 
} 

您可能要清理您的查詢過,只是SELECT surname FROM如果你不使用其他數據。然後你可以做到這一點。

while($surname = $stmt->fetchCol(0)) { 
    //.... and skip the array access altogether 
0

你應該這樣做:

$select = '<select multiple="true" id="category" name="category">'; 
while($record = $stmt->fetch()) { 
    $surname = $record['surname']; 
    $select .= '<option value="'.$surname.'">'.$surname.'</option>'; 
} 
$select .= '</select>'; 

echo $select; 
0
$sql = "SELECT i.*, m.* FROM addclique i JOIN members m ON m.id = i.clique_id WHERE adder_id = :id"; 
$stmt = $db->query($sql, array('id' => $_SESSION['id'])); ?> 
//SELECT IS OUTSITE 
<select multiple="true" name="category" val id="category" name="category" class=""> <?php 
while($record = $stmt->fetch()) { 
    $surname=$record['surname']; 
//OPTIONS ARE ADDED IN THE WHILE LOOP 
    ?> 
     <option value="<?php echo $surname; ?>"><?php echo $surname; ?></option> <?php 
} ?> 
</select> // END SELECTION 
+0

儘管您可能希望在代碼和html之間添加一些<?php標記。 – ArtisticPhoenix 2014-11-03 23:24:10

+0

謝謝,它的工作 – uchejava 2014-11-04 22:08:55

+0

你可以設置答案與「V」一樣好,如果它的工作。很高興我能幫上忙 – gr3g 2014-11-04 23:13:11

相關問題