PHP - PHP y mysql

   
Vista:
Imágen de perfil de Mario

PHP y mysql

Publicado por Mario (12 intervenciones) el 02/03/2018 23:42:12
Hize un sistema de reportes con ajax envio desde un index por post las variables de mes año y sucursal simplemente se agregan a una variable query todo iba bien hasta qeu se agrego que se colocara la opcion order by se crero el input se creo el post pero a la hora de ejecutar la query da error mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean

reviso los parametros de post en la consola de navegador pero no funciona esta es mi consulta
la variable $order es la nueva agregada y de ahi comenzaron los problemas

$registro = mysqli_query($conexion,"SELECT usuarios.id,usuarios.nombre,ventas.sucursal,ventas.fecha,sum(total) as total FROM ventas INNER JOIN usuarios on usuarios.id=ventas.vendedor WHERE month(ventas.fecha)= '$fecha' AND year(fecha)='$fecha1' AND ventas.sucursal ='$sucur' group BY usuarios.nombre ORDER BY total '$order'");

//CREAMOS NUESTRA VISTA Y LA DEVOLVEMOS AL AJAX la vista se envia como un echo impreso a el index dentro de un div

echo '
<center><h2>Monto de ventas por Vendedor ',$fecha,' Año ',$fecha1,' Sucursal N ',$sucur,'</h2></center>

<table class="table table-striped table-condensed table-hover table-responsive ">

<tr class="info">
<th width="300">ID</th>
<th width="200">Nombre</th>
<th width="150">Sucursal</th>
<th width="150">Fecha</th>
<th width="150">Total</th>

</tr>';
if(mysqli_num_rows($registro)>0){
while($registro2 = mysqli_fetch_array($registro)){
echo '<tr>
<td>'.$registro2['id'].'</td>
<td>'.$registro2['nombre'].'</td>
<td> '.$registro2['sucursal'].'</td>
<td>'.fechaNormal($registro2['fecha']).'</td>
<td>$ '.$registro2['total'].'</td>


</tr>';
}
}else{
echo '<tr>
<td colspan="6">No se encontraron resultados</td>
</tr>';
}
echo '</table>'
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

PHP y mysql

Publicado por italo (110 intervenciones) el 06/03/2018 20:30:24
hola, normalmente un poco de debug no viene mal, la primero que deberias de hacer es verificar si la mysqli_query da error o no... tambien lo que ayuda mucho es hacer un "echo" de la query con las variables para saber si estan bien resueltas...


antes deberias hacer el echo de la query


1
2
3
$query = ("SELECT usuarios.id,usuarios.nombre,ventas.sucursal,ventas.fecha,sum(total) as total FROM ventas INNER JOIN usuarios on usuarios.id=ventas.vendedor WHERE month(ventas.fecha) = '$fecha' AND year(fecha) = '$fecha1' AND ventas.sucursal = '$sucur' group BY usuarios.nombre ORDER BY total '$order';");
 
echo $query;

y ver como la resuelve, sobre todo si el error segun dices se da por el $order ver como llega a la query.. luego si todo va bien

prueba con este codigo:

* ajusta el H2, con los espacios o : que falten....

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
<?php
 
$query = ("SELECT usuarios.id,usuarios.nombre,ventas.sucursal,ventas.fecha,sum(total) as total FROM ventas INNER JOIN usuarios on usuarios.id=ventas.vendedor WHERE month(ventas.fecha) = '$fecha' AND year(fecha) = '$fecha1' AND ventas.sucursal = '$sucur' group BY usuarios.nombre ORDER BY total '$order';");
 
$registro = mysqli_query($conexion, $query);
 
?>
 
<center>
  <h2>Monto de ventas por Vendedor: <?php echo $fecha; ?> Año: <?php echo $fecha1; ?> Sucursal N: <?php echo $sucur; ?></h2>
</center>
 
<table class="table table-striped table-condensed table-hover table-responsive ">
 
  <tr class="info">
    <th width="300">ID</th>
    <th width="200">Nombre</th>
    <th width="150">Sucursal</th>
    <th width="150">Fecha</th>
    <th width="150">Total</th>
  </tr>
 
<?php
if (mysqli_num_rows($registro) > 0) {
  while($row = mysqli_fetch_array($registro)) {
?>
  <tr>
    <td><?php echo $row['id'];?></td>
    <td><?php echo $row['nombre'];?></td>
    <td><?php echo $row['sucursal'];?></td>
    <td><?php echo fechaNormal($row['fecha']);?></td>
    <td><?php echo $row['total'];?></td>
  </tr>
<?php
  }
} else {
?>
  <tr>
    <td colspan="6">No se encontraron resultados</td>
  </tr>
<?php
}
?>
</table>

si tienes problemas o dudas escribe el codigo y explica mejor el problema.

salud2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Revisar política de publicidad