Foros del Web » Programando para Internet » PHP »

Cambiar por "msg" si fecha es == 00-00-0000

Estas en el tema de Cambiar por "msg" si fecha es == 00-00-0000 en el foro de PHP en Foros del Web. Hola, una vez más apelando a su sapiencia.. :D Aquí va el code, este script me imprime las fechas ya formateadas en una tabla. Ahora ...
  #1 (permalink)  
Antiguo 26/07/2008, 01:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 19 años, 6 meses
Puntos: 0
Mensaje Cambiar por "msg" si fecha es == 00-00-0000

Hola, una vez más apelando a su sapiencia.. :D

Aquí va el code, este script me imprime las fechas ya formateadas en una tabla.
Ahora bien, deseo que cuando aparezca un registro del tipo 00-00-0000 se cambie por una palabla... intenté con un if después de mysql_fetch_array pero he fracazado :(...

Código PHP:
<?
$db_conexion 
mysql_connect("$sql_host""$sql_usuario""$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());
$nick_consulta mysql_query("SELECT *, DATE_FORMAT(fecha_inicio,'%d-%m-%Y') AS fecha_inicio2, DATE_FORMAT(fecha_fin,'%d-%m-%Y') AS fecha_fin2 FROM $sql_usuarios") or die("No se pudo realizar la consulta a la Base de datos");

if (
$row mysql_fetch_array($nick_consulta)){
echo 
"<table width='90%' border='1' align=center cellspacing='0' cellpadding='1' bgcolor='#CCCCCC' bordercolor=#000000 style='border-collapse: collapse'>";
echo 
"<tr border='1' align=center bordercolor=#000000>";
echo 
"<td><b>ID</b></td>";
echo 
"<td><b>NICK</b></td>";
echo 
"<td><b>TIPO DE SANCI&Oacute;N</b></td>";
echo 
"<td><b>DESDE</b></td>";
echo 
"<td><b>HASTA</b></td>";
echo 
"<td><b>RESPONSABLE</b></td>";
echo 
"<td><b>COMENTARIO</b></td>";
echo 
"</tr>";
do {
echo 
"<tr border='1' align=center bordercolor=#000000 bgcolor='#C2C7CF'>";
echo 
"<td>".$row["ID_us"]."</td>";
echo 
"<td>".$row["nick"]."</td>";
echo 
"<td>".$row["tipo_sancion"]."</td>";
echo 
"<td>".$row["fecha_inicio2"]."</td>";
echo 
"<td>".$row["fecha_fin2"]."</td>";
echo 
"<td>".$row["responsable"]."</td>";
echo 
"<td>".$row["comentario"]."</td>";
echo 
"</tr>";
} while (
$row mysql_fetch_array($nick_consulta));
echo 
"</table>";
} else {
echo 
"No hay registro de sancionados";
}

mysql_free_result($nick_consulta);
mysql_close();
?>
Gracias al menos por leer :P y muchas más si me dan una pauta para seguir investigando..

The Fantas®
  #2 (permalink)  
Antiguo 26/07/2008, 02:09
Avatar de frins  
Fecha de Ingreso: enero-2008
Ubicación: Osor, Girona
Mensajes: 227
Antigüedad: 16 años, 10 meses
Puntos: 5
Respuesta: Cambiar por "msg" si fecha es == 00-00-0000

hola, he hecho unas modificaciones, pero no se si iran vien ya que no lo he podido probar.

Código PHP:
if($row['fecha_inico2']== '00-00-00'){
    echo 
'Lo que quieras';
}
else{
echo 
"<td>".$row["fecha_inicio2"]."</td>";
echo 
"<td>".$row["fecha_fin2"]."</td>";

__________________
Buscador Net-Seekr
http://www.net-seekr.com
  #3 (permalink)  
Antiguo 26/07/2008, 05:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Cambiar por "msg" si fecha es == 00-00-0000

Tambien puedes hacerlo asi:
Código PHP:
do {
    
$inicio $row["fecha_inicio2"] == '00-00-00'?"el texto que quieras":$row["fecha_inicio2"];
    
$fin $row["fecha_fin2"] == '00-00-00'?"el texto que quieras":$row["fecha_fin2"];
    echo 
"<tr border='1' align=center bordercolor=#000000 bgcolor='#C2C7CF'>";
    echo 
"<td>".$row["ID_us"]."</td>";
    echo 
"<td>".$row["nick"]."</td>";
    echo 
"<td>".$row["tipo_sancion"]."</td>";
    echo 
"<td>".$inicio."</td>";
    echo 
"<td>".$fin."</td>";
    echo 
"<td>".$row["responsable"]."</td>";
    echo 
"<td>".$row["comentario"]."</td>";
    echo 
"</tr>";
} while (
$row mysql_fetch_array($nick_consulta)); 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #4 (permalink)  
Antiguo 26/07/2008, 15:33
 
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Cambiar por "msg" si fecha es == 00-00-0000

Sí, gracias a los 2.. el script q me funcionó fue el de Marvin muchas gracias ;)

Saludos
  #5 (permalink)  
Antiguo 26/07/2008, 22:42
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Cambiar por "msg" si fecha es == 00-00-0000

Otra forma en como lo puedes hacer, sin quitarle merito a Marvin claro está , es filtando los datos desdel el SQL, aqui un ejemplo:

Código PHP:
$select "SELECT name, IF(fecha='0000-00-00','palabra X',fecha) as fecha FROM users" 
La interpretacion es sencilla, si fecha es igual a '0000-00-00' entonces que se escriba palabra x, sino que se escriba el contenido del campo fecha

De esta manera se puede ahorrar un "if" al momento de mostrar todos los datos en una tabla.

Puedes echarle un vistazo a las funciones de control de mysql

Saludos.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #6 (permalink)  
Antiguo 23/09/2008, 01:43
 
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Cambiar por "msg" si fecha es == 00-00-0000

Buen punto.. pero cómo sería con DATE_FORMAT?... he probado de varios modos pero no logro ejecutar el IF y DATE_FORMAT...

Saludos
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 13:08.