Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/11/2008, 23:12
diazhh
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: ordenar por pesos en registros.

con un bucle recorri la consulta a la db que hice arriba, e hice una seccion que selecciona la imagen a mostrar. en este caso muestra si requiere imprimir una flecha hacia arriba, una hacia abajo o ambas. esto lo hago con el siguiente script:
Código PHP:
if ($row_soluciones['nivel'] == 1){
        
$p 1;
        }elseif (
$totalRows_soluciones == $row_soluciones['nivel']){
        
$p 2;
        }else{
        
$p 3;
        } 
asi que si lo que va a imprimir es el peso '1' entonces la variable $p la inicializo con 1, esto mas adelanta hara que se muestra la flecha hacia abajo con un vinculo que luego usare para darle ms peso a este registro.
Código HTML:
if ($p == 1){
			?>
            <a href="modulos.php?nombre=soluciones&partes=<?php echo $_GET['partes']; ?>&problema=<?php echo $_GET['problema']; ?>&b_bajar=<?php echo $b_bajar; ?>&b_subir=<?php echo $row_soluciones['nivel']; ?>&id2=<?php echo $row_soluciones['id']; ?>"><img border="0" src="img/down.gif" /></a>
            <?php 
			}
ahora bien si lo que va a imprimir en pantalla es el registro de mayor peso entonces inicializa $p con el dato '2' mostrando una flecha hacia arriba con un vinculo que luego usaremos
Código HTML:
if ($p == 2){
			?>
            <a href="modulos.php?nombre=soluciones&partes=<?php echo $_GET['partes']; ?>&problema=<?php echo $_GET['problema']; ?>&s_bajar=<?php echo $s_bajar; ?>&s_subir=<?php echo $row_soluciones['nivel']; ?>&id2=<?php echo $row_soluciones['id']; ?>"><img border="0" src="img/up.gif" /></a>
            <?php 
			}
ahora si la situacion no concuerda con ninguna de estas cosas entonces se supone que es un valor intermedio a lo que muestras las 2 flechas para que puedas o darle mayor peso o quitarle peso:
Código HTML:
if ($p == 3){
			?>
            <a href="modulos.php?nombre=soluciones&partes=<?php echo $_GET['partes']; ?>&problema=<?php echo $_GET['problema']; ?>&s_bajar=<?php echo $s_bajar; ?>&s_subir=<?php echo $row_soluciones['nivel']; ?>&id2=<?php echo $row_soluciones['id']; ?>"><img border="0" src="img/up.gif" /></a>
            <?php
			?>
            <a href="modulos.php?nombre=soluciones&partes=<?php echo $_GET['partes']; ?>&problema=<?php echo $_GET['problema']; ?>&b_bajar=<?php echo $b_bajar; ?>&b_subir=<?php echo $row_soluciones['nivel']; ?>&id2=<?php echo $row_soluciones['id']; ?>"><img border="0" src="img/down.gif" /></a>
            <?php 
			}
y por ultimo al darle click a a a flecha de bajar peso entonces se ejecuta este script
Código PHP:
if (isset($_GET['b_bajar'])) {
$a $_GET['b_subir'];
$b $_GET['b_bajar'];
  
$updateSQL sprintf("UPDATE soluciones SET nivel = $a WHERE (nivel=%s AND id_problema = $_GET[problema]) LIMIT 1",
                       
GetSQLValueString($b"int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());

  
$updateSQL sprintf("UPDATE soluciones SET nivel = $b WHERE (id=%s AND id_problema = $_GET[problema]) LIMIT 1",
                       
GetSQLValueString($_GET['id2'], "int"));

mysql_select_db($database_conexion$conexion);
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());


$updateGoTo "modulos.php?nombre=soluciones&partes=$_GET[partes]&problema=$_GET[problema]";
header(sprintf("Location: %s"$updateGoTo));

y si es al de subir peso se ejecuta este script:
Código PHP:
if (isset($_GET['s_bajar'])) {
$a $_GET['s_subir'];
$b $_GET['s_bajar'];
  
$updateSQL sprintf("UPDATE soluciones SET nivel = $a WHERE (nivel=%s AND id_problema = $_GET[problema])",
                       
GetSQLValueString($b"int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());

  
$updateSQL sprintf("UPDATE soluciones SET nivel = $b WHERE (id=%s AND id_problema = $_GET[problema]) LIMIT 1",
                       
GetSQLValueString($_GET['id2'], "int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());


  
$updateGoTo "modulos.php?nombre=soluciones&partes=$_GET[partes]&problema=$_GET[problema]";
header(sprintf("Location: %s"$updateGoTo));

si lo analizan sabran el que hace cada script.
les comento que en la tabla donde estan las flechas tambien hay un par de imagenes que se encargan de editar y/o borrar en este caso las soluciones, lo digo para que no cause confusion.
bueno en cuanto tenga el archivo completo y diseñado monto los archivos en un servidor para que lo puedan descargar.