elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 96
211  Programación / PHP / Re: Programando de una db segura con PHP [Duda] en: 29 Marzo 2010, 20:10 pm
No funciona PHP con los procedimientos almacenados con el modulo tradicional  :-X 

De esto no tenia constancia... en Perl al menos con su modulo DBI::Mysql funciona tanto tipo consulta SQL como si llamaras un procedimiento con la clausula CALL (sigue siendo una consulta SQL aunque llames un procedimiento en vez de pasar la consulta completa escrita).

Me gustan los procedimientos porque todo el trabajo lo hace el motor, por ende si tienes alguna falla en tu codigo que puedan traspasar y colarse al motor MySQL, quedara mas dificil vulnerar este si todo se maneja por procedimientos.... podria tambien implementar el las dos cosas, proteccion por codigo y por DB
212  Programación / PHP / Re: Programando de una db segura con PHP [Duda] en: 29 Marzo 2010, 19:41 pm
Puedes implementar lo que solicitas a nivel de lenguaje de programacion o a nivel de Base de datos.

A nivel de programacion, tienes por ejemplo lo que recomienda Napk.... (habran mas a lo mejor, pero no es mi area  ;) )

A nivel de base de datos, puedes dar uso de procedimientos almacenados, limitar cuales clausulas utilizara el usuario por defecto para la base de datos, puedes inclusive usar herramientas extras como MySQL Proxy (Esto es una aplicacion que ofrece la empresa de MySQL luego SUN y ahora Oracle ya que Mysql es de Oracle  :xD ) esta herramienta, es especifica para filtrar todo lo que llega ya que la consulta pasa por esta antes de llegar al motor de MySQL (Esta herramienta la desarrollo MySQL para evitar los SQL Injections segun..) Tambien tienes otra herramienta llamada GreenSQL que haria lo mismo....

Pero a nivel de DB, nada mejor que los procedimientos almacenados o funciones (siempre y cuando no quieras dar uso de aplicaciones extras)
213  Programación / Bases de Datos / Re: Comprimir tabla MySQL (MyISAM) en: 29 Marzo 2010, 19:36 pm
Te diria que utilizes myisampack pero como ya te dijeron no podras insertar, actualizar, eliminar esos registros de esas tablas  :laugh:  al menos que hagas un rejuego del tema (si sabes que no insertas y actualizas o borras mucho) antes de dar uso del myisampack haces un backup logico (un Dumpeo de las tablas con mysqldump) lo mantienes guardado el archivito *.sql luego pasas myisampack sobre las tablas para que compriman y ya cuando vayas a actualizar, eliminar o insertar... tendras que eliminar las tablas y montar el backup que hiciste con el Dump, ahi modificas o eliminas o insertas lo que ibas a hacer y ya hecho, vuelves a hacer un backup (para tener los ultimos datos) y luego a comprimir con myisampack y se repite el proceso  ;)  una tarea un poco trabajosa si... pero puede hacerse y manejarse a traves de scripts para que sean mas faciles.

SObre el motor Archive, tiene esos inconvenientes (no utiliza indices  :-(  y solo puedes insertar ) muy eficiente para datawarehouse  :xD  ocupa 65% menos espacio que el tipico Myisam y al menos 75% menos espacio que el  transaccional InnoDB  ;)  Puedes considerar la idea anterior, o como bien dices agrandar el espacio para MySQL o hacerle una particion unica para la metadata de MySQL

Saluditos  :-*
214  Programación / Bases de Datos / Re: Ayuda con Consulta. en: 27 Marzo 2010, 05:52 am
Realmente, la consulta es correcta. Pero, el motor de MySQL ve un problema al querer comparar dos valores (=)  codificados con diferente juego de caracteres.

Para darle solucion a tu problema ya que te seguiras topando con el mismo sino lo cortas de raiz... Hay que indicarle a PHP que realize las consultas siempre con un solo juego de caracteres.

Haz lo siguiente chico...

En tu codigo PHP en la parte donde vayas a trabajar con MySQL edita y haz lo siguiente:

Citar

<?php

@mysql_query("SET collation_connection = latin1_spanish_ci;");
 
$result=mysql_query("bla bla bla



O de paso reiniciar el servidor con ese collation asignado pero nahhh , haz lo anterior dentro de tu PHP  :P
215  Programación / Bases de Datos / Re: Ayuda con sentencia sql en: 26 Marzo 2010, 17:51 pm
Citar
pero lo que tu me estas sacando aqui, no es la cantidad de partidos ganados, sino los puntos no?, por lo que veo

porque los rojos no ganaron 60 partidos

Nope, realmente mi ejemplo se basaba como si "Los Rojos" en una temporada ganaron 60 juegos, y en otra temporada ganaron 40 juegos... lo que hace el desconocimiento chico  ;)  lamentablemente, no es solamente colocar la estructura fisica de tus tablas... sino el contenido que tiene dentro, para tener las ideas mas claras de como sacar lo que estas buscando. Porque estructuralmente, uno puede imaginarse muchas cosas y asumir muchas cosas cuando la tuya tiene otra forma...

Ahora si te fijaste en el ejemplo de ssccaann43   aqui el te mostro como resultado, los equipos con mas juegos ganados, y el nombre de los equipos que ganaron dichos juegos... me parece que eso es lo que finalmente estas solicitando. Como el mismo te ha dicho no es una peticion dificil ni complicada, pero es normal la existencia de conocimientos cuando solo podemos ver la parte fisica de modelo de unas tablas...  :P
216  Programación / Bases de Datos / Re: Ayuda con sentencia sql en: 26 Marzo 2010, 17:29 pm
Pero 50l3r  si ya te hemos expuestos 2 ejemplos de lo que buscabas  :xD  :xD  :xD
217  Programación / Bases de Datos / Re: Ayuda con sentencia sql en: 26 Marzo 2010, 00:30 am
Hola ssscaann43.

No digo que tu idea este equivocada, porque puede ser funcional... yo ofreci un ejemplo que podia ayudarlo , mas no una solucion, ya que yo desconozco totalmente los registros existentes en las tablas para tener una idea mas organizada que datos esta el solicitando. Estoy adivinando acorde a la estructura de tablas que el ofrecio, y imagine que el campo resultado_equipo1 era el campo que guarda los juegos ganados por temporada  ;)

Yo coloque como campo de cantidad de partidos ganados resultado_equipo1  hay salen varios valores, segun de partidos ganados por distintas temporadas 40, 50, 60, 10, etc. Entonces esa seria la cantidad de juegos ganados por equipos usando de relacion el campo registro existente en ambas tablas.

Entonces los nombres de los equipos en mi ejemplo son el campo nombre de la tabla Equipos, en mi caso se repiten varias veces los equipos como podras ver, porque han jugado y ganado en diferentes temporadas  ;)

Entonces si lo anterior es valido, para sacar el maximo de partidos ganados por temporada de cada equipo, se haria la consulta SQL que hice, y que te lanza de resultado la cantidad de juegos mayor ganada por equipo, y el nombre del respectivo equipo que la gano:

Citar
+------------------+---------------+
| Partidos_Ganados | Equipo        |
+------------------+---------------+
|               60 | Los rojos     |
|               80 | Los Azules    |
|               15 | Los Amarillos |
+------------------+---------------+


Si te fijas, el equipo "Los Rojos" jugaron 2 temporadas, en una ganaron 40 juegos y en la otra 60 juegos, miralo en la tabla:

Citar
mysql> SELECT * FROM partidos;
+----------+-------------------+
| registro | resultado_equipo1 |
+----------+-------------------+
|        1 |                60 |
|        2 |                80 |
|        1 |                40 |
|        2 |                30 |
|        3 |                15 |
+----------+-------------------+
5 rows IN SET (0.01 sec)
 
mysql> SELECT * FROM equipos;
+----------+---------------+
| registro | nombre        |
+----------+---------------+
|        1 | Los rojos     |
|        2 | Los Azules    |
|        1 | Los rojos     |
|        3 | Los Amarillos |
|        2 | Los Azules    |
+----------+---------------+
5 rows IN SET (0.00 sec)


