Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Recuperar datos con ajax

Estas en el tema de Recuperar datos con ajax en el foro de Mysql en Foros del Web. Hola compañeros soy nuevo en esto y tengo un problema con un codigo que no funciona: indes.php <?php include("conexion.php") ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
  #1 (permalink)  
Antiguo 11/09/2012, 12:16
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Recuperar datos con ajax

Hola compañeros soy nuevo en esto y tengo un problema con un codigo que no funciona:

indes.php

<?php
include("conexion.php")
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Filtro en tabla mysql con ajax php & mysql</title>
<link rel="stylesheet" type="text/css" href="assets/css/style.css"/>
<style type="text/css">
/* CSS demo */
#content{
padding:20px 0 0 10px
}
#content .filtro{
overflow:hidden;
padding-bottom:15px
}
#content .filtro select{
width:100px
}
#content .filtro ul{
list-style:none;
padding:0
}
#content .filtro li{
float:left;
display:block;
margin:0 5px
}
#content .filtro li a{
color:#006;
position:relative;
top:5px;
text-decoration:underline
}
#content .filtro li label{
float:left;
padding:4px 5px 0 0
}
#content table{
border-collapse:collapse;
width:940px;
}
#content table th{
border:1px solid #999;
padding:8px;
background:#F8F8F8
}
#content table th span{
cursor:pointer;
padding-right:12px
}
#content table th span.asc{
background:url(assets/imgs/sorta.gif) no-repeat right center;
}
#content table th span.desc{
background:url(assets/imgs/sortd.gif) no-repeat right center;
}
#content table td{
border:1px solid #999;
padding:6px
}

</style>
<link rel="stylesheet" type="text/css" href="assets/jqueryui/css/smoothness/jquery-ui-1.8.16.custom.css"/>

<script type="text/javascript" src="assets/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="assets/jqueryui/js/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="assets/js/js.js"></script>

</head>
<body>
<div id="top">
<a href="http://www.jqueryeasy.com">jQueryEasy.com demo script.</a> para obtener la demo solo dale click en <a href="">Descargar script</a>
</div>
<div id="content">
<div class="filtro">
<form id="frm_filtro" method="post" action="">
<ul>
<li><label>F.Compra: &nbsp;&nbsp; del</label>
<input type="text" name="del" id="del" size="15" class="datepicker" />
al
<input type="text" name="al" id="al" size="15" class="datepicker" /></li>
<li><label>Nombre:</label> <input type="text" name="apellidos" size="25" /></li>
<li><label>Localidad:</label>
<select name="poblacion">
<option value="0">--</option>
<!-- Listar Poblaciones -->
<?php
$query = mysql_query("SELECT * FROM dir_usuarios");
while($row = mysql_fetch_array($query)){
?>
<option value="<?php echo $row['usuario'] ?>">
<?php echo $row['poblacion'] ?>
</option>
<?php
}
?>
</select>
</li>
<li>
<button type="button" id="btnfiltrar">Filtrar</button>
</li>
<li>
<a href="javascript:;" id="btncancel">Todos</a>
</li>
</ul>
</form>
</div>
<table cellpadding="0" cellspacing="0" id="data">
<thead>
<tr>
<th width="22%"><span title="">F.Compra</span></th>
<th width="35%"><span title="apellidos">Nombre</span></th>
<th width="30%"><span title="telefono">Teléfono</span></th>
<th><span title="poblacion">Localidad</span></th>
</tr>
</thead>
<tbody>

</tbody>
</table>
</div>
</body>
</html>

-----------------------------------------------------------------------------------------------------
ajax.php

