Foros del Web » Programando para Internet » PHP »

Visulizar estructura de una tabla

Estas en el tema de Visulizar estructura de una tabla en el foro de PHP en Foros del Web. hola... una pregunta, ¿como hago para ver la estructura de una tabla en una pagina php?... en el MySQL por lo general se usa "mysql> ...
  #1 (permalink)  
Antiguo 07/10/2006, 12:22
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Visulizar estructura de una tabla

hola... una pregunta, ¿como hago para ver la estructura de una tabla en una pagina php?... en el MySQL por lo general se usa "mysql> DESCRIBE tabla_ejemplo;"

y arroja lo siguiente:
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+

pero en PHP no se ua sentencia que lo pueda hacer:

la verdad, intente con algo como asi:
Código PHP:
<?
require("config.php"); 
?>
<?php
$db_conexion
mysql_connect("$sql_host""$sql_usuario""$sql_pass") or die 
mysql_select_db("$sql_db");

$tabla_consulta mysql_db_query(describe $sql_tabla);

?>
donde config.php:
Código PHP:
<?
$sql_host
="localhost";  // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario="root";        // Usuario de Mysql
$sql_pass="";           // contraseña de Mysql

$sql_db="aldor";     // Base de datos que se usará.
$sql_tabla="usuarios"// Nombre de la tabla que contendrá los datos de los usuarios
?>
... mmm...pero, no me salio, pueden ayudarme??
  #2 (permalink)  
Antiguo 07/10/2006, 13:02
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Intenta colocando algo como esto (Obviamente tendras que sustituir el nombre de la tabla en la variable $consulta):

Código PHP:
<?php 
$db_conexion
mysql_connect("$sql_host""$sql_usuario""$sql_pass") or die  
mysql_select_db("$sql_db"); 
$consulta "DESCRIBE tabla";
$res mysql_query $consulta );
$numres mysql_num_rows $res );

if ( 
$numres )
{
   while ( 
$filas mysql_fetch_array $res ) )
   {
      echo 
$filas['Field']."|".$filas['Type']."|".$filas['Null']."|".$filas['Key']."|".$filas['Default']."|".$filas['Extra']."|<br/>";
   }
}

else
{
   echo 
"No se obtuvieron resultados";
}
?>
Espero esto te haya servido de algo o por lo menos te de una idea.

Nota: muestra los datos en una tabla para que se vea más bonito OK?

Suerte

Última edición por Erikfrancisco; 07/10/2006 a las 13:33
  #3 (permalink)  
Antiguo 09/10/2006, 15:06
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
mmm... listo me funciono solo que le corregi un error que tenias aqui :P :

Código PHP:
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die  
mysql_select_db("$sql_db"); 
$consulta "DESCRIBE tabla"
Solo que le habias agregado or die pero faltaba señalar que...

Código PHP:
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die (mysql_error());
mysql_select_db("$sql_db")or die(mysql_error()); 
gracias me sirvio de ayuda ahora agregare esto campos en una tabla ^-^
  #4 (permalink)  
Antiguo 09/10/2006, 17:37
Avatar de 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
  #5 (permalink)  
Antiguo 10/10/2006, 22:10
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Espero te sirva la respuesta que te puse en tu nuevo post:

http://www.forosdelweb.com/f18/formulario-dinamico-433112/

Suerte
  #6 (permalink)  
Antiguo 12/10/2006, 13:47
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola.. erick gracias.. por toda la ayuda que me has brindado...
.. bueno este es otro problema que tengo diferente al del otro post...

... Si te fijas bien.. este lo que hace es una consulta de la estructura de Una tabla, dandome el nombre del campo, Tipo, Longitud,... en fin me da la estructura de la tabla...

ademas le di una funcion URL donde puede agregar nuevos campo y otra para borrarlos...

...pero el codigo necesita una revision, por que no me quiere dar...
... te agradeceria que lo miraras, por que lo examinado para ver que hice mal y no he podido... :S
  #7 (permalink)  
Antiguo 12/10/2006, 14:02
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Hame un favor, mejor dime que error es el que te aparece. Ahora, a simple vista, en donde pones:

Cita:
Iniciado por jhonny777 Ver Mensaje
<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>...
¿Para que pones los puntos despues de escribir el campo?:

$filas['Type'].</font>

Pero bueno, checalo y muestra lo que te pedí hace un momento.

