Foro de elhacker.net

Programación => 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
  1. <?php
  2.  
  3. mysql_connect("localhost","buscarde_usms","111111");
  4.  
  5. $result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008`");
  6.  
  7. while($fila = mysql_fetch_array($result))
  8.  
  9. {
  10. echo '<table border="0" width="50%" id="table1">
  11. <tr>
  12. <td bgcolor="#808080"><font color="#FFFFFF">'.$fila["Nombre"].'</font></td>
  13. <td bgcolor="#808080"><font color="#FFFFFF">'.$fila["Número"].'</font></td>
  14. <td bgcolor="#808080"><font color="#FFFFFF">'.$fila["Fecha"].'</font></td>
  15. </tr>
  16. <tr>
  17. <td colspan="3" bgcolor="#C0C0C0">'.$fila["Mensaje"].'</td>
  18. </tr>
  19. </table><br>';
  20.  
  21.  
  22. }
  23. mysql_free_result($result);
  24. ?>

Creo que tendría que cambiar la linea:

Código
  1. $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
  1. $result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date >=
  2. 01/01/2008");
  3.  

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
  1. $result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date LIKE '%/01/2008'");
  2.  


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
Prueba esto:

Código
  1. $result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date LIKE '%/01/2008'");
  2.  


Saludos!

Código
  1. $result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date REGEXP '01/2008$'");
  2.  

De esa forma o de esta otra:

Código
  1. $result = mysql_db_query("buscarde_sms"," SELECT * FROM `2008` WHERE date REGEXP '^01/2008'");
  2.  

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.