2017-04-11 24 views
0

在我的模型,我有以下函數,它是一個查詢,內部連接3臺如何從我的視圖查詢代碼化數組可視化?

function get_all_listaproveedorfamilia($clave) 
{ 
    $this->db->select('proveedor.razonSocial, proveedor.nombre1, proveedor.telefonoFijo1, proveedor.telefonoMovil1, proveedor.correoElectronico1, proveedor.tipo, familia.clave'); 
    $this->db->from('proveedor'); 
    $this->db->join('relacionproveedorfamilia', 'relacionproveedorfamilia.idProveedor = proveedor.id', 'inner'); 
    $this->db->join('familia', 'familia.id = relacionproveedorfamilia.idFamilia', 'inner'); 
    $this->db->where('familia.clave', $clave); 
    $this->db->order_by('proveedor.razonSocial'); 
    $query = $this->db->get(); 
    if($query->num_rows() > 0){ 
     return $query->result_array(); 
    } 
} 

的$釜值是從選擇下拉列表中檢索到的字符串,我用ajax

它發送到我的控制器

在我看來jQuery函數來發送$個兒值

$('#idFamilia').change(function(){ 
     var clave = $("#idFamilia option:selected").text(); 

     if (clave != "Seleccione"){ 
      $.ajax({ 
       url: '<?php echo base_url(); ?>index.php/Proveedor/obtenerListaProveedorFamilia', 
       method: 'POST', 
       data: { 
        clave: clave 
       } 
      }); 
     } 
    }); 

這裏是我的控制器,在這裏我用的釜值和調用該函數在我的控制器代碼

function obtenerListaProveedorFamilia(){ 
    $this->load->model('Proveedormodel'); 
    $clave = $_POST['clave']; 
    $data['listaproveedorfamilia'] = $this->Proveedormodel->get_all_listaproveedorfamilia($clave); 
    $data['_view'] = 'proveedor/index'; 
    $this->load->view('layouts/main',$data); 
} 

我想要可視化函數返回的數組,以檢查查詢是否正在工作並獲取我想要檢索的值。我已經嘗試了以下方法來將添加附加代碼的數組可視化爲我的jquery函數$('#idFamilia')。change(function(){});

視圖中的陣列 - 獲得並檢查瀏覽器的控制檯

var test = <?php echo json_encode($listaproveedorfamilia); ?>; 
console.log(test); 

-Trying追加的print_r到預先標籤

$('#prueba').append('<?php print_r($listaproveedorfamilia) ?>'); 

用這兩個選項,我得到以下PHP錯誤上在我看來,一旦出現

A PHP Error was encountered 
Severity: Notice 
Message: Undefined variable: listaproveedorfamilia 
Filename: proveedor/index.php 

此錯誤的頁面加載,但它應該等待供用戶從選擇下拉列表中選擇一個選項,然後使用該選項構建查詢。我該如何解決這個問題並檢查我的數組的內容?

+0

嘗試'的var_dump($數據[ 'listaproveedorfamilia']);'在控制器中。那裏展示了什麼? – Xidh

+0

@Xidh對不起,我怎樣才能從控制器var_dump?我在哪裏可以看到輸出? – raptorandy

+0

只要把'var_dump'創建'$數據[「listaproveedorfamilia」]'的右後並添加'exit'這樣你就可以讀它 – Xidh

回答

0

您需要將成功方法添加到您的ajax調用中。這是在服務器上創建的數據將被髮送的位置。

$('#idFamilia').change(function() { 
    var clave = $("#idFamilia option:selected").text(); 

    if (clave != "Seleccione") { 
     $.ajax({ 
      url: '<?php echo base_url(); ?>index.php/Proveedor/obtenerListaProveedorFamilia', 
      method: 'POST', 
      data: { 
       clave: clave 
      }, 
      success: function (returned) { 
       console.log(returned); 
      } 
     }); 
    } 
}); 

您可以使用瀏覽器的Web開發工具來查看JavaScript控制檯已記錄的內容。

因爲我們不知道什麼視圖文件包含很難對什麼期望發表評論。

通常,ajax調用用於返回使用$(「some_selector」)。html()或其他各種DOM操作方法更新當前瀏覽器屏幕返回的HTML。

另一種方式來「可視化」的迴歸是簡單地把它添加到什麼已經是在屏幕上。這不可能是你最終想要的。但是你將能夠看到回來的東西。

更改成功函數將此

success: function (returned) { 
    $('body').append(returned); 
} 
+0

謝謝,我能看到陣列,也是整個HTML代碼爲頁面顯示在後臺,不知道爲什麼,但至少我知道查詢的作品。 – raptorandy