Foros del Web » Programando para Internet » PHP »

Menu desplegable en tabla

Estas en el tema de Menu desplegable en tabla en el foro de PHP en Foros del Web. Hola Estoy intentando meter un menu desplegable con sus datos en la casilla de una tabla, pero se me esta haciendo imposible. La lista se ...
  #1 (permalink)  
Antiguo 11/10/2007, 05:27
 
Fecha de Ingreso: agosto-2007
Mensajes: 64
Antigüedad: 12 años, 3 meses
Puntos: 0
Menu desplegable en tabla

Hola

Estoy intentando meter un menu desplegable con sus datos en la casilla de una tabla, pero se me esta haciendo imposible.

La lista se mete en su correspondiente casilla pero sin informacion. Este es codigo que uso:

Código PHP:
$ssql2="SELECT Akzioa FROM Akzioak"
   
$result2=mysql_query($ssql2); 
   

   echo 
"<form action='GizarAktualizazioak2.php' method=post>"
   echo 
"<p align=left><strong><u>Ibilbidea</u></strong></p>";
   echo 
"\n<table border=1 align=left>"
   echo 
"\n<tr><td align=center><b>Akzioak</b></td><td align=center><b>Kontratu Motak</b></td><td align=center><b>Sektoreak</b></td><td align=center><b>Prestakuntza Motak</b></td><td align=center><b>Espezialitateak</b></td><td align=center><b>Irteera Data</b></td></tr>"

   
$i 1
   while (
$fila=mysql_fetch_array($result)){ 
      echo 
"\n<input type=hidden name='IdIbilbidea$i' value='" $fila["IdIbilbidea"] . "'>";       
      echo 
"<td>'<select  name='IdAkzioak$i'>'</td>"//value='" . $fila["IdAkzioak"] . "'></td>";  
      
do {  
      echo 
"<td><option value= '" $row['IdAkzioa'] . "'></option></td>";            
      } while (
$rowmysql_fetch_array($result2)); 
      echo 
"<td><input type=text name='IdGizarKontratuMotak$i' value='" $fila["IdGizarKontratuMotak"] . "'></td>";
      echo 
"<td><input type=text name='IdSektorea$i' value='" $fila["IdSektorea"] . "'></td>";           
      echo 
"<td><input type=text name='IdGizarPrestaMota$i' value='" $fila["IdGizarPrestaMota"] . "'></td>"
      echo 
"<td><input type=text name='IdGizarEspezialitatea$i' value='" $fila["IdGizarEspezialitatea"] . "'></td>"
      echo 
"<td><input type=text name='IrteeraData$i' value='" $fila["IrteeraData"] . "'></td>"
      echo 
"</tr>"
      
$i++; 
   } 
Espero que alguien me pueda ayudar.
Gracias y saludos
  #2 (permalink)  
Antiguo 11/10/2007, 06:52
 
Fecha de Ingreso: enero-2007
Mensajes: 157
Antigüedad: 12 años, 10 meses
Puntos: 2
Re: Menu desplegable en tabla

Prueba a meter en la linea 2 de tu codigo donde esta "$result2=mysql_query($ssql2);"

a poner esto:

Código PHP:
$result2=mysql_query($ssql2) or die(mysql_error()); 
Alomejor así te saca algún error de sql.

Otra pregunta: Supongo que habrá alguna coincidencia, no?
  #3 (permalink)  
Antiguo 11/10/2007, 07:00
 
Fecha de Ingreso: agosto-2007
Mensajes: 64
Antigüedad: 12 años, 3 meses
Puntos: 0
Re: Menu desplegable en tabla

Hola,

No me da error de sql. si lo pruebo en Mysql Command Line Client me busca bien y me saca 4 resultados. Pero poniendolo asi me hace el combo pero vacio. No se que puede ser.

Saludos
  #4 (permalink)  
Antiguo 11/10/2007, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: Menu desplegable en tabla

Bueno en primera veo que tienes errores de HTML, en primera, para generar un SELECT no puedes hacerlo entre celdas es decir:
Código HTML:
<td><select></td>
<td><option value="algo"></option></td>
<td><option value="algo"></option></td>
<td></select></td> 
Es un error de sintaxis, un select es un elemento y sus elementos hijos son los <option> o <optiongroup>.

Segundo, para que te muestre un texto un option tienes que hacerlo asi:
Código HTML:
<option value="algo">Texto a Mostrar</option> 
Tu no estas enviando ningun texto en el option lo que hace que no te despliegue el combo.

Saludos.
  #5 (permalink)  
Antiguo 11/10/2007, 10:26
 
