Pregunta novata de PHP

roymc Seguir

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Oct 2012
Mensajes
52
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.png
    PRECIOS.png
    4,8 KB · Visitas: 134
Última edición:

S3RGI0

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
9 Jul 2014
Mensajes
84
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.
 

roymc

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Oct 2012
Mensajes
52
Si, obtengo los datos de una base de datos, voy a poner en marcha con lo que me dijiste, te agradezco :encouragement::encouragement:
 

sanmen1593

Lambda
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
17 Dic 2010
Mensajes
2.935
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.
 

Lopezito

Zeta
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
13 Dic 2011
Mensajes
1.515
PHP:
if($promo != NULL){ $preciofinal = $precioreal; }else{$preciofinal = $promo;}
echo $preciofinal;
 

lombervid

Zeta
Verificación en dos pasos activada
Desde
29 Abr 2011
Mensajes
1.509
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:

jcdiaz

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
26 Jun 2014
Mensajes
115
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
 

roymc

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Oct 2012
Mensajes
52
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
 

roymc

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Oct 2012
Mensajes
52
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.
 

spitfire

Épsilon
Verificación en dos pasos activada
Desde
20 Feb 2013
Mensajes
946
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";
}
 
Arriba