Hola a todos!
A ver si me podéis ayudar, porque estoy bastante perdida con el ajax y jquery.
Cuando el usuario haga clic desde la pag. principal en el enlace de asociados, se deberá cargar la pagina asociados.html con todas las empresas que estén registradas.
Estos datos se deben recuperar de una tabla llamada empresas.
Os muestro el código que tengo implementado en asociados.html
Código:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Asociación de comerciantes de Dénia</title>
<meta charset="UTF-8">
<meta content="asociación de comerciantes en denia" name="description">
<link media="screen" href="estilComer.css" type="text/css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="jqgrid/css/ui.jqgrid.css" />
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/funciones.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<script src="jqgrid/js/i18n/grid.locale-es.js" type="text/javascript"></script>
<script src="jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
</head>
<body>
<script language="javascript">
$(document).ready(function(){
jQuery("#nomemp").jqGrid({
cache:false,
data:'todos',
url:'Valida.php',
datatype:'json',
mtype:'POST',
colNames:['ID','RAZONSOCIAL', 'NIF','TELEFONO','DIRECCION', 'WEB'],
colModel:[
{name:'idEmpresa', index:'idEmpresa', width:5, resizable:false, sortable:true},
{name:'RazonSocial', index:'RazonSocial', width:150, resizable:false, sortable:true},
{name:'nif', index:'nif', width:15,resizable:false},
{name:'telefono', index:'telefono', width:15},
{name:'direccion', index:'direccion', width:60},
{name:'web', index:'web', width:155}
],
sortname:'RazonSocial',
sortorder:"asc",
viewrecords:true,
caption: 'EMPRESAS'
});
});
</script>
<div id="cabecera">
<img id ="DibCab" src="images/shopping.png">
<div id="cabecera-In"></div>
</div>
<div class="AllContent">
<div id="menu">
<ul>
<li><a href="ascomDenia.html">Inicio</a></li>
<li><a href="login.html">Area privada</a></li>
<li><a href="#">Asociados</a></li>
<li><a href="#">Noticias</a></li>
<li><a href="contacto.html">Contacto</a></li>
</ul>
</div>
<div id="contenidoIzq">
<h2>Guia de asociados </h2>
<div class="Datos">
<table id="nomemp"></table>
</div>
</div>
</div>
</body>
</html>
En Valida.php tengo lo siguiente:
Código PHP:
<?php
if (isset($_POST['todos'])){
$varEmpresa = new empresa();
$resul = $varEmpresa->DevolverEmpresas();
echo $resul;
}
else
{.....}
class empresa{
private $fNifEmpresa;
private $razonSocial;
private $direccion;
private $web;
private $gesBD;
private $tel;
public function __Construct()
{
require ("GestionEmpresas.php");
$this->gesBD = new GestionEmpresa();
}
public function getNifEmpresa(){return $this->fNifEmpresa;}
public function getRazonSocial(){return $this->razonSocial;}
public function DevolverEmpresas()
{
return $this->gesBD->DevolverTodasEmpresas();
}
}
Y por útlimo en GestionEmpresas.php lo siguiente:
Código PHP:
<?php
class GestionEmpresa
{
//Configuracion de la conexion a base de datos
public static $BD = "gescomercios";
public $id_Conection="";
public $NumRegistrosDevueltos=0;
public $identEmpresa="";
function __construct()
{
$this->EstablecerConexion();
}
function __destruct() {
mysql_close($this->id_Conection);
}
//Abrimos conexión
public function EstablecerConexion(){
$this->id_Conection= @mysql_connect('localhost','root','') or
die("No se ha podido establecer conexión con la base de datos");
mysql_select_db(self::$BD, $this->id_Conection);
}.....
public function DevolverTodasEmpresas()
{
$sql= "select idEmpresa,razonsocial,telefono,direccion,web from empresa";
$result = @mysql_query($sql) or die ("Función DevolverTodasEmpresas: Error al devolver las empresas");
$i=0;
$respuesta = new stdClass();
while( $fila = $result->fetch_assoc() ) {
$respuesta->rows[$i]['id']=$fila["idEmpresa"];
$respuesta->rows[$i]['cell']=array($fila["idEmpresa"],$fila["razonsocial"],$fila["telefono"],$fila["direccion"],$fila["web"]);
$i++;
}
echo json_encode($respuesta);
}
}
?>
No me recupera nada, y trazando el código hasta donde he sabido me aparece lo siguiente:
[Exception... "An invalid or illegal string was specified" code: "12" nsresult: "0x8053000c (SyntaxError)" location: "<unknown>"]
y después este otro
TypeError: jQuery(...).jqGrid is not a function
A ver si me podéis ayudar y aconsejar sobre la mejor forma de implementar el código.
Gracias de antemano