Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rasp

Retornar valor com Json

Recommended Posts

Fala galera!

Estou utilizando um plugin do Jquery query para Data Grid que recupera os valores Json, porém, estou tendo dúvidas se o php está funcionando... pois quando configuro meus dados o script para de funcionar...

 

segue os scripts e o exemplo online:

 

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Flexigrid</title>
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" type="text/css" href="css/flexigrid/flexigrid.css">
<script type="text/javascript" src="lib/jquery/jquery.js"></script>
<script type="text/javascript" src="flexigrid.js"></script>
</head>
<body>
	
	<style>
		.flexigrid div.fbutton .editar { background: url(css/images/add.png) no-repeat center left; }
		.flexigrid div.fbutton .remover { background: url(css/images/close.png) no-repeat center left; }
	</style>

	<table id="flex1" style="display:none"></table>

	<script type="text/javascript">
		$("#flex1").flexigrid({
			url: 'post2.php',
			dataType: 'json',
			colModel : [
				{display: 'ID', name : 'id', width : 25, sortable : false, align: 'center'},
				{display: 'Descrição', name : 'descricao', width : 220, sortable : true, align: 'left'},
				{display: 'Credito', name : 'credito', width : 190, sortable : true, align: 'left'},
				{display: 'Categoria', name : 'nome', width : 98, sortable : true, align: 'center'/*, hide: true*/},
			],
			buttons : [
				{name: 'Editar', bclass: 'editar', onpress : test},
				{name: 'Remover', bclass: 'remover', onpress : test}, {separator: true}
			],
			searchitems : [
				{display: 'Descrição', name : 'descricao', isdefault: true}, {display: 'Credito', name : 'credito'}
			],
			sortname: "id",
			sortorder: "asc",
			usepager: true,
			/*title: 'Countries', */
			useRp: true,
			rp: 10,
			showTableToggleBtn: true,
			width: 600,
			height: 200
		});

			function test(com,grid) {
				if(com=='Remover') {
					confirm('Remover ' + $('.trSelected',grid).length + ' items?')
				} else if(com=='Editar') {
					alert('Add New Item');
				}
			}
	</script>

</body>
</html>

 

processa.php

<?php
function executaSQL($rsql) {
	$db['servidor'] = "localhost";
	$db['usuario'] = "megaoss_ih";
	$db['senha'] = "logmania123";
	$db['banco'] = "megaoss_imagenshumanas";

	$conexao = mysql_connect($db['servidor'],$db['usuario'],$db['senha']) or die("Banco de dados não encontrado");
	$db = mysql_select_db($db['banco']);

	$resultado = mysql_query($rsql) or die ($rsql);
	return $resultado;
	mysql_close($conexao);
}

function countRec($fname,$tname) {
	$sql = "SELECT count($fname) FROM $tname ";
	$resultado = executaSQL($sql);
	while($row = mysql_fetch_array($resultado)) {
		return $row[0];
	}
}

function limita_letras($texto, $n_letras) {
	$resulta = explode("|",wordwrap($texto,$n_letras,"|",0));
	return $resulta[0];
}


if(!$sortname) $sortname = 'id';
if(!$sortorder) $sortorder = 'desc';
$sort = "ORDER BY $sortname $sortorder";

if(!$page) $page = 1;
if(!$rp) $rp = 10;

$start = (($page-1) * $rp);
$limit = "LIMIT $start, $rp";

$query = $_POST['query'];
$qtype = $_POST['qtype'];
$where = "";
if($query) $where = " WHERE $qtype LIKE '%$query%' ";

$sql = "SELECT id,descricao,credito,fk_categoria FROM imagem $where $sort $limit";
$resultado = executaSQL($sql);
$total = countRec("id","imagem $where");

$bla = addslashes($row['descricao']);

$descricao = limita_letras($bla, 30);

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); 
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" ); 
header("Cache-Control: no-cache, must-revalidate" ); 
header("Pragma: no-cache" );
header("Content-type: text/x-json");
$json = "";
$json .= "{\n";
$json .= "page: $page,\n";
$json .= "total: $total,\n";
$json .= "rows: [";
$rc = false;

while ($row = mysql_fetch_array($resultado)) {
	if ($rc) $json .= ",";
	$json .= "\n{";
	$json .= "cell:['".$row['id']."'";
	$json .= ",'".$descricao."'";
	$json .= ",'".addslashes(utf8_encode($row['credito']))."'";
	$json .= ",'".addslashes($row['fk_categoria'])."']";
	$json .= "}";
	$rc = true;		
}
$json .= "]\n";
$json .= "}";
echo $json;
?>

já alterei os campos da tabela no processa.php também colocando identico ao index.html no js mais não exibe nada :S

Valeu, obrigado.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver boa parte do problema... estou retornando 2 dos 4 campos que necessito, porém, o problema agora é o seguinte.. não consigo relacionar 2 tabelas no select para me retornar o nome certo da categoria... e quanto a descrição também não me retorna o conteudo... será porque possui muitos caracteres? exitem algumas que chegam a 400, mais eu limitei a quantidade de caracteres exibidos... mesmo assim não vai.

 

alguma luz?

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.