Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2009, 08:07
Avatar de boy-computer
boy-computer
 
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 5 meses
Puntos: 1
Pregunta Código de Examinar, Editar y Eliminar registros

Tengo el siguiente código:

Código PHP:
echo "<table>";
        echo 
"<tr>";
        echo 
"<td valign='top'>";
        echo 
"<table width='100%' cellpadding='2' cellspacing='2' border='0' class='forumline' align='center'>";
        echo 
"<tr class='encabeza' valign='middle'>";
        echo 
"<td width='120' align='center'>Tabla</td>";
        echo 
"<td width='80' align='center' colspan='3'>Acci&oacute;n</td>";
        echo 
"</tr>";
        
        
$sql="show table status from dpswd where name!='funcion' and name!='habilidad' and name!='portada' and name!='notas' and name!='resp_consul'";
        
$result=mysql_query($sql,$link);
        
$colorfondo='#E9E9E9';
        while ( 
$mrow=mysql_fetch_object($result) )
        {
         if (
$colorfondo=='#F6f6f6'$colorfondo='#E9E9E9'; else $colorfondo='#F6f6f6';
         
$tablas=$mrow->Name;
         
$registros=$mrow->Rows;
         
$id=$tablas;
         echo 
"<tr valign='middle' onMouseOut=\"this.bgColor='$colorfondo';\" onMouseOver=\"this.bgColor='#FAD29F';\" bgcolor='$colorfondo'>";
         echo 
"<td width='120' align='left' class='tablas'><b>$tablas</b></td>";
         echo 
"<td align='center'><a href='".$_SERVER['PHP_SELF']."?examinar&tabla=$tablas'><img src='images/examinar.gif' border='0' alt='Examinar' title='Examinar'></a></td>";
         echo 
"<td align='center'><a href='".$_SERVER['PHP_SELF']."?insertar&$tablas'><img src='images/insertar.gif' border='0' alt='Insertar' title='Insertar'></a></td>";
         echo 
"<td align='center'><a href='".$_SERVER['PHP_SELF']."?vaciar&$tablas'><img src='images/vaciar.gif' border='0' alt='Vaciar' title='Vaciar'></a></td>";
         echo 
"</tr>";
        }
        
        echo 
"</table>";
        echo 
"</td>";
        echo 
"</tr>";
     
     echo 
"</table>"
Este código, me muestra algunas tablas de mi base datos, además tiene unas opciones de: Examinar, Insertar y Vaciar. Estoy trabajando sobre la opción examinar, por lo que toda la idea va a estar encaminada hacia esa opción, (para que no pierdan mi objetivo). Cuando doy clic en examinar, me muestra la tabla con sus registros y cada registro tiene 2 opciones: Editar y Eliminar.

El código de examinar es el siguiente:

Código PHP:
echo "<tr>";
echo 
"<td valign='top' colspan='2'>";
echo 
"<table cellpadding='1' cellspacing='1' border='0' class='forumline'>";
echo 
"<tr class='encabeza' valign='middle'>";
echo 
"<td align='center'></td>";
$sql="select * from dpswd.$tabla limit $desde, $cantidadlinea";
$result mysql_query($sql,$link);
$campos mysql_num_fields($result);
 for (
$j=1$j<$campos$j++)
{  
 
$nombre mysql_field_name($result,$j);
 echo 
"<td align='center' valign='middle'>";
 echo 
"<a href='".$_SERVER['PHP_SELF']."?desc&nombre=$nombre&examinar&tabla=$tabla' class='orden' title='Ordenar descendentemente'><img src='images/desc.gif' border='0'></a>&nbsp;$nombre&nbsp;";
 echo 
"</td>";

echo 
"</tr>";
$colorfondo='#E9E9E9';
for (
$i=0;$i<mysql_num_rows($result);$i++)
{
 if (
$colorfondo=='#F6f6f6'$colorfondo='#E9E9E9'; else $colorfondo='#F6f6f6';
 echo 
"<tr valign='top' onMouseOut=\"this.bgColor='$colorfondo';\" onMouseOver=\"this.bgColor='#FAD29F';\" bgcolor='$colorfondo'>";
 echo 
"<td valign='top'>";
 echo 
"<table width='100%' cellpadding='2' cellspacing='1' border='0'>";
 echo 
"<tr align='center' valign='top'>";
 echo 
"<td><a href='".$_SERVER['PHP_SELF']."?editar&tabla=$tabla&lolo=$nombre' title='Editar'><img src='images/editar.gif' border='0'></a></td>";
 echo 
"<td><a href='".$_SERVER['PHP_SELF']."?eliminar' title='Borrar'><img src='images/eliminar.gif' border='0'></td>";
 echo 
"</tr>";
 echo 
"</table>";
 echo 
"</td>";
 for (
$k=1;$k<$campos;$k++)
{          
 
$uno=substr(mysql_result($result$i$k),0,40);
 
$cadena=strtok($uno,".");
 
$cadena2=htmlspecialchars($cadena);
 echo 
"<td style='font-size:11px'>$cadena2</td>";
}
echo 
"</tr>";
}

}
echo 
"</table";
echo 
"</td>";
echo 
"</tr>"
Hasta aquí casi todo bien, pero los problemas empiezan cuando voy a Editar pues debe decirle que registro es el que quiero Editar, pero no se como darle un valor calve de un registro determinado.

El código de edición que tengo hasta el momento es:

Código PHP:
$sql="SHOW COLUMNS FROM $tablas";
$result mysql_query($sql,$link);
echo 
"<tr><td colspan='2' class='encabeza'>Editando $tablas</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);
$cols=mysql_fetch_object($result);
$tabla=$cols->tabla_referencia
         
$sql="select $campo_foraneo from dpswd.$tabla";
$result=mysql_query($sql,$link);
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[$campo_foraneo]."</option>";
}
echo 
"</select>";
        
}elseif( 
$campos['Type']==longtext )
{
echo 
"<textarea name='".$campos['Field']."' cols='50' rows='4'></textarea>";
}else{
 if ( 
$campos['Key']==PRI 
{
echo 
"valor del 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>"
El otro detalle esta en que cuando quiero editar un registro por ejemplo: la tabla usuarios, en ella esta el campo foraneo id_funcion, que viene de la tabla funcion, el select me muestra el número de cada registro de la tabla funcion, sin embargo lo que quiero es que me salgan las funciones y no los números de cada función.