Si contiene unos caracteres

Iniciado por dimitrix, 8 Septiembre 2008, 16:44 PM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

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.




luiggy2

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!
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "

luiggy2

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.
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "

dimitrix

Nop... lo que necesito es que "contenga", no que "sea" mayor, menor ni nada.




luiggy2

Prueba esto:

Código (php) [Seleccionar]

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



Saludos!
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "

dimitrix

Sí, muchas gracias amigo.

Ya se una cosa más.




:ohk<any>

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

Es mejor utilizar REGEXP que LIKE

Un saludo

OHK

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

dimitrix