目前我有一個選擇框,它正在填充來自控制器類的資料。截至目前,所有值都按預期正確填寫,但firstname我正嘗試為其添加三元運算子以將其替換為電子郵件的一些空值。
這在我的控制器類中似乎不起作用,因為我把括號放錯了。
這是我當前的代碼:
public function getContacts($id){
$option = "<option value='0'>Select</option>";
$modelList = $this->listings_model->get_contact(array('contact_type'=>3),'firstname,lastname,email,refno');
foreach($modelList as $m){
$option .= "<option value='".$m['firstname']." ".$m['lastname']." - ".$m['refno']."' id='".$m['id']."'>".$m['firstname']." ".$m['lastname']." - ".$m['refno']."</option>";
}
echo json_encode($option);
}
我嘗試了以下操作,但出現語法錯誤:
$option .= "<option value='"($m['firstname'].$m['lastname'] ? $m['firstname']." ".$m['lastname']." - ".$m['refno'] : $m['email'])"' id='".$m['id']."'>".$m['firstname']." ".$m['lastname']." - ".$m['refno']."</option>";
我想要實作的是:
value="<?php echo ($ow['firstname'].$ow['lastname']?$ow['firstname'].' '.$ow['lastname']:($ow['email']?$ow['email']:$ow['mobile'])).' - '.$ow['refno']; ?>"
uj5u.com熱心網友回復:
我們有這些叫做變數的東西,可以幫助代碼變得可讀。此外,括號可以幫助識別在三元運算子中具有操作的變陣列。在 PHP 和 HTML 中,您的代碼中有幾個放錯位置的'和"。
根據我對您的要求的理解,以下代碼執行此操作:如果名字和姓氏不為空,則它將<firstname> <lastname> - <ref>用于選項的值和文本,否則將<email>在電子郵件不為空時使用 else<mobile>
$name = ( $m['firstname'] && $m['lastname'] ) ? ( $m['firstname'] . ' ' . $m['lastname'] ) : ( '' );
$value = $name ? ($name . ' - ' . $m['refno']) : ($m['email'] ? $m['email'] : $m['mobile']);
$id = $m['id'];
$option .= "<option value=\"$value\" id=\"$id\">$value</option>";
順便說一下,你不能 json_encode 一個 HTML 字串。
uj5u.com熱心網友回復:
$m['firstname'].$m['lastname']是惡。您應該只檢查null價值$m['firstname']而不是兩者。
此外,它應該是:
$option .= "<option value='".($m['firstname'] !== null ? $m['firstname']." ".$m['lastname']." - ".$m['refno'] : $m['email'])."' id='".$m['id']."'>".($m['firstname'] !== null ? $m['firstname']." ".$m['lastname']." - ".$m['refno'] : $m['email'])."</option>";
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/374273.html
下一篇:選擇標簽未顯示所選選項
