Foros del Web » Programando para Internet » PHP »

Ordenar tabla en mysql por resultado de suma php

Estas en el tema de Ordenar tabla en mysql por resultado de suma php en el foro de PHP en Foros del Web. Estoy trabajando con php+mysql, e logrado sacar la estadistica de equipos de futbol y tengo la siguiente tabla como resultado. Para sacar a todos los ...
  #1 (permalink)  
Antiguo 22/03/2010, 09:50
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Ordenar tabla en mysql por resultado de suma php

Estoy trabajando con php+mysql, e logrado sacar la estadistica de equipos de futbol y tengo la siguiente tabla como resultado.
Para sacar a todos los equipos o consultarlos hago lo siguiente.
Código PHP:
Ver original
  1. <?php
  2. $equipos=$sql->consulta("SELECT * FROM equipos WHERE idliga=".$c['1']." AND estatus=1 AND idcategoria=".$c['0'],$dbi)or die(mysql_error()."Consulta-Equipos");
  3. while($e=$sql->consultamatriz($equipos)){
  4. //Aqui hago todas las consultas para estadistica.
  5. }
  6. ?>
Mi gran duda es como hacer para ordenar la tabla de equipos mediante los puntos que tiene el equipo, si no tengo el campo de puntos dentro de ninguna tabla, y los puntos los saco dentro del while, es decir posterior a la consulta de equipos.
Puntos= partidos_ganados*3+partidos_emaptados


__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #2 (permalink)  
Antiguo 22/03/2010, 09:53
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Ordenar tabla en mysql por resultado de suma php

Puntos= partidos_ganados*3+partidos_emaptados

Código SQL:
Ver original
  1. SELECT *, ((partidos_ganados * 3) + partidos_empatados) AS puntos_total ORDER BY puntos_total

prueba de esa forma

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 22/03/2010, 09:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Respuesta: Ordenar tabla en mysql por resultado de suma php

la sentencia mysql seria algo como
SELECT * FROM tabla ORDER BY puntos DESC


Hidek1, te adelantaste!! :D
pero no se lo des tan hecho, que así nadie aprende.
__________________
"Prefiero callar como un tonto, que hablar para confirmarlo"
Espectacular Portal en crecimiento: Artículos http://www.blorgia.com

Última edición por jovendigital; 22/03/2010 a las 09:55 Razón: felicitaciones a Hidek1, por su rapidez
  #4 (permalink)  
Antiguo 22/03/2010, 10:10
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Ordenar tabla en mysql por resultado de suma php

Se me paso explicar de que tengo la tabla equipos y otra de partidos, entonces dentro del while hago consultas a la tabla de partidos para sacar los puntos de los equipos, aqui es una parte del codigo para la consulta de partidos segun los equipos existentes, mas abajo pongo la estructura de mis tablas. gracias.
Código PHP:
Ver original
  1. <?php
  2. $equipos=$sql->consulta("SELECT * FROM equipos WHERE idliga=".$c['1']." AND estatus=1 AND idcategoria=".$c['0'],$dbi)or die(mysql_error()."Consulta-Equipos");
  3. while($e=$sql->consultamatriz($equipos)){
  4. $pjganados=$sql->consulta("SELECT COUNT(idpartido) FROM partidos WHERE idlocal=".$e['0']." AND gollocal>golvisita ",$dbi)or die(mysql_error());
  5. }
  6. ?>
Código MySQL:
Ver original
  1. CREATE TABLE `equipos` (
  2.   `idequipo` int(10) NOT NULL auto_increment,
  3.   `idliga` int(10) default '0',
  4.   `nombrelargo` varchar(255) default '0',
  5.   `nombrecorto` varchar(50) default '0',
  6.   `idcategoria` int(2) default '0',
  7.   `Historia` longtext,
  8.   `logo` varchar(50) default '0',
  9.   `estatus` int(3) default '0',
  10.   `idgrupo` int(3) default '0',
  11.   PRIMARY KEY  (`idequipo`)
  12. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
  13.  
  14.  
  15. CREATE TABLE `partidos` (
  16.   `idpartido` int(10) NOT NULL auto_increment,
  17.   `idliga` int(10) default '0',
  18.   `idcategoria` int(10) default '0',
  19.   `fecha` date default NULL,
  20.   `idlocal` int(11) default NULL,
  21.   `idvisita` int(3) default NULL,
  22.   `gollocal` int(2) default NULL,
  23.   `golvisita` int(2) default NULL,
  24.   `jornada` int(2) default '0',
  25.   `estatus` int(2) default '0',
  26.   `idtorneo` int(2) default '0',
  27.   `idcampo` int(2) default '0',
  28.   `hora` time default '00:00:00',
  29.   PRIMARY KEY  (`idpartido`)
  30. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
__________________
"Diseño de software a la medida"

http://www.sadhoc.com

Etiquetas: mysql, suma, tablas, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:53.