¿Por cierto el otro código si te sirvio?

Suerte
  #8 (permalink)  
Antiguo 12/10/2006, 14:15
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola ya le quite los puntos...

este es el error

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Aldor\ejemplo.php on line 110

que se refiere a la siguiente linea

<td width="18%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"> $filas['Field']</font></div></td>

...
  #9 (permalink)  
Antiguo 12/10/2006, 14:27
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Sólo una pregunta, cuando encierras entre estas etiquetas:
echo <<< HTML algo HTML;
¿Si te sustituye las variables PHP?, lo pregunto porque nunca he utilizado estas etiquetas y me parece que lo que hacen es interpretar como código HTML lo que se encuentre dentro de ellas y si pones variables PHP dentro de estas, me imagino que las querra interpretar como HTML, ¿no será este el problema?
  #10 (permalink)  
Antiguo 12/10/2006, 14:34
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Cita:
Iniciado por Erikfrancisco Ver Mensaje
Sólo una pregunta, cuando encierras entre estas etiquetas:
echo <<< HTML algo HTML;
¿Si te sustituye las variables PHP?, lo pregunto porque nunca he utilizado estas etiquetas y me parece que lo que hacen es interpretar como código HTML lo que se encuentre dentro de ellas y si pones variables PHP dentro de estas, me imagino que las querra interpretar como HTML, ¿no será este el problema?
mmm... si tambien me parecia lo mismo... pero mira que en el Autentificator, en el Aut_gestion_usuarios.php.. tienen esta caracteristica...

Código PHP:
HTML;

while(
$resultados mysql_fetch_array($usuario_consulta)) {

echo <<< HTML
<tr>
    <td width="14%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados
[ID]</font></div></td>
    <td width="30%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados
[usuario]</font></div></td>
    <td width="24%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados
[nivel_acceso]</font></div></td>
    <td width="32%" bgcolor="#CCFFCC"> 
      <div align="center"><a href="$pag?accion=borrar&id=$resultados
[ID]"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Borrar</font></a><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        | <a href="$pag?accion=nivel&id=$resultados
[ID]">Nivel acceso</a></font></div>
    </td>
  </tr>
HTML;

y le funcionan las variables... es muy extraño :S... si quieres pongo el codigo completo... de esta pagina
  #11 (permalink)  
Antiguo 12/10/2006, 14:51
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Pues me percate de un detalle en la línea que me acabas de mostrar:

div align="center"><a href="$pag?accion=borrar&id=$resultados[ID]"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Borrar</font></a><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> | <a href="$pag?accion=nivel&id=$resultados[ID]">Nivel acceso</a></font></div>

Fijate que los arrays los muestra sin comillas cosa que nosotros no hacemos:

<td width="18%" bgcolor="#FFA4A4"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$filas['Field'].</font></div></td>

Prueba quitandole estas comillas, probablemente sea eso, ¿no cres?

Última edición por Erikfrancisco; 12/10/2006 a las 15:03
  #12 (permalink)  
Antiguo 12/10/2006, 15:06
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Bueno ya se las quite... aunque estas tenian comillas por que estaba siguiendo la consulta de estructura de tabla que hicimos:

Código PHP:
while ( $filas mysql_fetch_array $res ) )
   {
      echo 
$filas['Field']."|".$filas['Type']."|".$filas['Null']."|".$filas['Key']."|".$filas['Default']."|".$filas['Extra']."|<br/>";
   } 
ahora se las quite pero me sale el siguiente error...

Parse error: parse error, unexpected $end in C:\Aldor\ejemplo.php on line 204
en donde esta linea es la ultima... esta en blacno despues de >/html>

mmm...
  #13 (permalink)  
Antiguo 12/10/2006, 15:15
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Bueno, pues en tu código abres dos etiquetas <HTML><BODY> pero la cierras sólo una vez, que són las últimas dos líneas. Además creo que las deberías de cerrar de la misma forma que como las abriste es decir, entre las etiquetas <<HTML y HTML;
  #14 (permalink)  
Antiguo 12/10/2006, 15:40
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
bueno este es el codigo que corregi... pero me sale el mismo error...

Código PHP:
<?

