【发布时间】:2015-08-10 08:24:54
【问题描述】:
我不知道是什么问题。
我的 php 中有这一部分:
public function fillObject(){
try {
$servername = "localhost";
$username = "root";
$password = "123asd";
$conn = new PDO("mysql:host=$servername;dbname=bd_actividades", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT pro_nombre FROM act_proyecto");
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$result = $stmt->fetchAll();
foreach ($result as $row) {
$aObjects=array();
$oTransfer = new TransferProyeCtr();
$oTransfer->setNombre($row['pro_nombre']);
$oTransfer->setState(1);
$aObjects[]=$oTransfer;
return $aObjects;
} }catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
} }
这个发送结果:$oTransfer->setNombre($row['pro_nombre']);
在我的下拉列表中显示:
但我需要这个:
有什么问题? 这是我打印的模块:
阿贾克斯:
llenarComboProyectos: function(iSecciones){
var self = this;
self.ajaxCall('http://localhost:8080/PROJECTS/dailytasks/api/sistemaTareas/v1/'+"proyectos","GET", null).then(function(data) {
console.info("data",data);
if(self.checkError(data[0].state)){
self.llenarCombos(iSecciones,data);
}else{
alert("error service");
}
});
},
我在哪里打印:
llenarCombos: function(secciones,data){
var self = this;
console.info(data);
for (var i = 0; i < data.length; i++){
var cProyectos = "<option>"+data[i].nombre_proyecto+"</option>";
for(var iCont=0;secciones>=iCont; iCont++){
$("#select_proyecto_"+iCont+"_id").append(cProyectos);
$("#select_proyecto_"+iCont+"_id").selectpicker('refresh');
}
}
},
在这里我得到 pro_nombre:var cProyectos = "<option>"+data[i].nombre_proyecto+"</option>";
【问题讨论】:
-
您需要显示打印出
select选项的代码。 (我假设是这个函数:$oTransfer->setNombre()) -
在 foreach 循环之前转储您的 $results,确保数据库已返回所有您需要的记录 echo "
" 。 print_r($result, true) 。 "
"; -
是的@Darren 对不起,我编辑。
-
@JeanAndrésBergeretFuhrhop 您需要出示来自
->setNombre()的代码,它很可能来自那里。 -
这是因为您在
foreach中返回数据,所以它只获取第一个值。将return和$aObjects[]=$oTransfer;移出循环。
标签: php sql database select pdo