PHP - limitar stock

 
Vista:

limitar stock

Publicado por josele (12 intervenciones) el 07/09/2020 20:10:49
Hola quiero limitar el control de entradas a la bd a 10 registros.
No encuentro el problema, me da Error

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
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: text/html;charset=utf-8");
 
$servidor = "localhost";
	$usuario = "user";
	$contraseña = "contraseña";
	$dbname = "coches";
    $conn = mysqli_connect($servidor, $usuario, $contraseña, $dbname);
 
if(isset($_POST['consulta']))
{
$q=mysqli_query($conn, "SELECT * FROM `coches` WHERE `username`='$username' and `status`='true'");
	while ($f=mysqli_fetch_object($q)) {
		$consulta[]=$f;
 
if ($consulta<=10){
 
echo "ok";
 
}
 
}
echo "Error";
}
 
?>
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

limitar stock

Publicado por Mauro (1037 intervenciones) el 08/09/2020 01:00:10
El problema es que estás mezclando los tipos de datos.

La variable $consulta es un arreglo, no puedes compararla contar un entero (10) usando el símbolo <=

En todo caso, lo que debes hacer es comparar count($consulta) con 10 o directamente hacer una consulta SELECT COUNT
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

limitar stock

Publicado por josele (12 intervenciones) el 08/09/2020 17:03:59
Muchas gracias por su respuesta Mauro.
Lo he modificado, funciona a veces otras me da error

1
2
3
4
5
6
7
8
9
10
11
12
13
$q=mysqli_query($conn, "SELECT * FROM `coches` WHERE `username`='$username' and `status`='true'");
 
$fila = mysqli_num_rows($q);
 
if ($fila<=10){
 
echo "true";
}
else{
  echo "false";
}
 
}
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

limitar stock

Publicado por joel (1269 intervenciones) el 08/09/2020 19:12:41
Hola Josele, que error te da?
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

limitar stock

Publicado por josele (12 intervenciones) el 08/09/2020 20:21:40
Ahora no me da error, me imprime 1 mas, 11. y no se por qué.
Me he informado de lo que dijo Mauro y por tema de ahorro de servidor, quisiera hacerlo con count, si alguien pudiera poner un ejemplo...
Gracias Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

limitar stock

Publicado por Mauro (1037 intervenciones) el 10/09/2020 15:04:12
Puedes usar un SQL tipo
1
SELECT COUNT(id) FROM `coches` WHERE `username`='$username' and `status`='true'
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

limitar stock

Publicado por jose (1 intervención) el 09/09/2020 14:30:51
Tambien quisiera poder comparar max_capacidad con capacidad para que cuando alcance el limite no deje almacenar mas entradas a bd.
Lo depuro con alerts desde javascript ,veo que es true pero solo me coje la primera consulta de menor que 9

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(isset($_POST['consulta']))
{
 
$q = mysqli_query($conn, "SELECT * FROM coches WHERE `username`='$username' and `status`='$status'");
 
$consulta = mysqli_num_rows($q);
 
if ($consulta<=9 && ($consulta['max_capacidad']==$consulta['capacidad']))
{
echo "true";
}
else{
  echo "false";
}
}
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