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'].": </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>";
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);
Podrían ayudarme con esto