|
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? 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
$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 qué siempre llegas con problemas extraños? |
|
|
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... |
|
|
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
$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??? |
|
|
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 |
|
|
asi?: Código : $registros=mysql_query("select TimePrint, nick, mensaje from tblMensajes ORDER BY 3",$conexion) |
|
|
vale, es así Código : $registros=mysql_query("select TimePrint, nick, mensaje from tblMensajes ORDER BY IDMensaje DESC LIMIT 3",$conexion) |
|
|
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? |
|