Foros del Web » Programando para Internet » PHP »

Pequeño problema

Estas en el tema de Pequeño problema en el foro de PHP en Foros del Web. Hola a todos: Tengo un pequeño problema. Quiero que si el campo desde_es etá vacio imprima precio_minimo y si no está vacio, imprima desde_es Código ...
  #1 (permalink)  
Antiguo 22/12/2007, 16:05
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Pequeño problema

Hola a todos:

Tengo un pequeño problema.
Quiero que si el campo desde_es etá vacio imprima precio_minimo y si no está vacio, imprima desde_es
Código HTML:
<br> 
y precio_minimo
Tengo el sigueinte codigo, funciona salvo po una cosa, en los dos casos me imprime el segundo caso, y claro si desde_es está vacio no aparece pero si el
Código HTML:
<br> 
, no sé si me estoy explicano, vamos que no me hace a caso a ver podeis ayudarme, luego tengo que complicar el codigo más pero primero tengo que conseguir que vaya este.
Bueno os dejo el oigo y aver si sabeis onde está el fallo, luego os volveré a escribir para que me ayudeis con el segundo, seguro, jeje

Muchas gracias

Alejandra

Código PHP:
<?
if(!isset($desde_es)== '' ){
echo 
$linea->precio_minimo;    
}else{
echo 
$linea->desde_es;
echo 
'<br>';
echo 
$linea->precio_minimo;
}
?>
  #2 (permalink)  
Antiguo 22/12/2007, 16:16
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Pequeño problema

Prueba asi:


