Foros del Web » Programando para Internet » PHP »

duda con codigo no me funciona como quiero

Estas en el tema de duda con codigo no me funciona como quiero en el foro de PHP en Foros del Web. hola y saludos a ver como me echan una mano es que tengo este codigo trabajando @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php     ...
  #1 (permalink)  
Antiguo 03/01/2012, 20:36
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
duda con codigo no me funciona como quiero

hola y saludos a ver como me echan una mano es que tengo este codigo trabajando

Código PHP:
Ver original
  1. <?php
  2.     if ($row["baniado"] == "1") {
  3.       $color = "<tr class=\"bann\" align=\"left\">";
  4.     }
  5.     if ($row["baniado"] == "0") {
  6.       $color = "<tr class=\"odd\" align=\"left\">";
  7.     }
  8.      if($row["fecha_vencimiento"] < date('Y-m-d')) {
  9.       $color = "<tr class=\"disabled\" align=\"left\">";
  10.     }
  11.     print("".$color."");
  12. ?>

me trabaja todo bien pero cuando llega al ultimo if que es el de la fecha si quiero que funcione la de if ($row["baniado"] == "1") { no funciona ya que se queda siempre if($row["fecha_vencimiento"] < date('Y-m-d')) { y quiero que muestre la que este en el uso si cambio muestre los cambios
  #2 (permalink)  
Antiguo 03/01/2012, 21:13
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

explicate bien
  #3 (permalink)  
Antiguo 03/01/2012, 21:26
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: duda con codigo no me funciona como quiero

Código PHP:
Ver original
  1. <?php
  2.     if ($row["baniado"] == "1") {
  3.       $color = "<tr class=\"bann\" align=\"left\">";
  4.     }
  5.     if ($row["baniado"] == "0") {
  6.       $color = "<tr class=\"odd\" align=\"left\">";
  7.     }
  8.      if($row["fecha_vencimiento"] < date('Y-m-d')) {
  9.       $color = "<tr class=\"disabled\" align=\"left\">";
  10.     }
  11.     print("".$color."");
  12. ?>
es que el codigo me funciona bien pero hay un problema que si se activa el ultimo if que el utimo es este
if($row["fecha_vencimiento"] < date('Y-m-d')) {
$color = "<tr class=\"disabled\" align=\"left\">";
}

pues deja de funcionar los demas ya que llego la fecha pero si la coloco con fecha vencida y quiero colocarlo como baniado pues sige como vencido
  #4 (permalink)  
Antiguo 03/01/2012, 21:29
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: duda con codigo no me funciona como quiero

¿Qué tipo de campo es fecha_vencimiento? en caso de que sea Timestamp comparas con la función time()

Código PHP:
Ver original
  1. if($row["fecha_vencimiento"] < date('Y-m-d')) { //No puedes hacer esto

Si esta en formato de fecha no puedes comparar fechas de esta forma, necesitas funciones como strtotime.

Un ejemplo básico:

Código PHP:
Ver original
  1. <?php
  2. $fecha_act = time();
  3. $fecha_venc = '02-01-2012 13:00:00';
  4.  
  5. if (strtotime($fecha_venc) < $fecha_act) {
  6.     echo 'Esta vencido';
  7. } else {
  8.     echo 'No esta vencido';
  9. }

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 03/01/2012, 21:30
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

te dire lo que entendi y tu me dices si es eso vale

quieres que compruebe si esta baneado o no si esta baneado por ejemplo ponga rojo si no que ponga azul y si la fecha del baneo a expirado que quieres que haga hay es donde me pierdo
  #6 (permalink)  
Antiguo 03/01/2012, 21:39
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: duda con codigo no me funciona como quiero

majo meno es como dices jmabreu es que tengo ese codigo para mostrar un color

<?php
if ($row["baniado"] == "1") {
$color = "<tr class=\"Color Amarillo\" align=\"left\">";
}
if ($row["baniado"] == "0") {
$color = "<tr class=\"Color blanco\" align=\"left\">";
}
if($row["fecha_vencimiento"] < date('Y-m-d')) {
$color = "<tr class=\"Color Rojo\" align=\"left\">";
}
print("".$color."");
?>

ok pues cuando la $row["baniado"] == "0" me muestra el color blanco si la coloco $row["baniado"] == "1" me muestra amarillo y si esta $row["fecha_vencimiento"] < date('Y-m-d') me muestra rojo pero el problema que tengo es que si ya llego la fecha $row["fecha_vencimiento"] < date('Y-m-d')) la marca en rojo pero si quiero ponerla en $row["baniado"] == "1" para que salga amarillo sigue saliendo rojo a ver si pude esplicarme mejor y gracias por las ayuda.
  #7 (permalink)  
Antiguo 03/01/2012, 21:55
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

estoy pesimo pero bueno hay te explico lo que dices y te doy una mejor solucion
esto lo que hace la primera linea comprueba si esta baneado y si la fecha de vencimiento es menos a la actual y el segundo lo mismo pero si ya paso la fecha y el ultimo si no esta baneado

if($row['baneado']=='1' && $row["fecha_vencimiento"] < date('Y-m-d')){
//aqui pones el color que quieras

}
elseif($row['baneado']=='1' && $row["fecha_vencimiento"] > date('Y-m-d')){
//aqui pones el color que quieras

}elseif($row['baneado']=='0'){
//color blanco
}



claro esta comprueba la fecha como te han indicado mas arriba la pongo asi pero no la compruebes de esa manera
  #8 (permalink)  
Antiguo 03/01/2012, 21:58
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: duda con codigo no me funciona como quiero

Cuando aprendan a comparar fechas les va a funcionar el código...
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #9 (permalink)  
Antiguo 03/01/2012, 22:01
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

jajaja no te piques a mi me da flojera poner la comparacion claro porque ya la pusiste tu pero bueno no te pongas gruñon ya le pongo el codigo tuyo aunque es escribirlo dos veces
  #10 (permalink)  
Antiguo 03/01/2012, 22:15
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

andres tu codigo esta mal :D ciento corregirte


//comprobamos que no haya expirado conste el formato de la fecha es 31-12-2000


$fecha_act = strtotime(date('d-m-Y')); $fecha_venc = strtotime($row['fechavencimiento']);
if($fecha_venc < $fecha_act){$estado = 'expiro';}else{$estado = 'activo';}




//comprobamos que este baneado y que haya pasado la fecha de baneo o no

if($row['baneado']=='1' && $estado=='activo'){
//aqui pones el color que quieras sea el rojo o amarillo

}
elseif($row['baneado']=='1' && $estado=='expiro'){
//aqui pones el color que quieras esta baneado pero el baneo expiro

}elseif($row['baneado']=='0'){
//color blanco
}
  #11 (permalink)  
Antiguo 03/01/2012, 22:19
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: duda con codigo no me funciona como quiero

Cita:
Iniciado por jmabreu Ver Mensaje
andres tu codigo esta mal :D ciento corregirte
si! ¿donde está mal? más bien vos estás mal:

Código PHP:
Ver original
  1. $fecha_act = strtotime(date('d-m-Y'));

Esto es totalmente innecesario... Para eso existe time()
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 03/01/2012, 22:21
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

jejeje pruebalo y veras el que posteaste
  #13 (permalink)  
Antiguo 03/01/2012, 22:23
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

perdon andres estaba discutiendo con otro pana un tema de fechas disculpa lo tuyo esta bien lo que esta mal es el otro sigo discutiendo con el ::DDDDDD
  #14 (permalink)  
Antiguo 03/01/2012, 22:27
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: duda con codigo no me funciona como quiero

Cita:
Iniciado por jmabreu Ver Mensaje
jejeje pruebalo y veras el que posteaste
¿Sabes que hace la función time()? mejor te invito a leer el manual:

http://php.net/manual/es/function.time.php

Estamos comparando fechas en formato unix actual, por lo tanto no es necesaria la función strtotime ni la función date con su formato d-m-Y. Ese trabajo lo hace la función time().
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 03/01/2012, 22:32
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

jajaja que me equivoque de post viejo que te lo cojas con calma me equivoque de gente al corregir no te hiba a corregir a ti
  #16 (permalink)  
Antiguo 03/01/2012, 22:37
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: duda con codigo no me funciona como quiero

Cita:
Iniciado por jmabreu Ver Mensaje
estoy pesimo pero bueno hay te explico lo que dices y te doy una mejor solucion
esto lo que hace la primera linea comprueba si esta baneado y si la fecha de vencimiento es menos a la actual y el segundo lo mismo pero si ya paso la fecha y el ultimo si no esta baneado

if($row['baneado']=='1' && $row["fecha_vencimiento"] < date('Y-m-d')){
//aqui pones el color que quieras

}
elseif($row['baneado']=='1' && $row["fecha_vencimiento"] > date('Y-m-d')){
//aqui pones el color que quieras

}elseif($row['baneado']=='0'){
//color blanco
}



claro esta comprueba la fecha como te han indicado mas arriba la pongo asi pero no la compruebes de esa manera
Gracias amigo me funciono la el elseif
  #17 (permalink)  
Antiguo 03/01/2012, 22:40
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

pero usa la ultima o comprueba la fecha como la envio andres que es al manera correcta de comprobar la fecha de vencimiento
  #18 (permalink)  
Antiguo 03/01/2012, 22:54
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: duda con codigo no me funciona como quiero

como esta aqui

Código PHP:
Ver original
  1. <?php
  2.     if ($row["baniado"] == "1") {
  3.       $color = "<tr class=\"bann\" align=\"left\">";
  4.     }
  5.      elseif($row["fecha_vencimiento"] < date('Y-m-d')) {
  6.       $color = "<tr class=\"disabled\" align=\"left\">";
  7.     }
  8.     elseif ($row["baniado"] == "0") {
  9.       $color = "<tr class=\"odd\" align=\"left\">";
  10.     }
  11.     print("".$color."");
  12. ?>

y me trabaja sin problema gracias a todos por la ayuda
  #19 (permalink)  
Antiguo 03/01/2012, 22:58
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: duda con codigo no me funciona como quiero

solo una recomendacion ahora que estas comenzando utiliza palabras en vez de numeros pero eso queda a tu gusto

$row['baniado']=='baneado'

pero bueno eso no cambia nada pero considero que es mas comodo que estar con eso de 0 - 1

bueno ahora si voy a comer algo :D
  #20 (permalink)  
Antiguo 04/01/2012, 07:05
(Desactivado)
 
Fecha de Ingreso: septiembre-2010
Mensajes: 498
Antigüedad: 13 años, 7 meses
Puntos: 5
Respuesta: duda con codigo no me funciona como quiero

amigo es que eso es consulta a la sql y 0 = no y 1 = si

Etiquetas: quiero
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

SíEste tema le ha gustado a 1 personas




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