Ayuda!! Actualizar tabla MySQL

Harr1 Seguir

Curioso
Verificación en dos pasos desactivada
Desde
16 Feb 2012
Mensajes
7
Buenos dias, mi problema es el siguiente:
Estoy haciendo un proyecto que es una web de futbol con PHP y MySQL y tengo en la BBDD la tabla clasificacion que se compone de:
- posicion
- equipo
- puntos
Mi problema esque no se como hacer (si se puede) para que al actualizar la tabla sumando puntos cambie la posicion de los equipos le ponga la 1 al que tenga mas puntos la 2 al siguiente y asi....
Alguien sabria? Es posible?

Muchas gracias. :)
 
Última edición:

Harr1

Curioso
Verificación en dos pasos desactivada
Desde
16 Feb 2012
Mensajes
7
el problema esque necesito ese campo porque en las caracteristicas de cada equipo dice la posicion en que estan... y lo saco de ahi, si no no sabria como sacarlo
 

lucianoche

Gamma
Verificación en dos pasos desactivada
Desde
17 Ene 2011
Mensajes
400
En las tablas no es relevante la posición en la que se encuentran las filas, de hecho si tienes 10 filas y eliminas la 3ra, cuando agregues otra fila ésta posiblemente ocupe el 3er lugar.

Puedes hacer lo que dice wsoul o puedes agregar otro campo a la tabla que sea la posición del equipo e ir actualizando ese campo cuando aumenta la cantidad de puntos de los equipos.
 

Harr1

Curioso
Verificación en dos pasos desactivada
Desde
16 Feb 2012
Mensajes
7
gracias por las respuestas, pero wsoul no entiendo que pretendes con eso... me podrias detallar mas? yo lo que quiero es actualizar la BBDD, osea que al añadir 3 puntos a un equipo si tiene 30 pase a tener 33 y las posiciones se organizen del que tenga mas puntos al que tenga menos
 
Última edición:

jpmaster

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Desde
22 Jun 2011
Mensajes
480
gracias por las respuestas, pero wsoul no entiendo que pretendes con eso... me podrias detallar mas? yo lo que quiero es actualizar la BBDD, osea que al añadir 3 puntos a un equipo si tiene 30 pase a tener 33 y las posiciones se organizen del que tenga mas puntos al que tenga menos

a lo que te refieres es a esto

PHP:
// $puntos aumenta 3 puntos
$puntos = 3;

//actualiza la tabla equipos columna puntos por id
//esto es igual update equipos set puntos +3 por id
if(mysql_query(sprintf("UPDATE equipos SET puntos='puntos+%d' WHERE id='%d'", $puntos, $id))){

 printf('se aumentaron %d puntos', $puntos);

}

y para mostrar de forma descendente, de mayor a menor

PHP:
$a = mysql_query(sprintf("SELECT * FROM equipos WHERE id = '%d' ORDER BY puntos DESC LIMIT 10"));

while($b =) mysql_fetch_array($a)){

//mostrando equipos
printf("equipo %s punto %d <br>", $b['equipo'], $b['puntos']);

}
 

Chapi

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
2 Ago 2011
Mensajes
618
Otra opcion es que hagas una vista en tu base de datos basada en esa tabla, con el criterio de ordenamiento correspondiente y despues querias esa vista. Te quedaria una especie de "tabla" autoactualizada por puntajes.

Si no tambien podes hacer un triger que se ejecute cuando updateas la tabla de equipos llamando a un store procedure que updatee la tabla de posisiones. Esto es mas complicado e inncesesario, dado que como te han comentado la tabla posiciones no deberia exister porque lo que estas teniendo ahi es datos calculables con informacion que ya existe en otra tabla.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba