Foros del Web » Programando para Internet » Javascript »

if else stock

Estas en el tema de if else stock en el foro de Javascript en Foros del Web. hola grupo. conozco casi poco de javascript y necesito de su ayuda espero me puedan ayudar con el tema de javascript. el código '.$row["cantidad"].' es ...
  #1 (permalink)  
Antiguo 22/08/2021, 15:56
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 642
Antigüedad: 17 años, 1 mes
Puntos: 6
if else stock

hola grupo. conozco casi poco de javascript y necesito de su ayuda
espero me puedan ayudar con el tema de javascript.
el código '.$row["cantidad"].' es traído de la base de datos.
Supongamos que tengo 10 unidades, pero solo me da primera opción "Disponible 10"
y si tengo 1 cantidad no me aparece las otras opciones

la idea es que si hay menos unidad debería darme las demás opciones
si tengo 10 unidades (Disponible)
si tengo 1 unidad (alerta)
si tengo 0 unidades (fuera de stock)


el codigo.



Código Javascript:
Ver original
  1. <?php
  2. //......
  3.  
  4. $array[] .=  '
  5.  
  6. <p id="stock"></p>
  7. <script>
  8.     if ('.$row["cantidad"].' < "10") {
  9.       document.getElementById("stock").innerHTML = "Disponible! '.$row["cantidad"].'  ";
  10.     }
  11.     else if ('.$row["cantidad"].' < "1") {
  12.         document.getElementById("stock").innerHTML = "Alerta! '.$row["cantidad"].'  ";
  13.      }
  14.      else if ('.$row["cantidad"].' < "0") {
  15.         document.getElementById("stock").innerHTML = "Fuerda de Stock! '.$row["cantidad"].'  ";
  16.      }
  17.     </script>
  18.  
  19. ';
  20.  
  21.  
  22. //......
  23. ?>
  #2 (permalink)  
Antiguo 22/08/2021, 23:06
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 642
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: if else stock

probe asi y es casi lo mismo.

la idea es,...
1.- si existe 10 unidades me muestre que aun esta "disponible."
2.- si existe 1 unidad muestre "alerta"
3.- si existe 0 unidad muestre "fuera de stock"

todo en javascript, haber si me dan una ayuda.


Código Javascript:
Ver original
  1. <p id="message"></p>
  2. <script>
  3.   var cantidad = "10";
  4.     if(cantidad > "10"){
  5.         document.getElementById("message").innerHTML = "Disponible.";
  6.     } else if(cantidad > "1"){
  7.         document.getElementById("message").innerHTML = "Alerta";
  8.     } else if(cantidad > "0"){
  9.         document.getElementById("message").innerHTML = "Fuerda de Stock.";
  10.     } else{
  11.         document.getElementById("message").innerHTML = "algo mas.";
  12.     }
  13. </script>
  #3 (permalink)  
Antiguo 23/08/2021, 00:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 19 años, 9 meses
Puntos: 1284
Respuesta: if else stock

Hola:

Si entrecomillas un número lo conviertes en una cadena, así que en principio deberías evitarlo:
var cantidad = <?php echo $row["cantidad"]; ?>;

Luego quita las comillas en las comparaciones y debería estar bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 23/08/2021, 09:06
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 642
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: if else stock

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Si entrecomillas un número lo conviertes en una cadena, así que en principio deberías evitarlo:
var cantidad = <?php echo $row["cantidad"]; ?>;

Luego quita las comillas en las comparaciones y debería estar bien.

Saludos
también probé así amigo la "cantidad" es el nombre del campo de la base de datos.

el detalle es que me aparece solo en la primera línea y en las demás líneas que tienen menos cantidad
no aparece nada, esta vacío.


Código Javascript:
Ver original
  1. <?php
  2. //......
  3.  
  4. $array[] .=  '
  5.  
  6. <p id="stock"></p>
  7. <script>
  8.    var cantidad = '.$row["cantidad"].';
  9.  
  10.    if ('.$row["cantidad"].' < "10") {
  11.      document.getElementById("stock").innerHTML = "Disponible! '.$row["cantidad"].'  ";
  12.    }
  13.    else if ('.$row["cantidad"].' < "1") {
  14.        document.getElementById("stock").innerHTML = "Alerta! '.$row["cantidad"].'  ";
  15.     }
  16.     else if ('.$row["cantidad"].' < "0") {
  17.        document.getElementById("stock").innerHTML = "Fuerda de Stock! '.$row["cantidad"].'  ";
  18.     }
  19. </script>
  20.  
  21. ';
  22.  
  23.  
  24. //......
  25. ?>
  #5 (permalink)  
Antiguo 29/08/2021, 04:00
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 20 años, 8 meses
Puntos: 25
Respuesta: if else stock

Hola.

Empieza comparando al revés.

Tal y como lo tienes, se cumple la primera condición y ya no ejecuta más. Es decir, si cantidad=1, debería decir "Alerta". Pero como en la primera comparación también es menor de 10, muestra "disponible" y nada más.

Código:
 
    if ('.$row["cantidad"].' < 0) {
      document.getElementById("stock").innerHTML = "Fuerda de Stock!  '.$row["cantidad"].'  ";
    }
    else if ('.$row["cantidad"].' < 1) {
        document.getElementById("stock").innerHTML = "Alerta! '.$row["cantidad"].'  ";
     }
     else if ('.$row["cantidad"].' < 10) {
        document.getElementById("stock").innerHTML = "Disponible! '.$row["cantidad"].'  ";
     }
O en todo caso, cambia los comparadores:

Código:
  if ('.$row["cantidad"].'  >= 10) {
      document.getElementById("stock").innerHTML = "Disponible! '.$row["cantidad"].'  ";
    }
    else if ('.$row["cantidad"].' == 1) {
        document.getElementById("stock").innerHTML = "Alerta! '.$row["cantidad"].'  ";
     }
     else if ('.$row["cantidad"].' == 0) {
        document.getElementById("stock").innerHTML = "Fuerda de Stock! '.$row["cantidad"].'  ";
     }
Un saludo.
  #6 (permalink)  
Antiguo 29/08/2021, 05:25
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 20 años, 8 meses
Puntos: 25
Respuesta: if else stock

Podrías simplificarlo así:

Código:
<script> 
    let cantidad = '.$row["cantidad"].';
    let mensaje = cantidad == 0 ? 'Fuera de stock!' : cantidad == 1 ? 'Alerta!' : "Disponible!";
    document.getElementById("stock").innerHTML = mensaje;
 
</script>
Un saludo



La zona horaria es GMT -6. Ahora son las 16:52.