El campo que sirve de relacion en mi ejemplo es registro entonces, el Equipo "Los Rojos" jugo 2 temporadas donde la cantidad mayor de juegos ganados es 60  ;)  descartando donde ellos mismos ganaron 40 partidos....

50l3r

La funcion MAX en SQL obtiene precisamente el numero mayor o maximo existente en un campo de la tabla. Utilize GROUP BY para indicar que me sacara el numero mayor de partidos jugados por cada Equipo... y ese fue el resultado final, el que postee anteriormente.
218  Programación / Bases de Datos / Re: Ayuda con sentencia sql en: 25 Marzo 2010, 19:02 pm
Nope la peticion en si no esta dificil  ;)  el problema es que al menos yo no entiendo del todo tu peticion, pero guiandome de tus ejemplos mostrados al inicio, cree 2 tablas con la informacion que quieres obtener al final;

Código
  1.  
  2. mysql> SELECT * FROM partidos;
  3. +----------+-------------------+
  4. | registro | resultado_equipo1 |
  5. +----------+-------------------+
  6. |        1 |                60 |
  7. |        2 |                80 |
  8. |        1 |                40 |
  9. |        2 |                30 |
  10. |        3 |                15 |
  11. +----------+-------------------+
  12. 5 ROWS IN SET (0.01 sec)
  13.  
  14. mysql> SELECT * FROM equipos;
  15. +----------+---------------+
  16. | registro | nombre        |
  17. +----------+---------------+
  18. |        1 | Los rojos     |
  19. |        2 | Los Azules    |
  20. |        1 | Los rojos     |
  21. |        3 | Los Amarillos |
  22. |        2 | Los Azules    |
  23. +----------+---------------+
  24. 5 ROWS IN SET (0.00 sec)
  25.  
  26.  
  27.  

Citar
hallar el numero maximo de partidos ganados por cada equipo añadiendo el nombre del equipo y ordenar el resultado decrecientemente por el nº de partidos ganados


Ahora, tu enunciado dice, que encuentre el total de partidos ganados por equipo, y diga cuales fueron esos equipos y el resultado final los ordene de manera descendente? entonces seria algo tipo:

Código
  1.  
  2. mysql> SELECT MAX(resultado_equipo1) AS Partidos_Ganados, nombre AS Equipo  FROM  partidos JOIN equipos ON equipos.registro = partidos.registro GROUP BY partidos.registro ORDER BY nombre DESC;
  3. +------------------+---------------+
  4. | Partidos_Ganados | Equipo        |
  5. +------------------+---------------+
  6. |               60 | Los rojos     |
  7. |               80 | Los Azules    |
  8. |               15 | Los Amarillos |
  9. +------------------+---------------+
  10. 3 ROWS IN SET (0.00 sec)
  11.  
  12.  
219  Programación / Desarrollo Web / Re: Cosulta de base de datos para joomla en: 24 Marzo 2010, 20:31 pm
Sino encuentras un componente favorable para tu situacion para implementar en Joomla esta un poco complicado.. porque seria crear un proyecto web de esta indole desde cero, y desde cero no solo implica estructurar las tablas para este proposito (Al inicio pueden ser pocas tablas, ya que tu unico objetivo es que un estudiante consulte su record de notas). Pero es bastante probable que mas adelante el colegio se antoje de tener un record de pagos del estudiante, direcciones, etc, etc... y ahi requeririas estructurar mas tablas...

Sino sabes nada nada de base de datos, ni nada nada de algun lenguaje de programacion web comenzar un proyecto desde cero tomara su tiempo largo y no terminara siendo muy estable o seguro.

Yo te recomendaria que intentes buscar un gestor de contenido similar a Joomla que soporte dicho componente pero como yo particularmente no conozco alguno no te lo facilito, si otro tiene nociones de la existencia de alguno, ojala te lo pueda facilitar.
220  Programación / Bases de Datos / Re: Ayuda con sentencia sql en: 24 Marzo 2010, 17:33 pm
Citar
Yo presumo que tiene un chapuzon de dudas y confusiones, creo que con mi post resuelve su duda...!

Ojala sea asi  :rolleyes:  porque particularmente yo... he entendido muy poco sus respuestas y lo que anda solicitando.
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines