Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: dimitrix en 8 Septiembre 2008, 16:44 PM

Título: Si contiene unos caracteres
Publicado por: dimitrix en 8 Septiembre 2008, 16:44 PM
Bueno, estoy creando un progamita en sql que te muesta:

nombre, numero, sms y fecha.

Es para ordenador todos los sms que tengo y guardarlos.

El panel de control para guardar los datos y para leer todo esta bien, el problema me surge cuando quiero hacer que se muestren solos los enviados en el mes de enero, la fecha la guardo en este sistem: "dd/mm/aaaa", entonces si busco enero tendría que ver los que contienen "01/2008", ahí es donde me pierdo, el código para leer todo (y por si a alguien le interesa es:

Código (sql) [Seleccionar]
<?php

mysql_connect
("localhost","buscarde_usms","111111");

$result mysql_db_query("buscarde_sms"," SELECT * FROM `2008`");

while(
$fila mysql_fetch_array($result))

{
echo 
'<table border="0" width="50%" id="table1">
<tr>
<td bgcolor="#808080"><font color="#FFFFFF">'
.$fila["Nombre"].'</font></td>
<td bgcolor="#808080"><font color="#FFFFFF">'
.$fila["Número"].'</font></td>
<td bgcolor="#808080"><font color="#FFFFFF">'
.$fila["Fecha"].'</font></td>
</tr>
<tr>
<td colspan="3" bgcolor="#C0C0C0">'
.$fila["Mensaje"].'</td>
</tr>
</table><br>'
;


}
mysql_free_result($result);
?>


Creo que tendría que cambiar la linea:

Código (sql) [Seleccionar]
$result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008`");

Pero no se muy bien que poner, es decir como decirle "sólo los que en el parametro "fecha" contengan "esto"

Bueno, como ya dije estoy empezando a leer SQL para aprender, por eso quise hacer esto para aprender más, luego si sale chulo pondré todo el código y eso.

Un saludo y gracias.
Título: Re: Si contiene unos caracteres
Publicado por: luiggy2 en 8 Septiembre 2008, 17:05 PM
No se si te entendí bien, pero por si acaso busca información sobre "where" y "like" al hacer consultas en sql. Perdona que no te ponga alguna página, pero tengo poco tiempo, después si puedo te lo pongo.


Saludos!
Título: Re: Si contiene unos caracteres
Publicado por: luiggy2 en 8 Septiembre 2008, 19:07 PM
UN ejemplo sería algo asi:
Código (php) [Seleccionar]

$result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date >=
01/01/2008");


No se si así te funcionará, pero puedes probar.
Título: Re: Si contiene unos caracteres
Publicado por: dimitrix en 8 Septiembre 2008, 19:17 PM
Nop... lo que necesito es que "contenga", no que "sea" mayor, menor ni nada.
Título: Re: Si contiene unos caracteres
Publicado por: luiggy2 en 8 Septiembre 2008, 19:38 PM
Prueba esto:

Código (php) [Seleccionar]

$result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date LIKE '%/01/2008'");



Saludos!
Título: Re: Si contiene unos caracteres
Publicado por: dimitrix en 8 Septiembre 2008, 20:21 PM
Sí, muchas gracias amigo.

Ya se una cosa más.
Título: Re: Si contiene unos caracteres
Publicado por: :ohk<any> en 8 Septiembre 2008, 22:09 PM
Cita de: luiggy2 en  8 Septiembre 2008, 19:38 PM
Prueba esto:

Código (php) [Seleccionar]

$result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date LIKE '%/01/2008'");



Saludos!

Código (php) [Seleccionar]

$result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date REGEXP '01/2008$'");


De esa forma o de esta otra:

Código (php) [Seleccionar]

$result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date REGEXP '^01/2008'");


Para mas información:

http://dev.mysql.com/doc/refman/5.0/es/pattern-matching.html (http://dev.mysql.com/doc/refman/5.0/es/pattern-matching.html)

Es mejor utilizar REGEXP que LIKE

Un saludo

OHK

Título: Re: Si contiene unos caracteres
Publicado por: dimitrix en 8 Septiembre 2008, 22:46 PM
Gracias brother.