Fecha de Ingreso: julio-2006
Mensajes: 96
Antigüedad: 13 años, 4 meses
Puntos: 2
Re: Menu desplegable en tabla

tambien tienes en tu segundo while que fijarte que estas enviando al navegador un echo con $fila y en realidad debes reemplzar $file por $row que sera el array que contiene tus datos.

Saludos
  #6 (permalink)  
Antiguo 12/10/2007, 05:23
 
Fecha de Ingreso: agosto-2007
Mensajes: 64
Antigüedad: 12 años, 3 meses
Puntos: 0
Re: Menu desplegable en tabla

Hola,

Gracias por las respuestas amigos.
Esa tabla era para actualizar esos registros. Lo he hecho asi:

Código PHP:
$ssql="SELECT IdAkzioak, IdGizarKontratuMotak, IdSektorea, IdGizarPrestaMota, IdGizarEspezialitatea, IrteeraData FROM GizarIbilbidea WHERE IdIbilbidea > $id_mostrar limit 10"; 
   $result=mysql_query($ssql);    


   $ssql2="SELECT Akzioak.* FROM Akzioak, GizarIbilbidea WHERE Akzioak.IdAkzioa = GizarIbilbidea.IdAkzioak"; 
   $result2=mysql_query($ssql2); 
   
   $ssql3="SELECT * FROM GizarKontratuMotak"; 
   $result3=mysql_query($ssql3); 
   
   $ssql4="SELECT * FROM Sektoreak"; 
   $result4=mysql_query($ssql4); 
   
   $ssql5="SELECT * FROM GizarPrestakuntzaMotak"; 
   $result5=mysql_query($ssql5); 
   
   $ssql6="SELECT * FROM GizarEspezialitateak"; 
   $result6=mysql_query($ssql6); 
   
   echo "<form action='GizarAktualizazioak2.php' method=post>"; 
   echo "<p align=left><strong><u>Ibilbidea</u></strong></p>";
   echo "\n<table border=1 align=left>"; 
   echo "\n<tr><td align=center><b>Akzioak</b></td><td align=center><b>Kontratu Motak</b></td><td align=center><b>Sektoreak</b></td><td align=center><b>Prestakuntza Motak</b></td><td align=center><b>Espezialitateak</b></td><td align=center><b>Irteera Data</b></td></tr>"; 

   $i = 1; 
   while ($fila=mysql_fetch_array($result)){ 
      echo "\n<input type=hidden name='IdIbilbidea$i' value='" . $fila["IdIbilbidea"] . "'>"; 
      echo "\n"
?>
      <label>
      <td><select name="IdAkzioak">
      <?php
        
while ($row=mysql_fetch_array($result2)){
      
?>
       <option value="<?php echo $row['IdAkzioa']?>"><?php echo $row['Akzioa']?></option>
      <?
       
}
      
?>            
      </select></td>
      </label>      
      
      <label>
      <td><select name="IdGizarKontratuMotak">
      <?php
        
while ($row2=mysql_fetch_array($result3)){
      
?>
       <option value="<?php echo $row2['IdGizarKontratuMota']?>"><?php echo $row2['KontratuMota']?></option>
      <?
       
}
      
?>            
      </select></td>
      </label>    
      <label>
       <td><select name="IdSektoreak">
      <?php
        
while ($row3=mysql_fetch_array($result4)){
      
?>
       <option value="<?php echo $row3['IdSektorea']?>"><?php echo $row3['Sektorea']?></option>
      <?
       
}
      
?>            
      </select></td>
      </label>    
      
      <label>
      <td><select name="IdgizarPrestaMota">
      <?php
        
while ($row4=mysql_fetch_array($result5)){
      
?>
       <option value="<?php echo $row4['IdGizarPrestaMota']?>"><?php echo $row4['PrestakuntzaMota']?></option>
      <?
       
}
      
?>            
      </select></td>
      </label>            
    
      <label>
      <td><select name="IdGizarEspezialitateak">
      <?php
        
while ($row5=mysql_fetch_array($result6)){
      
?>
       <option value="<?php echo $row5['IdGizarEspezialitatea']?>"><?php echo $row5['Espezialitatea']?></option>
      <?
       
}
      
?>            
      </select></td>
      </label>            
      <?
      
echo "<td><input type=text name='IrteeraData$i' value='" $fila["IrteeraData"] . "'></td>"
      
$i++;    
  }
Y me mete los datos en el select pero solo en el primer registro, y hay 2. No se si sera por el primer while. Espero que me podais ayudar.

Gracias de antemano y saludos
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 20:09.