Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/10/2006, 17:37
Avatar de jhonny777
jhonny777
 
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola!! de nuevo.. se me ocurrio hacer una funcion dinamica, donde al inicio me muestre la estructura de una tabla como lo hicimos anteriormente, pero adicional pueda agregar nuevos campos a la tabla y tambien poder eliminarlos...

... anteriormente habia chequeado algo similar pero este gestionaba usuarios...

bueno aqui te pongo el codigo, seria muy bueno que lo revisaras y me pudieras señalar que esta mal... te agradezco de antemano.
Código PHP:
<?
require("aut_config.inc.php"); // Como vimos anteriormente, esta es donde estan las variables necesarias para conectar.
$pag=$_SERVER['PHP_SELF'];?>
<html>
<head>
<title>Gestión tablas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF">

<?php 
function cabeceraHTML(){
echo <<< HTML
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
// Aqui esta la Hoja de estilos
<style type="text/css">
<!--
 .botones {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; background-color: #0099FF; border-color: #000000 ; border-top-width: 1pix; border-right-width: 1pix; border-bottom-width: 1pix; border-left-width: 1pix}
 .imputbox {  font-size: 10pt; color: #000099; background-color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; border: 1pix #000000 solid; border-color: #000000 solid; font-weight: normal}
 A:VISITED  { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
 A:LINK     { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; border-color: #33FF33 #66FF66; clip:  rect(   ); font-size: 10pt}
 A:ACTIVE   { font-weight: normal; color: #FF3333; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
 A:HOVER    { font-weight: normal; color: #0000CC; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline; font-size: 10pt}
-->
</style>

</head>

<body bgcolor="#FFFFFF">

HTML;
}
// aqui esta lo que teniamos anteriormente
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die (mysql_error());
mysql_select_db("$sql_db")or die(mysql_error()); 
$consulta "DESCRIBE usuarios";
$res mysql_query $consulta );
$numres mysql_num_rows $res );


if (!isset(
$_GET['accion'])){
// posicionamiento de consulta en el script original
cabeceraHTML();
//aqui esta el encabezado de la tabla
echo <<< HTML
<table width="800" border="1" cellspacing="0" cellpadding="4" bordercolor="#CCCCCC" align="center">
  <tr>
    <td colspan="4" bgcolor="#0099FF">
      <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color="#FFFFFF">.:
        Gestion de tablas :.</font></b></font><br>
        <a href="Salirses.php">Cerrar Sesion</a>
        </div>
    </td>
  </tr>
  <tr bgcolor="#00CCCC">
    <td width="18%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Campo
        </font></b></div>
    </td>
    <td width="16%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Tipo
        </font></b></div>
    </td>
    <td width="10%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Nulo
        </font></b></div>
        </td>
    <td width="10%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">LLave
        </font></b></div>
        </td>    
    <td width="10%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Default
        </font></b></div>
        </td>
    <td width="18%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Extra
        </font></b></div>
    </td>
    <td width="18%" bgcolor="#CCFFCC">
    <div align="center"><font color="#FFFFFF"><a href="$pag?accion=nuevo">Agregar Campo</a></font></div></td>
  </tr>

HTML;

   while ( 
$filas mysql_fetch_array $res ) or die(mysql_error()));
   {
   
//  lo que teniamos antes echo $filas['Field']."|".$filas['Type']."|".$filas['Null']."|".$filas['Key']."|".$filas['Default']."|".$filas['Extra']."|<br/>";
         
echo <<< HTML
    <tr>
    <td width="18%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$filas
['Field'].</font></div></td>
        <td width="16%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">        $filas
['Type'].</font></div></td>
        <td width="10%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$filas
['Null'].</font></div></td>
        <td width="10%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$filas
['Key'].</font></div></td>
        <td width="10%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$filas
['Default'].</font></div></td>
          <td width="18%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$filas
['Extra'].</font></div></td>
    <td width="18%" bgcolor="#CCFFCC"> 
      <div align="center"><a href="$pag?accion=borrar&field=$filas
['field']"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Borrar</font></a><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
           </td>
  </tr>
HTML;
}
echo 
"</table>";
mysql_free_result($res);
mysql_close();
}
// aqui le agregue la funcion de borrar
if (isset($_GET['Field'])){

if (
$_GET['accion']=="borrar"){
mysql_fetch_array $res ) or die(mysql_error());
$total_registros mysql_num_rows ($res);
mysql_free_result($res);

$Field_borrar$_GET['Field'];
mysql_query("ALTER TABLE $sql_tabla DROP Field=$Field_borrar") or die(mysql_error());
mysql_close();

header ("Location: $pag");
exit;

}
// aqui le di la funcion de agregar campo
if ($_GET['accion']=="nuevo"){
cabeceraHTML();

echo <<< HTML
<form method="post" action="$PHP_SELF?accion=hacernuevo">

  <table width="350" border="1" cellspacing="0" cellpadding="4" align="center">
    <tr>
      <td colspan="2" height="30" bgcolor="#0099FF">
        <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
          Registro de Usuarios :.</font></b></div>
      </td>
    </tr>
    <tr bgcolor="#FFFFCC">
      <td width="158">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nombre del campo
          : </font></div>
      </td>
      <td width="170"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="text" name="nombrecampo" class="imputbox" maxlength="20">
        </font></b></td>
    </tr>
    <tr bgcolor="#FFFFCC">
      <td width="158">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">longitud
          : </font></div>
      </td>
      <td width="170"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="longitud" name="longitud" class="imputbox" maxlength="15">
        </font></b></td>
    </tr>
        <tr bgcolor="#FFFFCC">
      <td colspan="2" height="40">
        <div align="center">
          <input type="submit" name="Submit" value="  Registrar  " class="botones" >
        </div>
      </td>
    </tr>
  </table>
</form>
HTML;
}

if (
$_GET['accion']=="hacernuevo"){

$nombrecampo=$_POST['nombrecampo'];
$longitud=$_POST['longitud'];

$usuarios_consulta mysql_query("ALTER TABLE $sql_table ADD $nombrecampo VARCHAR( $longitud ) NOT NULL") or die(mysql_error());
$total_encontrados mysql_num_rows ($res);
mysql_free_result($res);
mysql_close();

header ("Location: $pag");
exit;


}

?>

  



</body>
</html>

Última edición por jhonny777; 09/10/2006 a las 17:59