I'm using ExtJS 4 and PHP.
I have a saved image in a folder on the server and its path is saved to my database. I tried to do something like this:
No controller code:
onVerImgClick: function(btn, o, e0pts){
var grid = btn.up('grid');
var records = grid.getSelectionModel().getSelection();
var produtoId = records[0].data.id;
//var image = Ext.create('ExtMVC.view.verImagem');
Ext.Ajax.request({
method: 'POST',
url: 'php/importadorDadosImagem.php',
success: function(response){
var array = Ext.decode(response.responseText);
var cont = 0;
var caminho;
while(cont < array.data.length){
if(produtoId == array.data[cont].idProduto){
caminho = array.data[cont].imagem;
}
cont++;
}
cont = 0;
if(caminho != null){
var image = Ext.create('ExtMVC.view.verImagem');
image.getEl().set({
src: caminho
});
}
}
});
}
verImagem.js
Ext.define('ExtMVC.view.verImagem', {
extend: 'Ext.window.Window',
alias: 'widget.verimagem',
autoShow: true,
modal: true,
width: 400,
height: 400,
items: [
{
xtype: 'component',
autoEl: {
tag: 'img',
src: ' '
}
}
]
});
importerDataImage.php
<?php
include("connect.php");
$queryString = "SELECT idProduto, imagem FROM imagens";
//consulta sql
$query = mysql_query($queryString) or die(mysql_error());
//faz um looping e cria um array com os campos da consulta
$dados = array();
while($dado = mysql_fetch_assoc($query)) {
$dados[] = $dado;
}
$total = count($queryString);
echo json_encode(array(
"success" => mysql_errno() == 0,
"total" => $total,
"data" => $dados
));
In this way, no error is shown. However, the image does not appear.