Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Mac en 18 de Octubre 2013, 02:31
-
Hola comunidad ... trabajando con MySQL tengo el siguiente código que e realizado ... en el siguiente código tengo una tabla en la base de datos .. la cual quiero actualizar las posiciones de lo equipos de juego ! .. quiero hacer que la posición numero 6 del equipo de juego quede ubicada en la tabla en la posición numero 1 ó que se ruede a la posición de arriba por sus puntos obtenido .. Mi Pregunta seria la siguiente .......
Cual es y como coloco la Función de MySQL que me hace rodar las filas ó las posiciones en la Base De Datos En la tabla por puntos ganados ?
<?php
$equipo1=$_POST['equipo1'];
$equipo2=$_POST['equipo2'];
$goles1=$_POST['goles1'];
$goles2=$_POST['goles2'];
$conecta=mysql_connect("localhost","root","");
if($conecta){
mysql_select_db("liga",$conecta);
if($goles1==$goles2){
mysql_query("update tabladeposiciones set pe=pe+1, pj=pj+1, gf=gf+'$goles1', gc=gc+'$goles2', gd=gf-gc, pts=pts+1 where equipos='$equipo1' or equipos='$equipo2'");
echo "Ok se actualizo el empate entre ".$equipo1."y".$equipo2." actualice en phpAdmin Verifique";
}
if($goles1>$goles2){
mysql_query("update tabladeposiciones set pg=pg+1, pj=pj+1, gf=gf+'$goles1', gc=gc+'$goles2', gd=gf-gc, pts=pts+3 where equipos='$equipo1'");
mysql_query("update tabladeposiciones set pp=pp+1, pj=pj+1, gf=gf+'$goles2', gc=gc+'$goles1', gd=gf-gc where equipos='$equipo2'");
echo "Ok se actualizo Victoria ".$equipo1."sobre el ".$equipo2." actualice en phpAdmin Verifique";
}
if($goles1<$goles2){
mysql_query("update tabladeposiciones set pp=pp+1, pj=pj+1, gf=gf+'$goles1', gc=gc+'$goles2', gd=gf-gc where equipos='$equipo1'");
mysql_query("update tabladeposiciones set pg=pg+1, pj=pj+1, gf=gf+'$goles2', gc=gc+'$goles1', gd=gf-gc, pts=pts+3 where equipos='$equipo2'");
echo "Ok se actualizo Vicoria ".$equipo2."sobre el ".$equipo1." actualice en phpAdmin Verifique";
}
mysql_close($conecta);
}
else{
echo"lo sentimos no fue posible la conexion con My_sql";
}
?>
-
Los estoy ordenando con esta función de MySQL pero no me corre la fila, insertándolo en cada siclo if
-----------------------------------------------------------------------------------------------------
mysql_query("SELECT pos, equipos, pj, pg, pe, pp, gf, gc, gd, gfv, gcv, pts FROM tabladeposiciones ORDER BY pts desc");
-
Cuando tienes una tabla no puedes alterar las posiciones de sus filas, ya que mysql las ordena automáticamente a medida que se van insertando. Lo que sí puedes hacer es realizar una consulta dándole el orden que tú quieras en base a un criterio. Las tablas se usan simplemente para almacenar información sin tener que respetar un orden, luego el orden lo creas cuando haces las consultas y así sacas la información ordenada.
-
Bueno sigo sin entender ! como podría subir las filas ?
-
ya le di el orden en base a un criterio y no me deja ! con esta funcion ORDER BY
-
Lo primero que seria lógico hacer es entrar en MySql y comprobar que la sintaxis la tenga correcta. Para ello accede al cPanel y luego a phpMyAdmin y ejecuta una orden como esta:
SELECT pos, equipos, pj, pg, pe, pp, gf, gc, gd, gfv, gcv, pts FROM tabladeposiciones ORDER BY pts DESC
Tienes que comprobar que el resultado que obtienes sea correcto, el resultado tiene que ser una tabla con 12 columnas. Si no es correcto puede pasar que:
- No existe un campo denominado pts en la tabla
- El campo pts está vacío o es NULL
Si en phpMyAdmin no te sale tampoco te saldrá desde código
-
Mastermind si ... !! efectivamente lo ejecute desde la consola de phpmyadmin y me corrió las fila quisiera saber como lo coloco en el código
-
en que parte del código y como va la sintaxis para que me pueda correr las filas ?
-
Una vez realizas la consulta en php el resultado ya lo obtienes ordenado, lo único que te es necesario es recorrer las filas del resultado y en cada fila extraer la información que quieras mostrar. Por ejemplo (aquí los datos de la base de datos son imaginarios):
<html> // Ejemplo php con bases de datos aprenderaprogramar.com
<body>
<?php
$link = mysql_connect("sql203.byethost7.com", "b7_10356956", "*****");
mysql_select_db("b7_10356956_mibasededatos", $link);
$result = mysql_query("SELECT pos, equipos, pj, pg, pe, pp, gf, gc, gd, gfv, gcv, pts FROM tabladeposiciones ORDER BY pts DESC", $link);
// comienza un bucle que leerá todos los registros existentes
while($row = mysql_fetch_array($result)) {
// $row es un array con todos los campos existentes en la tabla
echo "<hr>";
echo "Posicion: ".$row['pos']."<br>";
echo "Equipo: ".$row['equipos']."<br>";
echo "Partidos jugados: ".$row['pj']."<br>";
echo "Partidos ganados:".$row['pg']."<br>";
echo "Partidos empatados:".$row['pe']."<br>";
echo "Y asi continuamos extrayendo campos"<br>";
} // fin del bucle de instrucciones
mysql_free_result($result); // Liberamos los registros
mysql_close($link); // Cerramos la conexion con la base de datos
echo "<hr>";
?>
</body>
</html>