Pregunta novata de PHP

  • Autor Autor roymc
  • Fecha de inicio Fecha de inicio
R

roymc

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos,

Tenia mucho tiempo sin tocar programación y no me acuerdo de muchas cosas :ambivalence: , les comento, estoy haciendo una lista de productos, en los cuales tengo dos valores que son los siguientes:

Precio 1: Es el precio que tengo en mostrador del producto
Precio 2: Es el precio del producto en promoción.

En realidad no me gustaría mostrar los dos precios y que uno quede vació ya que no tiene valor si no esta en promocion, por tanto estaba pensando como en una sentencia if supongo pero la verdad desconozco como hacerla, si alguien me puede ayudar les pregunto:

¿Como le hago para que al momento de asignarle el precio 2 me tache el precio 1 y me muestre el de promoción?

Les adjunto una imagen de como me gustaria que quedara.

Saludos
 

Adjuntos

  • PRECIOS.webp
    PRECIOS.webp
    15,1 KB · Visitas: 135
Última edición:
faltarian mas datos acerca de como obtienes los datos, me imagino que desde la DB xD

para eso puedes usar https://php.net//manual/es/function.mysql-query.php

Insertar CODE, HTML o PHP:
<?php
$consulta = 'tu consulta';
$resultado = mysql_query($consulta);

while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila['dato1'];
    echo $fila['dato2'];
    echo $fila['dato3'];
    echo '<strike>'.$fila['precio'].'</strike>'; // texto tachado
    echo $fila['precioOnline'];
}

?>
creo que es la forma mas facil de hacerlo, dentro del while debes agregar la estructura de tu html con la que armas la tabla que dejaste de ejemplo

salu2!, espero haberte ayudado algo.
 
Si, obtengo los datos de una base de datos, voy a poner en marcha con lo que me dijiste, te agradezco :encouragement::encouragement:
 
faltarian mas datos acerca de como obtienes los datos, me imagino que desde la DB xD

para eso puedes usar https://php.net//manual/es/function.mysql-query.php

Insertar CODE, HTML o PHP:
<?php
$consulta = 'tu consulta';
$resultado = mysql_query($consulta);

while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila['dato1'];
    echo $fila['dato2'];
    echo $fila['dato3'];
    echo '<strike>'.$fila['precio'].'</strike>'; // texto tachado
    echo $fila['precioOnline'];
}

?>
creo que es la forma mas facil de hacerlo, dentro del while debes agregar la estructura de tu html con la que armas la tabla que dejaste de ejemplo

salu2!, espero haberte ayudado algo.

Pero ahí mostraría siempre el precio tachado. Ella quiere que cuando no haya precio en promoción, simplemente muestre el precio normal y borre lo de la promo.

Digo que si es un campo en la base de datos, haz un condicional if(preciopromo !=0){
lo que vas a mostrar de la promo
}
Y lo que siempre se va a mostrar, lo pones fuera.
 
Si, de hecho es lo que estaba pensando en un if 😱
 
PHP:
if($promo != NULL){ $preciofinal = $precioreal; }else{$preciofinal = $promo;}
echo $preciofinal;
 
Pero cuando no hay promoción, qué te regresa NULL, 0 o una cadena vacía?

Puedes hacer algo como esto:
PHP:
<?php
	if(isset($precio_promo) && $precio_promo > 0) {
		echo '<span class="tachado">Precio: ' . $precio . '</span><br>
		Precio Promocion: ' . $precio_promo . '<br>
		Usted Ahorra: ' . ($precio-$precio_promo);
	} else {
		echo 'Precio: ' . $precio;		
	}
?>
 
Última edición:
Pues es que segun yo solo se puede con un if, o bueno, la forma mas sencilla y rapida, si el precioPromocion != 0, entonces que imprima precioReal tachado y precioPromocion, si si es = 0, que solo imprima precioReal
 
Pero cuando no hay promoción, qué te regresa NULL, 0 o una cadena vacía?

Puedes hacer algo como esto:
PHP:
<?php
	if(isset($precio_promo) && $precio_promo > 0) {
		echo '<span class="tachado">Precio: ' . $precio . '</span><br>
		Precio Promocion: ' . $precio_promo . '<br>
		Usted Ahorra: ' . ($precio-$precio_promo);
	} else {
		echo 'Precio: ' . $precio;		
	}
?>

Me viene bien este, es lo que buscaba amigo, te agradezco
 
Sentencias IF

Que tal amigos, anteriormente ya habia publicado esto pero no pude hacerlo funcioanr, les explico:

Bueno, espero que me puedan ayudar con algo muy sencillo que yo no he podido solucionar; estoy haciendo una pagina en la cual se muestran productos y en la cual han sido agregados a una base de datos (mysql), en esta tabla tengo dos campos, uno llamado "precio1" (es donde registro el precio normal del producto) y otro "precio2" (donde registro el precio en promocion del producto).

La pregunta es sencilla, necesito que cuando ingrese valor a "precio2" que seria de promocion, me regrese la información de la siguiente forma:

Precio normal: $170.00 // Precio en promoción: $150.00 // Usted ahorra: $20.00

Si no hay ningun valor en "precio2" que regrese unicamente el valor:

Precio: $170.00

Como pueden ver es algo muy sencillo pero estoy empezando a usar php y desconosco como hacer que la sentencia if cheque los campos necesarios y regrese los valores.

Espero me puedan ayudar,

Gracias.
 
PHP:
//primero guardas los datos precio1 y precio2 en dos variables
$normal=$precio1;
$promo=$precio2;
//
//despues comprobas si existe registro en el campo precio2 que seria la promocion
if($promo)//si existe precio de promocion muestra una cosa
{
echo"Precio normal:$normal";
echo"Precio en promocion:$promo";
$ahorro=$normal-$promo;
echo"Usted ahorra:$ahorro";
}else{//si no hay precio de promocion muestra solo el precio normal
echo"Precio:$normal";
}
 
Atrás
Arriba