JavaScript - Recorrer array php con ajax

 
Vista:
sin imagen de perfil
Val: 35
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Jonathan (23 intervenciones) el 23/01/2020 16:20:43
Estimados

Tengo la siguiente función con php la cual devuelve un array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function registrar2(){
    if(!(empty($_POST['buscar']))){
        $codbarras = $_POST['buscar'];
        $sqlQuery = "SELECT codbarras,descripcion,1 as 'cantidad',precio FROM productos WHERE codbarras='$codbarras'
                     UNION ALL
                     SELECT codigo,descripcion,cantidad,0 FROM subproductos WHERE codasociado='$codbarras'";
        $datos = $this->obtenerdatos($sqlQuery);
        $nfilas = $this->numerofilas($sqlQuery);
        $HTML = array();
        for ($x = 0, $nfilas;$x<$nfilas;$x++) {
            array_push($HTML,$datos[$x]['codbarras'],$datos[$x]['descripcion'],1,$datos[$x]['precio'],$datos[$x]['precio']);
        }
    }
    return $HTML;
}

Mediante ajax estoy intentando recorrer dicho array para obtener los datos, mi idea es imprimirlos de formas separadas hacia el lado por cada variable que seria el codigo de barras, la descripcion, pero quedan de la siguiente forma

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function prueba(){
    var action = 'fetch_data';
    var buscar = document.getElementById("busqueda").value;
    $.ajax({
        url:"ventas.php",
        method: "POST",
        dataType: "json",
        data:{ action:action,buscar:buscar},
        success:function(data){
            for (var i = 0; i < data.html3.length; i++) {
                $('.resp').append('<p>'+data.html3[i]+'</p>');
            }
        }
    });
}


Captura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Alejandro (532 intervenciones) el 23/01/2020 20:11:34
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
A ver si te funciona esto:
1
2
3
4
5
6
7
8
9
10
public function registrar2(){
    if(!(empty($_POST['buscar']))){
        $codbarras = $_POST['buscar'];
        $sqlQuery = "SELECT codbarras,descripcion,1 as 'cantidad',precio FROM productos WHERE codbarras='$codbarras'
                     UNION ALL
                     SELECT codigo,descripcion,cantidad,0 FROM subproductos WHERE codasociado='$codbarras'";
        $datos = $this->obtenerdatos($sqlQuery);
    }
    return json_encode($datos);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function prueba(){
    var action = 'fetch_data';
    var buscar = document.getElementById("busqueda").value;
    $.ajax({
        url:"ventas.php",
        method: "POST",
        dataType: "json",
        data:{ action:action,buscar:buscar},
        success:function(data){
			$('.resp').html('<table>');
            for (fila of data) {
				$('.resp').append('<tr>');
				for (celda of fila) {
					$('.resp').append('<td>'+data.html3[i]+'</td>');
				}
				$('.resp').append('</tr>');
            }
			$('.resp').append('<table>');
        }
    });
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Jonathan (23 intervenciones) el 23/01/2020 20:32:24
Me dice que la variable data no es iterable y que la variable i no esta definida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Alejandro (532 intervenciones) el 23/01/2020 20:53:12
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿Puedes publicar el contenido de data?
Lo ves en el inspector en la pestaña de RED o NETWROK, o en la consola con conole.log()

1
2
3
4
...
success:function(data){
   console.log(data);
   ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Jonathan (23 intervenciones) el 23/01/2020 21:03:44
creo que me falto poner algo, para que se entienda mas el contexto, dentro del mismo archivo ventas.php despues de la clase existencias se encuentra lo siguiente

1
2
3
4
5
6
7
8
9
10
$existencias = new Existencias();
if(isset($_POST["action"])){
	$html = $existencias->resultados();
	$html3 = $existencias->registrar2();
	$data = array(
		"html"	=> $html,
		"html3" => $html3
	);
	echo json_encode($data);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Alejandro (532 intervenciones) el 23/01/2020 22:15:23
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
1
2
3
4
5
6
7
8
9
10
public function registrar2(){
    if(!(empty($_POST['buscar']))){
        $codbarras = $_POST['buscar'];
        $sqlQuery = "SELECT codbarras,descripcion,1 as 'cantidad',precio FROM productos WHERE codbarras='$codbarras'
                     UNION ALL
                     SELECT codigo,descripcion,cantidad,0 FROM subproductos WHERE codasociado='$codbarras'";
        $datos = $this->obtenerdatos($sqlQuery);
    }
    return $datos;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function prueba(){
    var action = 'fetch_data';
    var buscar = document.getElementById("busqueda").value;
    $.ajax({
        url:"ventas.php",
        method: "POST",
        dataType: "json",
        data:{ action:action,buscar:buscar},
        success:function(data){
			$('.resp').html('<table>');
            for (fila of data.html3) {
				$('.resp').append('<tr>');
				for (celda of fila) {
					$('.resp').append('<td>'+celda+'</td>');
				}
				$('.resp').append('</tr>');
            }
			$('.resp').append('<table>');
        }
    });
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Jonathan (23 intervenciones) el 24/01/2020 14:38:58
Captura

Estimado asi me esta imprimiendo los datos y creo que no es lo que busca dicha funcion, ademas de decirme que la variable fila no es iterable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Alejandro (532 intervenciones) el 24/01/2020 15:38:49
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Es por eso que te he pedido el console.log(data), para saber como esta estructurado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Jonathan (23 intervenciones) el 24/01/2020 15:47:30
Esto es lo que devuelve el console.log(data.html3)

(3) [{…}, {…}, {…}]
0: {codbarras: "123", descripcion: "PRODUCTO DE PRUEBA", cantidad: "1", precio: "0"}
1: {codbarras: "1234567", descripcion: "dfhjkffjdff", cantidad: "1", precio: "0"}
2: {codbarras: "12323334", descripcion: "assaasassasa", cantidad: "1", precio: "0"}
length: 3
__proto__: Array(0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Recorrer array php con ajax

Publicado por Alejandro (532 intervenciones) el 24/01/2020 18:17:44
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
1
2
3
4
5
6
7
8
9
success:function(data){
	$('.resp').html('<table></table>');
	for (fila of data.html3) {
		$('.resp table').append('<tr></tr>');
		for (idx in fila) {
			$('.resp table tr:last-child').append('<td>'+fila[idx]+'</td>');
		}
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar