Warning: foreach() argument must be of type array|object, string given in
Publicado por SergioMM (26 intervenciones) el 14/05/2021 14:25:08
hola tengo este fallo y No se como soucionarlo, si alguien me pudiese ayudar se lo agradeceria mucho.
Warning: foreach() argument must be of type array|object, string given in C:\xampp\htdocs\db\consulta.php on line 47
Se trata de que al teclear en un input tipo text una tabla me cargue la busueda (live search), el codigo esta bien por que lo estaba haciendo con msqli y gargaba la tabla con un WHILE pero he cambiado a PDO y ahora la tabla se carga con un FOREACH; la tabla cuando carga la pagina funciona bien, el borrar, actualizar añadir registros funciona bien y se recarga la pagina despues de cada accion, pero no funciona el LIVE SEARCH.
Adjunto codigo.
JS
CONSULTA
Warning: foreach() argument must be of type array|object, string given in C:\xampp\htdocs\db\consulta.php on line 47
Se trata de que al teclear en un input tipo text una tabla me cargue la busueda (live search), el codigo esta bien por que lo estaba haciendo con msqli y gargaba la tabla con un WHILE pero he cambiado a PDO y ahora la tabla se carga con un FOREACH; la tabla cuando carga la pagina funciona bien, el borrar, actualizar añadir registros funciona bien y se recarga la pagina despues de cada accion, pero no funciona el LIVE SEARCH.
Adjunto codigo.
JS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<script type="text/javascript">
$(buscar_datos());
function buscar_datos(consulta)
{
$.ajax({
url : 'db/consulta.php',
type : 'POST',
dataType : 'html',
data : { consulta: consulta },
})
.done(function(respuesta){
$("#datos").html(respuesta);
})
}
$(document).on('keyup', '#txtbuscar', function()
{
var valorBusqueda=$(this).val();
if (valorBusqueda!="")
{
buscar_datos(valorBusqueda);
}
else
{
buscar_datos();
}
});
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
require_once 'conexion.php';
$salida = "";
$consultar=$conexion->query("SELECT * FROM operaciones ORDER BY Id_Operacion");
$consultar->execute();
$resultado = $consultar->fetchAll();
$salida="";
if (isset($_POST['consulta'])) {
$q = $_POST['consulta'];
$resultado="SELECT * FROM operaciones WHERE
Id_Operacion LIKE '%".$q."%' OR
Fecha LIKE '%".$q."%' OR
Par LIKE '%".$q."%' OR
Orden LIKE '%".$q."%' OR
Precio LIKE '%".$q."%' OR
Cantidad LIKE '%".$q."%' OR
Total_Comprado LIKE '%".$q."%' OR
Comision LIKE '%".$q."%' OR
Moneda_Comision LIKE '%".$q."%'";
}
if ($resultado !== false){
$salida.=
'<table class="table table-striped table-hover" style="width: 80%; margin: 0 auto;" name="tabla" id="tabla">
<thead>
<tr>
<td>Id </td>
<td>Fecha </td>
<td>Par </td>
<td>Orden </td>
<td>Precio </td>
<td>Cantidad </td>
<td>Total Comprado </td>
<td>Comision </td>
<td>Moneda Comision </td>
<td>Acción </td>
</tr>
</thead>';
foreach ($resultado as $fila) {
$salida.=
'<tr>
<td><span id="Id_operacionI'.$fila['Id_Operacion'].'">'.$fila['Id_Operacion'].'</span></td>
<td><span id="FechaI'.$fila['Id_Operacion'].'">'.$fila['Fecha'].'</span></td>
<td><span id="ParI'.$fila['Id_Operacion'].'">'.$fila['Par'].'</span></td>
<td><span id="OrdenI'.$fila['Id_Operacion'].'">'.$fila['Orden'].'</span></td>
<td><span id="PrecioI'.$fila['Id_Operacion'].'">'.$fila['Precio'].'</span></td>
<td><span id="CantidadI'.$fila['Id_Operacion'].'">'.$fila['Cantidad'].'</span></td>
<td><span id="Total_CompradoI'.$fila['Id_Operacion'].'">'.$fila['Total_Comprado'].'</span></td>
<td><span id="ComisionI'.$fila['Id_Operacion'].'">'.$fila['Comision'].'</span></td>
<td><span id="Moneda_ComisionI'.$fila['Id_Operacion'].'">'.$fila['Moneda_Comision'].'</span></td>
<td><button class="btn btn-warning mb-3 edit" value="'.$fila['Id_Operacion'].'"><i class="bi bi-pencil-square"></i></button>
<button type="" class="btn btn-danger mb-3" id="idborrar" name="idborrar" onclick="respuestasino('.$fila['Id_Operacion'].')"><i class="bi bi-eraser-fill"></i></button></td>
</tr>
</tbody>';
}
$salida.='</table>';
} else
{
$salida.="No se encontraron coincidencias con sus criterios de búsqueda.";
}
echo $salida;
?>
GRACIAS DE ANTEMANO.
Valora esta pregunta


0