<?php
include("conexion.php");
if ($_GET["action"] == "listar")
{
// valores recibidos por POST
$vapellidos = $_POST['apellidos'];
$vpoblacion = $_POST['poblacion'];
$vUSUARIO = $_POST['USUARIO'];
$vdel = ($_POST['del'] != '' ) ? explode("/",$_POST['del']) : '';
$val = ($_POST['al'] != '' ) ? explode("/",$_POST['al']) : '';

$sql = "SELECT*
FROM usuarios pe, dir_usuarios p
WHERE pe.nsuario = p.usuario
";

// Vericamos si hay algun filtro
$sql .= ($vapellidos != '') ? " AND CONCAT(apellidos) LIKE '%$vapellidos%'" : "";
$sql .= ($vpoblacion > 0) ? " AND pe.nsuario = '".$vPOBLACION."'" : "";


// Ordenar por
$vorder = $_POST['orderby'];

if($vorder != ''){
$sql .= " ORDER BY ".$vorder;
}

$query = mysql_query($sql);
$datos = array();

while($row = mysql_fetch_array($query))
{
$datos[] = array(
'nsuario' => $row['nsuario'],
'nombre' => $row['nombre'],
'apellidos' => $row['apellidos'],
'poblacion' => $row['poblacion']
);
}
// convertimos el array de datos a formato json
echo json_encode($datos);
}

?>


-----------------------------------------------------------------------------------------------------

js.js


// JavaScript Document
var ordenar = '';
$(document).ready(function(){

// Llamando a la funcion de busqueda al
// cargar la pagina
filtrar()

var dates = $( "#del, #al" ).datepicker({
yearRange: "-50",
defaultDate: "+1w",
changeMonth: true,
changeYear: true,
onSelect: function( selectedDate ) {
var option = this.id == "del" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});

// filtrar al darle click al boton
$("#btnfiltrar").click(function(){ filtrar() });

// boton cancelar
$("#btncancel").click(function(){
$(".filtro input").val('')
$(".filtro select").find("option[value='0']").attr("selected",true)
filtrar()
});

// ordenar por
$("#data th span").click(function(){
var orden = '';
if($(this).hasClass("desc"))
{
$("#data th span").removeClass("desc").removeClass("asc")
$(this).addClass("asc");
ordenar = "&orderby="+$(this).attr("title")+" asc"
}else
{
$("#data th span").removeClass("desc").removeClass("asc")
$(this).addClass("desc");
ordenar = "&orderby="+$(this).attr("title")+" desc"
}
filtrar()
});
});

function filtrar()
{
$.ajax({
data: $("#frm_filtro").serialize()+ordenar,
type: "POST",
dataType: "json",
url: "ajax.php?action=listar",
success: function(data){
var html = '';
if(data.length > 0){
$.each(data, function(i,item){
html += '<tr>'
html += '<td>'+item.nacimiento+'</td>'
html += '<td>'+item.apellidos+'</td>'
html += '<td>'+item.telefono+'</td>'
html += '<td>'+item.poblacion+'</td>'
html += '</tr>';

});
}
if(html == '') html = '<tr><td colspan="4" align="center">No se encontraron registros..</td></tr>'
$("#data tbody").html(html);
}
});
}

--------------------------------------------------------------------------------------------------
Tengo dos tablas llamadas:
Usuarios
nsuario
telefono
apellidos

y otra llamada

dir_usuarios
poblacion
usuario



Solo, por ahora quiero de la lista desplegable con las poblaciones pero me sale una lista con un error de la variable poblacion.
Gracias
  #2 (permalink)  
Antiguo 11/09/2012, 12:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Recuperar datos con ajax

Tu problema es específicamente de programación, o al menos nada de lo que has posteado tiene algo que ver con este foro.
Programación, en el lenguaje que sea, es OFF-TOPIC aquí.
En los foros de base de datos está totalmente prohibido postear código de programación o tratar temas de programación. Sólo se tratan temas de SQL (exclusivamente SQL), y ge gestion de base de datos (MySQL en este subforo)
Por favor, borra todo lo que sea código PHP o lo que fuere y deja única y exclusivamente el SQL, para ver si hay algo que nos competa tratar acá.

Gracias.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/09/2012, 12:40
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Respuesta: Recuperar datos con ajax

Perdonad, en que foro debo de ponerlo?
  #4 (permalink)  
Antiguo 11/09/2012, 13:29
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Recuperar datos con ajax

Hola satjaen:

Debes de colocar tu pregunta en el foro de PHP, que es el lenguaje con el que estás programando

http://www.forosdelweb.com/f18/

Saludos
Leo.

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.