2013-06-24 23 views
0

我試圖簡單地從表格中顯示兩個字段,例如名字,姓氏,將它們組合並顯示在可以選擇的下拉菜單中,並與用戶輸入的其他數據一起存儲。下面,爲一個領域工作,但我努力結合姓氏,我曾嘗試concat,但我認爲我做錯了。提前致謝。Concat兩個字段放入下拉菜單

//Drop Down Select 
    $sql = "SELECT concat (firstname, lastname) as username FROM users_tbl"; 
$result = pg_query($sql); 
echo "<select name='firstname'>"; 

while ($row = pg_fetch_array($result)) { 
echo "<option value='" . $row['firstname'] . "'>" . $row['firstname'] ."</option>"; 

} 
echo "</select>"; 
// close connection 

回答

1

試試這個方法: -

$sql = "SELECT concat (firstname, lastname) as username FROM users_tbl"; 
$result = pg_query($sql); 
echo "<select name='firstname'>"; 

while ($row = pg_fetch_array($result)) { 
echo '<option value="'.$row['username'].'" >'.$row['username'].'</option>'; 
} 
echo "</select>"; 
// close connection 
+0

警告:pg_query()[function.pg-query]:查詢失敗:錯誤:列「lastname」不存在於第36行的/var/www/html/Test/rivers/RiverEnter.php中的字符27 – Tom

+0

所需報價?第36行是$ sql行 – Tom

+0

@Tom現在檢查。 –

1

要麼依靠SQL ...

while ($row = pg_fetch_array($result)) { 
    echo "<option value='" . $row['username'] . "'</option>"; 
} 

或者不使用SQL CONCAT並用PHP做到這一點:

while ($row = pg_fetch_array($result)) { 
    echo "<option value='" . $row['firstname'] . " " . $row['lastname'] ."'</option>"; 
} 

但不要兩者都做。

+0

我CONCAT聲明在原來的職位是正確的?你提供的第二個選項最像我從Google上嘗試的。但它沒有工作。 – Tom

+0

@Tom:對於第二個選項,將您的SQL更改爲'SELECT firstname,lastname,xxx FROM ...',並查看我的PHP示例中的微小更改(與您的相比)。有關CONCAT的語法,請參閱您的數據庫手冊。 – michi