Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2013, 11:53
Avatar de UNDR4
UNDR4
 
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Problema al llenar un select

Hola amigos, tengo una pequeña duda con el uso de combos, antes que nada tengo el siguiente código:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.   function llenarIn()
  3.   {
  4.     var x=document.form1.select_01.value;
  5.     document.location ="mismoarchivo.php?id="+x;  
  6.   }
  7. </script>

Código PHP:
Ver original
  1. <?php
  2.   $fecha_actual=date("Y/m/d");
  3.   $query="SELECT * FROM tablaWHERE id='".$id_tabla."' ORDER BY nombre";
  4.   $result=mysql_query($query) or die(mysql_error());
  5.   if($row=mysql_fetch_row($result))
  6.   {
  7.        //Este valor lo necesitamos abajo
  8.       $total = $row['12'];
  9.   }
  10. ?>
  11. <form name="form1">
  12.   <select id="select_01" name="select_01"  style=" width:150px" onChange="llenarIn()" >
  13.     <?php
  14.       if(mysql_num_rows($result)==0)
  15.       {
  16.         echo"<option value='0'>No Hay Datos</option>";
  17.       }
  18.       else
  19.       {
  20.         //lenamos el select
  21.         while($row=mysql_fetch_array($result))
  22.         {
  23.           echo"<option value='".$row['id']."'>".$row['nombre']."</option>";  
  24.         }
  25.       }
  26.     ?>
  27.   </select>
  28.   <?php
  29.     if(isset($_GET['id']))
  30.       {
  31.         //Si está declarado posicionamos el select em el valor que obtenemos en el evento onchange
  32.         echo "<script type='text/javascript'>document.form1.selec_01.value='".$_GET['id']."';</script>";
  33.       }
  34.   ?>
  35.   <input id="total" name="total" type="text" readOnly="readOnly" value="
  36.   <?php
  37.     //si está declarado realizo la query y obtengo el total, dependiendo de la opción seleccionada
  38.     if(isset($_GET['id']))
  39.     {
  40.       $query="SELECT total FROM tabal WHERE id='".$_GET['id']."'";
  41.       $result=mysql_query($query) or die(mysql_error());
  42.       if($row=mysql_fetch_row($result))
  43.         $total = $row['0'];
  44.  
  45.       echo $total;
  46.     }
  47.     //total tomado desde la parte de arriba, es el valor por default
  48.     else echo $total; ?>
  49.   "/>
  50. </form>

El problema que tengo es que por ejemplo me debería mostrar 3 registros de la BD, pero al poner la sección de código:

Código PHP:
Ver original
  1. if($row=mysql_fetch_row($result))
  2.   {
  3.        //Este valor lo necesitamos abajo
  4.       $total = $row['12'];
  5.   }

Solo me despliega dos de las opciones, el primer valor lo omite por completo, si le quito esta sección de código el combo funciona como debería la cosa es que necesito obtener el valor $total desde el principio y esta es la manera como usualmente recupero un dato de la base de datos, en este caso en particular no sé porque me omite el primer valor del resultado de la consulta, alguna idea de como resolver o porque pasa esto, saludos
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.