Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Petición de Ajax para un array de php

Estas en el tema de Petición de Ajax para un array de php en el foro de Jquery en Foros del Web. Hola, He creado una petición de ajax para introducir el código postal y que se despliegue la ciudad, estado, municipio y colonia. Funciona muy bien ...
  #1 (permalink)  
Antiguo 02/10/2018, 12:26
 
Fecha de Ingreso: noviembre-2015
Mensajes: 49
Antigüedad: 2 años, 11 meses
Puntos: 2
Petición de Ajax para un array de php

Hola,

He creado una petición de ajax para introducir el código postal y que se despliegue la ciudad, estado, municipio y colonia. Funciona muy bien cuando se trata de una sola petición, pero en mi caso tengo que uno solo de mis registros cuenta con dos o tres domicilios, resolví la parte de php con un arreglo de un foreach y aunque sé que la lógica puede ser la misma; no tengo muchos conocimientos de ajax, entonces cuando se crean los campos de más de un domicilio mi petición solo funciona con el primer domicilio y el resto simplemente no los detecta.

Este es mi código php ligado al ajax:
Código PHP:
<?php
include('conexion.php');

$dato $_POST['dato'];

//EJECUTAMOS LA CONSULTA DE BUSQUEDA

$registro mysqli_query($con"SELECT codigo_postal, estado, municipio, ciudad, area_metropolitana, brick_atv, brick_ims, zona_postal FROM sepomex WHERE codigo_postal = '$dato' LIMIT 1");


//CREAMOS NUESTRA VISTA Y LA DEVOLVEMOS AL AJAX
$i 1;
            foreach (
$registro as $registro2) {

   
                
        echo
"código postal<input type='text' name='codigo_postal[$i]' id='codigo_postal' minlength='5' maxlength='5' onkeypress='return justNumbers(event)' readonly='readonly' style='width:50px;' value='".$registro2['codigo_postal']."'</input>";
        
                        echo
"estado<input type='text' name='estado[$i]' id='estado' readonly='readonly' value='".$registro2['estado']."'</input>
                        municipio<input type='text' name='municipio[$i]' id='municipio' readonly='readonly' value='"
.$registro2['municipio']."'</input>
                        ciudad<input type='text' name='ciudad[$i]' id='ciudad' readonly='readonly' value='"
.$registro2['ciudad']."'</input></br></br>
área metropolitana<input type='text' name='area_metropolitana[$i]' id='area_metropolitana' readonly='readonly' style='width:30px; margin-left:50px;' value='"
.$registro2['area_metropolitana']."'</input>
                        brick atv<input type='text' name='brick_atv[$i]' id='brick_atv' readonly='readonly' value='"
.$registro2['brick_atv']."'</input>
                        brick ims<input type='text' name='brick_ims[$i]' id='brick_ims' readonly='readonly' value='"
.$registro2['brick_ims']."'</input>
                        zona postal<input type='text' name='zona_postal[$i]' id='zona_postal' readonly='readonly' style='width:30px;' value='"
.$registro2['zona_postal']."'</input>";
    
        
                
                        echo
"colonia<select name='colonia[$i]' id='colonia'>";
                        
$reg mysqli_query($con"SELECT colonia FROM sepomex WHERE codigo_postal='$dato'");
                        while (
$registro2=mysqli_fetch_array($reg)) {
                        echo
"<option value='".$registro2['colonia']."'>".$registro2['colonia']."</option>";
                        }
                        echo
"</select>";
                        
$i++;
                
}

?>
Este es mi código de ajax:
Código PHP:
$(function() {
    $(
'#bs-prod').on('keyup', function() {
        var 
dato = $('#bs-prod').serialize();
        var 
url '../php/busca_registro.php';
        $.
ajax({
            
dataType'json',
            
type'POST',
            
urlurl,
            
data'dato=' dato,
            
success: function(datos) {
                $(
'#agrega-registros').html(datos);
            }
        });
        return 
false;
    });
}); 
Este es el código del index:
Código PHP:
 echo"<input type='text' placeholder='Buscar Código Postal' id='bs-prod' name='bs-prod[$i]'/>";  

echo
"<div class='registros-uno' id='agrega-registros' name='agrega-registros[$i]'>código postal<input type='text' name='codigo_postal[$i]' id='codigo_postal' minlength='5' maxlength='5' onkeypress='return justNumbers(event)' readonly='readonly' style='width:50px;' value='".$fila['codigo_postal']."'</input>
                        
                        estado<input type='text' name='estado[$i]' id='estado' readonly='readonly' value='"
.$fila['estado']."'</input>
                        municipio<input type='text' name='municipio[$i]' id='municipio' readonly='readonly' value='"
.$fila['municipio']."'</input>
                        ciudad<input type='text' name='ciudad[$i]' id='ciudad' readonly='readonly' value='"
.$fila['ciudad']."'</input></br></br>

área metropolitana<input type='text' name='area_metropolitana[$i]' id='area_metropolitana' readonly='readonly' style='width:30px; margin-left:50px;' value='"
.$fila['area_metropolitana']."'</input>
                        brick atv<input type='text' name='brick_atv[$i]' id='brick_atv' readonly='readonly' value='"
.$fila['brick_atv']."'</input>
                        brick ims<input type='text' name='brick_ims[$i]' id='brick_ims' readonly='readonly' value='"
.$fila['brick_ims']."'</input>
                        zona postal<input type='text' name='zona_postal[$i]' id='zona_postal' readonly='readonly' style='width:30px;' value='"
.$fila['zona_postal']."'</input>
                        colonia<select name='colonia[$i]' id='colonia'>
                        <option value='"
.$fila['colonia']."'>".$fila['colonia']."</option>
                        </select>
                        </div> 
Esto lo tengo como arreglo y funciona muy bien en el php, pero al tratar de introducir un código postal en el input que desencadena el evento pues ... solo lo hace en el domicilio 1 y el resto los ignora.

Si alguien me puede ayudar porque se casi nada de ajax y no puedo solucionarlo.

Gracias por su ayuda.
__________________
paco alonso
  #2 (permalink)  
Antiguo 04/10/2018, 10:25
 
Fecha de Ingreso: noviembre-2015
Mensajes: 49
Antigüedad: 2 años, 11 meses
Puntos: 2
Respuesta: Petición de Ajax para un array de php

En esta liga está la solución.
http://www.forosdelweb.com/f13/petic...s-php-1162210/
__________________
paco alonso



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