Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2009, 12:42
Avatar de boy-computer
boy-computer
 
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 18 años, 3 meses
Puntos: 1
Pregunta No veo valor en los camos del form a la hora de editar un registro

Este es mi código de edición de registros:

Código PHP:
$sql="SHOW COLUMNS FROM $tabla";
        
$result mysql_query($sql,$link);
        
        
$sql_editar="select * from dpswd.$tabla where id_".$tabla."='$id_'";
        
$result_editar=mysql_query($sql_editar,$link);
        
//echo $sql_editar;
        
$a_editar=array();
        while ( 
$cols=mysql_fetch_assoc($result_editar) )
        {
         
$a_editar[]=$cols;
        }
                
        echo 
"<tr><td colspan='2' class='encabeza'>Editando $tabla</td></tr>";
        while (
$row mysql_fetch_assoc($result)) {
        
$campos=$row;
        echo 
"<tr>";
        echo 
"<td align='right' valign='top'>".$campos['Field'].":&nbsp;</td>";
        echo 
"<td>";
        
        if ( 
$campos['Key']==MUL ) {
         
$campo_foraneo $campos['Field'];
         
$sql="SELECT CONCAT( referenced_table_name) AS tabla_referencia
                 FROM information_schema.KEY_COLUMN_USAGE
                WHERE REFERENCED_TABLE_SCHEMA = 'dpswd' AND REFERENCED_TABLE_NAME IS NOT NULL AND COLUMN_NAME = '$campo_foraneo'
                      ORDER BY TABLE_NAME, COLUMN_NAME"
;
         
$result=mysql_query($sql,$link);
         
//echo $sql;
         
$cols=mysql_fetch_object($result);
         
$tabla=$cols->tabla_referencia
         
         
$sql="select * from dpswd.$tabla";
         
$result=mysql_query($sql,$link);
         
//echo $sql;
         
echo "<select name='".$campos."'>";
         echo 
"<option>- - - </option>";
         while ( 
$select=mysql_fetch_assoc($result) ){
         
$select_campo=$select;
         echo 
"<option value='".$select_campo[$campo_foraneo]."'>".$select_campo[$tabla]."</option>";
         }
         echo 
"</select>";
        
        }elseif( 
$campos['Type']==longtext )
        {
         echo 
"<textarea name='".$campos['Field']."' cols='50' rows='7'></textarea>";
        }else{
         if ( 
$campos['Key']==PRI 
         {
          echo 
$id_;
         }else{
         echo 
"<input type='text' name='".$campos['Field']."' value='' />";
         }
        }
        echo 
"</td>";
        echo 
"</tr>";
        }
        echo 
"<tr><td></td><td align='left'><input type='submit' name='guardar' value='Guardar'></td></tr>"
Explico un poco:
Si a la hora de editar hay algun campo Key==MUL, me debe mostra un select para escojer que valor deseo.

Si hay algun campo longtext, me debe poner entonces un textarea.

En caso de que no se cumpla ninguna de estas condiciones entonces muestro un campo text

todo eso lo controlo mediante la consulta:
Código PHP:
$sql="SHOW COLUMNS FROM $tabla";
$result mysql_query($sql,$link); 
Ahora bien, logro que me ponga nombre campo: objeto formulario, pero no logro hacer que aparescan los valores del registro insertado en los objetos.

Podrían ayudarme con esto