Pregunta:
Fecha: 08-11-2016 13:58:13
(En Español)
tengo una función JQuery que se encarga de enviar al servidor el id de la opción seleccionada, hacer la consulta para luego mostrar el resultado en una tabla en la página principal:
el archivo proceso.php es este:
el asunto es que solo me muestra Codigo Banda Genero Origen, cualquier sugerencia es altamente agradecida, saludos. Votos: 2 - Respuestas: 8 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
Cargar datos desde tabla MySQL con JQuery[No resuelta]
Saludos nuevamente compañeros, mi problema es el siguiente: necesito mostrar en mi página principal la información desde una tabla según lo seleccionado en un select que es cargado dinamicamente, el select es este: <select id="sucursal" onchange="mostrarInfo(this.value)">
<option value="">Seleccione la sucursal:</option>
<?php
$con = new PDO('mysql:host=localhost;dbname=marketpro', 'root', '');
$sql = "SELECT sku, nombre, descripcion FROM ofertas";
$stmt = $con->prepare($sql);
$results = $stmt->execute();
$rows = $stmt->fetchAll(\PDO::FETCH_OBJ);
foreach ($rows as $row) {
echo '<option value="'. $row->sku .'">'. $row->nombre .'</option>';
}
?>
</select>tengo una función JQuery que se encarga de enviar al servidor el id de la opción seleccionada, hacer la consulta para luego mostrar el resultado en una tabla en la página principal:
function mostrarInfo(cod){
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("datos").innerHTML=xmlhttp.responseText;
}else{
document.getElementById("datos").innerHTML='Cargando...';
}
}
xmlhttp.open("POST","proceso.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("cod_banda="+cod);
}
</script>
el archivo proceso.php es este:
<?php
if(isset($_POST['cod_banda'])){
$codigo = $_POST["cod_banda"];
}
?>
<table border="1">
<tr>
<th>Codigo</th>
<th>Banda</th>
<th>Genero</th>
<th>Origen</th>
</tr>
<?php
$con = new PDO('mysql:host=localhost;dbname=marketpro', 'root', '');
$sql = "SELECT sku, img, nombre, descripcion FROM ofertas WHERE sku == ' ". $codigo ." ' ";
$stmt = $con->prepare($sql);
$results = $stmt->execute();
$rows = $stmt->fetchAll(\PDO::FETCH_OBJ);
?>
<?php foreach ($rows as $row) { ?>
<tr>
<td><?php echo $row->img; ?></td>
<td><?php echo $row->nombre; ?></td>
<td><?php echo $row->descripcion; ?></td>
</tr>
<?php } ?>
</table> el asunto es que solo me muestra Codigo Banda Genero Origen, cualquier sugerencia es altamente agradecida, saludos. Votos: 2 - Respuestas: 8 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 09-11-2016 02:15:57 Buen día, una pregunta esto
$sql = "SELECT sku, img, nombre, descripcion FROM ofertas WHERE sku == ' ". $codigo ." ' ";
te devuelve algún conjunto de resultados?
Saludos
DIEGO Votos: 1 - Link respuesta -
Fecha: 09-11-2016 06:09:46 Saludos, precisamente ahí está el problema, no, no me devuelve nada Votos: 0 - Link respuesta
-
Fecha: 09-11-2016 07:57:00 Cambiar esta línea
SELECT sku, img, nombre, descripcion FROM ofertas WHERE sku == ' ". $codigo ." ' ";
Por esta
SELECT sku, img, nombre, descripcion FROM ofertas WHERE sku = ' ". $codigo ." ' ";
Solo es un = no 2 igual == Votos: 0 - Link respuesta -
Fecha: 09-11-2016 12:27:29 ya lo cambié, ahora no me imprime ni siquiera los titulos de la tabla, solo el texto "cargando...." Votos: 0 - Link respuesta
-
Fecha: 09-11-2016 13:07:15 Abrí la consola de firebug (si es que usas firefox) o la consola del navegador que uses y fijate cual es el response de proceso.php. Como estás usando javascript, mucho no te puedo ayudar, si fuera jquery, ahí te puedo dar una mano Votos: 1 - Link respuesta
-
Fecha: 09-11-2016 14:21:55 si tienes un ejemplo en jquery de enviar el valor de un select, hacer la consulta y luego cargar esos datos en una pagina con extension .php me salvarías... Votos: 0 - Link respuesta
-
Fecha: 16-11-2016 04:30:12
function refrescarselect(){ jQuery('#sucursal').empty(); jQuery('#sucursal').append('<option value="" disabled selected>Seleccione una opcion</option>'); jQuery.getJSON('path_scripts/listarsucursales.php', function(data){ jQuery.each(data.aaData, function(k,v){ jQuery('#sucursal').append('<option value="' + v.sku + '">' + v.nombre + '</option>'); }); } ); }; jQuery('#sucursal').on('change', function(){ jQuery.ajax({ type:'post', data:{param:jQuery('#sucursal').val()}, url:'path_scritps/listarofertas.php', dataType:'json', success:function(r){ jQuery.each(r.data, function(k,v){ //acá empezas a armar la tabla }); } }); });
En todos los scripts php, devolvés el valor con un echo (debería estar al final de todo el script) y el arreglo lo codificás en formato json
En la práctica
<?php //TODO LO QUE HAYA QUE HACER echo json_encode($arreglo); ?>
Algo así
Saludos
DIEGO Votos: 1 - Link respuesta -
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
