Зачем показывать мне первый вариант в моем раскрывающемся списке?

1

Я не знаю, в чем проблема.

У меня есть эта часть моего 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']);

И в моем раскрывающемся списке показано следующее:

Изображение 174551

Но мне это нужно:

Изображение 174551

В чем проблема? Вот мой модуль, где я печатаю:

Ajax:

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>";

  • 0
    Вам нужно показать код, который распечатывает select опции. ( Я предполагаю, что эта функция: $oTransfer->setNombre() )
  • 0
    перед тем как цикл foreach выгрузит ваши $ результаты, убедитесь, что база данных вернула все необходимые записи. echo "<pre>". print_r ($ result, true). "</ Пред>";
Показать ещё 6 комментариев
Теги:
database
select
pdo

1 ответ

0

Пожалуйста, удалите

$stmt->setFetchMode(PDO::FETCH_ASSOC); 

от вашего первого скрипта. Я думаю, что это решит вашу проблему.

  1. http://php.net/manual/en/pdostatement.fetch.php

  2. http://php.net/manual/en/pdostatement.fetchall.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню