Comunidad de diseño web y desarrollo en internet online

Dudas al mostrar datos usando mysql y php

Citar            
MensajeEscrito el 18 Dic 2008 10:15 am
Buenas. Tengo una consulta php que me muestra una tabla de mi BD.
Tengo varios problemas.
-En la tabla de mi BD, los espacios se guardan como %20 y a la hora de hacer la consulta el php me muestra el %20 tal cual en vez de un espacio. Me gustaría saber como puedo solucionar esto.
-También me guarda de vez en cuando campos en blanco(lo cual no es problema porque guarda unas fechas) y me gustaría que al hacer la consulta, si el php ha encotrado campos en blanco en la consulta a la BD, no los muestre.
-En la base de datos también guardo la fecha en la que se insertó el comentario.
Me la guarda en forma de 14 dígitos consecutivos de esta forma 20081218085404 siendo el formato normal este 2008/12/18 08:54:04 . Asique me gustaria saber como imprimir la fecha de una forma "más elegante" que no sea con todos los dígitos apelotonados.

Alguien que tenga más conocimientos me puede dar su luz en este oscuro camino? XD

Ah! dejo el codigo de la consulta que va perfecto. Para que veais como hago la consulta y por si a alguien le pudiera servir :-) :

Código PHP :

<?php
$conexion=mysql_connect("localhost","nombre_usuario","clave_usuario") 
  or  die("Problemas en la conexion");
mysql_select_db("base_de_datos",$conexion) 
  or  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select TimePrint, nombre, mensaje from comentario",$conexion) or
  die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
  echo "Fecha:".$reg['TimePrint']."<br>";
  echo "Nick:".$reg['nombre']."<br>";
  echo "Comentario:".$reg['comentario']."<br>";
  switch ($reg['nada']) {
    case 1:echo "PHP";
           break;
    case 2:echo "ASP";
           break;
    case 3:echo "JSP";
           break;
  }
  echo "<br>";
  echo "<hr>";
}
mysql_close($conexion);
?>

Por xematick

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 18 Dic 2008 02:07 pm
¿Por qué siempre llegas con problemas extraños? :? :P:P:P

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 18 Dic 2008 02:19 pm
XD XD XD Porque soy un ser extraño XD.
Nada, he resuelto lo las fechas cambiando en la base de datos el campo a tipo timestamp y muestra las fechas en formato 2008/12/18/ 14:50:00
Asique la solución ha sido mejor imposible.
Me queda por resolver lo de los caracteres raros...

Por xematick

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 18 Dic 2008 10:34 pm
Al final he dado con esta solución. El unico problema es que me carga solo 3 valores de la tabla pero desde el más antiguo. Cómo seria que cargase 3 valrores desde el registro más reciente en mi BD, o desde la última fila añadida?

Código PHP :

<?php
$conexion=mysql_connect("localhost","++++","++++")  
  or  die("Problemas en la conexion");
mysql_select_db("aerotechdb",$conexion) 
  or  die("Problemas en la selección de la base de datos");
$registros=mysql_query("select TimePrint, nick, mensaje from tblMensajes LIMIT 3",$conexion) or
  die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
$UN_SALTO="\r\n"; 
$DOS_SALTOS="\r\n\r\n"; 
  echo $reg['TimePrint'].$UN_SALTO;
  echo $reg['nick'].":".$UN_SALTO;
  echo $reg['mensaje'].$DOS_SALTOS;
  switch ($reg['TimePrint']) {
    case 1:echo "PHP";
           break;
    case 2:echo "ASP";
           break;
    case 3:echo "JSP";
           break;
  }
}
mysql_close($conexion);
?>


-Y bueno, a ver si se presta alguien a ayudarme con esto, que aun no he dado con ninguna solución;
los textos que se guardan en mi base de datos(vienen de un FLASH pasado por php) no guardan espacios, tildes, acentos... como tal, si no que los codifica, por ejemplo los espacios a %20 etc etc. La cuestión es que como me las apaño para que me carge en el textarea esos datos sin estar codificados???

Por xematick

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 18 Dic 2008 11:30 pm
Para que te regrese los registros mas nuevos solo deberias hacer un ORDER BY en la consulta mysql, ya sea por fecha o por id de manera descendente.

Saludos

Por canastendo

9 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 19 Dic 2008 07:21 am
asi?:

Código PHP :

$registros=mysql_query("select TimePrint, nick, mensaje from tblMensajes ORDER BY 3",$conexion)

Por xematick

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 19 Dic 2008 07:58 am
vale, es así

Código PHP :

$registros=mysql_query("select TimePrint, nick, mensaje from tblMensajes ORDER BY IDMensaje DESC LIMIT 3",$conexion)

Por xematick

50 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 19 Dic 2008 08:00 am
Lo único que me falta por solucionar, es el tema de codificar los %20 y todos los acentos "eÑes" etc etc... Porque en mi base de datos los espacios se guardan como %20 y luego al cargar el texto en un text area me aparece tal cual.
Alguien sabe de esto un poco más por favor?

Por xematick

50 de clabLevel



Genero:Masculino  

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.