Nueva pregunta

Pregunta:

Fecha: 08-11-2016 13:58:13 (En Español)

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.
Etiquetas: AJAX - Javascript - JQuery - MySQL - PHP - PHP PDO - Pregunta 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
     
  • Fecha: 17-11-2016 09:15:42 muchas gracias   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com