2014-11-03 33 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

相关问题