require("aut_verifica.inc.php"); // incluir motor de autentificación.
$nivel_acceso=10// definir nivel de acceso para esta página.
if ($nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

require(
"aut_config.inc.php"); // Como vimos anteriormente, esta es donde estan las variables necesarias para conectar.
$pag=$_SERVER['PHP_SELF'];

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 );

echo 
$numres;

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="aut_logout.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))   {
    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;


}
?>
  #15 (permalink)  
Antiguo 12/10/2006, 15:55
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
No me lo tomes a mal, pero creo que deberías ser más ordenado a la hora de crear tu código, ¿por que lo digo? pues porque te falta serrar un if y creo que es este:

Código PHP:
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;

   } 
Creo que aquí debería ir una llave de cierre, y si no es aquí checalo porque te falta cerrar una. Suerte
  #16 (permalink)  
Antiguo 12/10/2006, 16:13
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Sip ya me esta funcionando.. gracias... :P
... eso era!!! solo tengo que cambiarle unas sentencias SQL que meti mal...


... Oye una ultima pregunta... me funciona bien.. pero me sale este error...
... sabes por que?

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: accion in C:\Aldor\ejemplo.php on line 126

Notice: Undefined index: accion in C:\Aldor\ejemplo.php on line 169
Código PHP:
99 <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">

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

169 if ($_GET['accion']=="hacernuevo"){ 
  #17 (permalink)  
Antiguo 12/10/2006, 16:26
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
mmm... la vaina esta mas compleja de lo que pensaba...

Ya me muestra la estructura de la tabla... los campos... he igual sale la opcion borrar en cada una de ellas, pero la funcion borrar no me ejecuta...

Código PHP:
//aqui esta parte de la tabla, donde me da el enlace, para la accion borrar... esto esta en un html <<< y html;

 
<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">


// aqui esta 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; 
mmm... ... oye deberia invitarte una soda o algo por tanta ayuda...
  #18 (permalink)  
Antiguo 13/10/2006, 18:46
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Bueno, ya pude solucionar uno de los errores era una mayuscula en un campo Field... especificamente aqui :P

<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">
entonces los errores con la linea 99... ya se solucionaron... aunque ahora me aparece uno nuevo :P

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Aldor\editbd.php:9) in C:\Aldor\aut_verifica.inc.php on line 142

mmm... y tampoco me ejecuta la accion borrar :

Código PHP:
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; 
como me aparecia un error de la sentencia...
intente cambiarle la sentencia MySQL por esto...

mysql_query("ALTER TABLE $sql_table DROP COLUMN $Field_borrar") or die(mysql_error());

pero no sucede.. nada
  #19 (permalink)  
Antiguo 13/10/2006, 20:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por jhonny777 Ver Mensaje
Sip ya me esta funcionando.. gracias... :P
... eso era!!! solo tengo que cambiarle unas sentencias SQL que meti mal...


... Oye una ultima pregunta... me funciona bien.. pero me sale este error...
... sabes por que?

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: field in C:\Aldor\ejemplo.php on line 99

Notice: Undefined index: accion in C:\Aldor\ejemplo.php on line 126

Notice: Undefined index: accion in C:\Aldor\ejemplo.php on line 169
Código PHP:
99 <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">

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

169 if ($_GET['accion']=="hacernuevo"){ 
Ya te contexté en privado sobre ese tema completo ..

En general debes entender que PHP sólo te está avisado de algo "mal hecho" .. de una "mala programación" .. por eso el "NOTICE".

Puedes ajustar a PHP para que muestre los mensajes de error que tu necesites (y no los "notice" por ejemplo) usando:

error_reporting()
www.php.net/error_reporting

Pero, ... no se trata de "ocultar" la "mala programación" sino de hacer que esa situación no suceda.

Si tu tienes variables que en algún momento pueden NO estar definidas como es el caso de algo que esperas en $_GET pero en ese momento (por la "acción a relaizar") no ha sucedido todavía .. no puedes acceder a su valor sin antes haber visto si existe. Esta comprobación la implementas con isset()

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 14/10/2006, 13:53
Avatar de jhonny777  
Fecha de Ingreso: septiembre-2006
Mensajes: 38
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola... :P.. gracias... ya modificare el archivo notice_error aunque lo ideal seria que no me notificara estos errores :P...

... pero de todos modos como estos me funcionen omitire este tipo de notice...

... bueno y podriasm tu o cluester ayudarme con el problema que esta en este post que era diferente... :P
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 10:45.