Código PHP:
if(!isset($desde_es)){
echo 
$linea->precio_minimo;    
}else{
echo 
$linea->desde_es;
echo 
'<br>';
echo 
$linea->precio_minimo;

Saludos.
  #3 (permalink)  
Antiguo 22/12/2007, 16:36
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

jajajajaajaja, esto es un gran misterio, ahora solo hace lo que hay antes del else, osea haya lo que haya solo se imprime precio_minimo, ni el desde_es ni el salto de párrafo, nada.

Con mi codigo solo hace lo que hay depues del else, y on el tuo solo lo que hay antes el else, ayyyyyyyyyyyyy

¿Alguna idea por favor???
  #4 (permalink)  
Antiguo 22/12/2007, 16:38
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Pequeño problema

Haber:
Código PHP:
if(empty($linea->desde_es)){ 
    echo 
$linea->precio_minimo;     
}else{ 
    echo 
$linea->desde_es
    echo 
'<br>'
    echo 
$linea->precio_minimo

Asi derrepente?

Un saludo,
  #5 (permalink)  
Antiguo 22/12/2007, 16:43
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

OKRAM, eres mi salvadoa!!!!! EXACTO!!!! Funciona, ahora i noes mucho pdir me pudes ecir porque este funcionay losotros no?

Ahora tengo que complicarlo más y seguro que me da problemas, jejejjje
  #6 (permalink)  
Antiguo 22/12/2007, 16:46
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Pequeño problema

$linea->desde_es no es lo mismo que $desde_es. El primero hace referencia a una propiedad $desde_es en una clase instanciada en la variable $linea, mientras que el segundo busca y hace referencia a una variable local $desde_es. Supuse que querías comprobar si la propiedad de la clase estaba definida, y no la variable local...

Un saludo,
  #7 (permalink)  
Antiguo 22/12/2007, 16:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

aaaaaahhhhhhhhh, jodr lo que hace saber, jejejeje, ya poía o cambiar mil cosas, jejejeje.

Muchas gracias

Ahora voy a intentar hacer el coigocomleto que ncesito que es un poco lioso, si tengo problemas acuo a vosotros de nuevo.

Muchas gracias

Alejandra
  #8 (permalink)  
Antiguo 22/12/2007, 17:04
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Buenoooo, evidentemente tengo problemas, crei que iba a ser facilísimo pero algo hago mal, para variar.

Os dejo el código, a ver que le pasa, ignora lo nuevo que le he puesto, sige hacindo lo mismo que antes, osea, el primer códgi funciona muy bien y ahora con lonuevo, sigue funciona solo lo antiguo, lo nuevo lo ignora.

Un saludo

Alejandra
Código PHP:
if(empty($linea->desde_es)){ 
   if (
$linea->precio_oferta==0.00){
    echo 
$linea->precio_minimo;   
    echo 
'&nbsp';
    echo 
'€';  
    }else{
    echo 
$linea->precio_minimo;   
    echo 
'&nbsp';
    echo 
'€';  
    echo 
'<br>';
    echo 
$linea->precio_oferta;   
    echo 
'&nbsp';
    echo 
'€';  
    }
    
}else{ 
    echo 
$linea->desde_es
    echo 
'<br>'
   if (
$linea->precio_oferta==0.00){
    echo 
$linea->precio_minimo;   
    echo 
'&nbsp';
    echo 
'€';  
    }else{
    echo 
$linea->precio_minimo;   
    echo 
'&nbsp';
    echo 
'€';  
    echo 
'<br>';
    echo 
$linea->precio_oferta;   
    echo 
'&nbsp';
    echo 
'€';  
    }

  #9 (permalink)  
Antiguo 22/12/2007, 17:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pequeño problema

Exactamente, ¿Qué es lo que no funciona? esto:
Código PHP:
 
if ($linea->precio_oferta==0.00){ 
Si es esto prueba a poner el 0.00 entre comillas.

Y el código podría quedarte más resumido así:

Código PHP:
if(!empty($linea->desde_es)){
    echo 
$linea->desde_es;  
    echo 
'<br>';  
}
echo 
$linea->precio_minimo;    
echo 
'&nbsp'
echo 
'€';   
if (
$linea->precio_oferta <> "0.00"){ 
    echo 
'<br>'
    echo 
$linea->precio_oferta;    
    echo 
'&nbsp'
    echo 
'€';   

  #10 (permalink)  
Antiguo 22/12/2007, 17:32
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Buenot tu resumen del código es estupendo, tienes razón, aunque habrá que añadrile algomás ya que si precio_oferta es 0.00 el precio_minimo debe impimirse tal cual pero si es precio_oferta es distinto a 0.00 entonces el precio_minimo eberá imprimirse con un css especial que es con el texto tachado y el precio oferta con otra css de color rojo.

Pero bueno eso mas adelante, de momento sigo igual, como tu dices no funciona el precio_oferta<>"0.00", ni caso, no se imprime, no varia nada, sea igual o istinto a 0.00

¿Se te ocurre que pude ser?
  #11 (permalink)  
Antiguo 22/12/2007, 18:03
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pequeño problema

¿Nunca entra por el if? ¿estás seguro que el valor tiene que ser 0.00?

Prueba a sacar por pantalla esa variable antes del if, para ver cuál es su valor real.
  #12 (permalink)  
Antiguo 22/12/2007, 18:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Si, lo he sacado es 0.00, no se porque no va.....
  #13 (permalink)  
Antiguo 22/12/2007, 18:20
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Nada, lo tengo así:

Código PHP:
if(!empty($linea->desde_es)){ 
    echo 
$linea->desde_es
    echo 
'<br>'
    }
if (
$linea->precio_oferta=="0.00"){
    echo 
$linea->precio_minimo;   
    echo 
'&nbsp';
    echo 
'€';  
}else{
    echo 
$linea->precio_minimo;   
    echo 
'&nbsp';
    echo 
'€';  
    echo 
'<br>';
    echo 
$linea->precio_oferta;   
    echo 
'&nbsp';
    echo 
'€';  
    } 
Y nada, lo he puesto así porque luego he de añadirle, dependieno de si precio_oferta es igual o diferente a 0.00 irá con una CSS o con otra, pero nada, no va lo de precio_ofrta,sin embargo l pecio_minimo si lo impime
  #14 (permalink)  
Antiguo 22/12/2007, 18:49
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Pequeño problema

Mmmm... Prueba así.

Código PHP:
if ($linea->precio_oferta != 0) { 
    echo 
$linea->precio_minimo;    
    echo 
'&nbsp'
    echo 
'€';   
    echo 
'<br>'
    echo 
$linea->precio_oferta;    
    echo 
'&nbsp'
    echo 
'€';   
}else{  
    echo 
$linea->precio_minimo;    
    echo 
'&nbsp'
    echo 
'€';   

Si no funciona, como es que defines el contenido de la propiedad $precio_oferta?

Un saludo,
  #15 (permalink)  
Antiguo 22/12/2007, 19:06
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

nada, ni caso. Pues precio oferta es un float (5,2) not null predefinido 0.00
  #16 (permalink)  
Antiguo 22/12/2007, 19:39
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Uyyyyy, he uitado que fuera not null y predeterminado 0.00 para hacer if !empty, y ver si así funciona, y entonce unciona pero no saca el precio que he puesto, saca 0.00 en todos, no el precio que he puesto, leche que cosa mas rara, me estoy olviendo loca!!!
  #17 (permalink)  
Antiguo 22/12/2007, 20:13
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Nada, he obdo y no hay manera, ademas saco la variable antes el if para ver que dato me saca y en todos me pone 0.00, aunque en algunos no ponga nada y en otros ponga por ejemplo 50.00, no lo entiendo, de dond se saca los datos? se los inventa? Por que no me hace caso??? es lo ultimo que me falta, si se arregla esto ya habré acabado.

Bueno si sabeis que puedo estar haceidno mal os agradeceía vuestra ayuda

Un saludo

Alejandra
  #18 (permalink)  
Antiguo 23/12/2007, 08:15
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pequeño problema

Si siempre sale 0.00 hay dos opciones:

- Que estén mal en la Base de Datos
- Que los recuperes mal
  #19 (permalink)  
Antiguo 23/12/2007, 10:07
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Pues en la base de datos he quitdo que sea predeterminado 0.00, he dejado el campo nulo, o con el dato que yoinserto claro.

Y da igual, me saca 0.00, tengo alunos sin nada y otros con precio, 50, 20, 30, lo que sea,y nada me saca 0.00 y ademas me lo saca en todo, cuando le digo que solo me lo muestre cuando no esté vacio, incluso he robado a decirle que me lo saque cuando sea mayor de 0 y nada no hay manera de que funcione.

No se os ocurre de que puede ser?
  #20 (permalink)  
Antiguo 23/12/2007, 12:03
 
Fecha de Ingreso: diciembre-2007
Ubicación: La Plata
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Pequeño problema

Hola ... no estoy muy acostumbrado a realizar respuestas pero aca voy...

fijate en hacerle una comparación modificando su contenido a "integer"..


Código PHP:
  if (  (int)$linea->precio_oferta == 0){
      
// contenido
  
}

// otra posibilidad sería ...

  
if ($linea->precio_oferta <= 0){
      
// contenido
  

fijate .. saludos
Charly Novoa
  #21 (permalink)  
Antiguo 23/12/2007, 12:40
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

No puedo cambiar de float a integer poque necesito que pueda poner decimales, ya que estamos hablando de precios
  #22 (permalink)  
Antiguo 23/12/2007, 12:45
 
Fecha de Ingreso: diciembre-2007
Ubicación: La Plata
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Pequeño problema

Hola de nuevo...
mira yo lo habia transformado en Integer porque mysql a veces te devuelve los datos como string o hace confundir a php.. ya me ah pasado..

lo otro que puedes hacer es en ves de integer , pasarlos a float..

Código PHP:
  if (  (float)$linea->precio_oferta == 0){ 
      
// contenido 
  


cuentame si te funciona...
Saludos Charly
  #23 (permalink)  
Antiguo 23/12/2007, 12:57
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Nada Charly, yo ya no se que hacer,tambien hay que decir que soy novata ¿eh?

A ver en MYsql, ese campo es un float (5,2), udiendo ser nulo en estos momentos.
Ayer puse que no fuera nunca nulo y como predeterminado pusiera 0.00 ai en el if ponia, si es diferente o igual a 0.00....

Como no iba lo cambie a nulo y ponia si está vacio... pero tampoco, te pongo una web para que veas lo que hace, verás como saca 0.00 en todos, si en codigo funcionara tendría que salir en elpimer producto 20€, que es el que está de oferta y en el resto nada.

http://www.hasiandasha.com/castellan...cion.php?id=BO

A ver si puedes ayudarme por favor

Un saludo y muchas gracias

Alejandra
  #24 (permalink)  
Antiguo 23/12/2007, 13:12
 
Fecha de Ingreso: diciembre-2007
Ubicación: La Plata
Mensajes: 7
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Pequeño problema

veamos, otra opción que se me ocurre es rearmar la variable con un round...
y luego le preguntamos en todas sus posibilidades por si las dudas...

Código PHP:
$var_test round($linea->precio_oferta,2);

if ( (
$var_test== 0.00) || ($var_test== 0.0) || ($var_test== 0) ){ 
  
//contenido

espero que funcione
Saludos
Charly
  #25 (permalink)  
Antiguo 23/12/2007, 13:38
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Pequeño problema

Nada, yo no lo entiendo.

He vuelto a ponerlo en float (52) not null, default 0.00

Y el coigo lo tengo asi:

Código PHP:
if(!empty($linea->desde_es)){ 

    echo 
$linea->desde_es
    echo 
'<br>'

    }
    
if (
$linea->precio_oferta >0.00){   

    echo 
$linea->precio_minimo;    
    echo 
'&nbsp'
    echo 
'€';   
    echo 
'<br>'
    echo 
$linea->precio_oferta;    
    echo 
'&nbsp'
    echo 
'€';   

}else{  

    echo 
$linea->precio_minimo;    
    echo 
'&nbsp'
    echo 
'€';   

Bueno y las Css peolo he borrao para que no sea tan largo el cóigo, tal y como stá ahora, no saca nada, mira la eb que te he puesto antes y verás.

¡¡¡No sé qu ehacer!!!! Tengo qu emeter las ofertas y no puedo seguir hasta que esto no funcione!!!!
  #26 (permalink)  
Antiguo 23/12/2007, 19:25
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Pequeño problema

En estos casos, prueba utilizando un var_dump para ver exactamente qué es lo que trae las variables. Si además puedes colocar un ejemplo de lo que tienes en la BD y qué imprime el var_dump antes del IF sería de ayuda para ver el problema.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:32.