Foros del Web » Programando para Internet » PHP »

moviendo un registro de una tabla a otra

Estas en el tema de moviendo un registro de una tabla a otra en el foro de PHP en Foros del Web. hola amigos resulta que quiero mover un registro de una tabla a otra cree el siguiente scripts Código PHP: <? echo <<< HTML <HTML> <HEAD> <TITLE>Downwarez</TITLE> <link href="estilo.css" rel="stylesheet" rev="stylesheet" type="text/css"> ...
  #1 (permalink)  
Antiguo 29/03/2003, 23:30
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 15 años, 10 meses
Puntos: 2
moviendo un registro de una tabla a otra

hola amigos resulta que quiero mover un registro de una tabla a otra cree el siguiente scripts
Código PHP:
<?
echo <<< HTML
<HTML>
<HEAD>
<TITLE>Downwarez</TITLE>
<link href="estilo.css" rel="stylesheet" rev="stylesheet" type="text/css">
</HEAD>
<BODY>
<h1><div align="center">Administracion</div></h1>
<br>
<br>
HTML;


//Conexion con la base
mysql_connect("localhost","","");
//Ejecutamos la sentencia SQL
$result=mysql_db_query("downwarez","SELECT * FROM administracion") or die (mysql_error());

//Mostramos los registros

  
echo "<table width='100%' border=1 cellspacing='0' align='center' bordercolor='#000000' class='tabla'>\n";

    echo 
"<tr>
              <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>ID</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Nickname</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Warez</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Descripcion</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Direccion</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Crack</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Fecha</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>------</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>------</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>-------</font></div>
            </td>
        </tr>\n"
;;
        


$lista_colores=array('#4682B4','FF7F50');
$num_colores=2;
$indice=0;

        
        
        

while (
$row=mysql_fetch_array($result)){

$color=$lista_colores[$indice $num_colores];
$indice++;
$id=$row["id"];
 
echo 
"<tr bgcolor=\"$color\">";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[id]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[c_nickname]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[c_warez]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[c_descripcion]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[c_direccion]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[c_crack]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[c_crack]</font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'><a href = \"actualizar1.php?id=$row[id]&nickname=$row[c_nickname]&warez=$row[c_warez]&descripcion=$row[c_descripcion]&direccion=$row[c_direccion]&crack=$row[c_crack]\">Modificar</a></font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'><a href = \"borrar.php?id=$row[id]\">Borrar</a></font></td>";
echo 
"<td bgcolor=\"$color\" align='center'><font color='#000000'><FORM METHOD='POST' ACTION='mover_registros.php'><select_name='mover_id[$id]'><option_value='tabla1'_selected>tabla1</option><option_value='tabla2'>tabla2</option><option_value='tabla3'>tabla3</option></select></form></font></td>";
echo 
" </tr>\n";
}

echo 
"</table>";
mysql_free_result ($result); ///liberamos la memoria
mysql_close(); ////cerramos la conexion
echo <<< HTML
<table width="122" border="0" cellspacing="0" cellpadding="0" align="center" class="tabla">
            <tr>
                <td><div align="center" class="td"><a href="insertar.html">Nuevo</a><br></div></td>
                <td><div align="center" class="td"><a href="busqueda.php">Buscar</a><br></div></td>
                <td><div align="center" class="td"><a href="salir.php">Desloguearse del Sistema</a><br></div></td>
            </tr>
</table>
</BODY>
</HTML>
HTML;
?>
1)tengo problemas para generar el ComboBox que contendra la seleccion de tablas que seran los destinos. esta bien el codigo de esa linea??
2)el scripts mover_registros.php "supuestamente" debe recibir un array con las tablas y el campo ID

----------------------------------procesar_registros.php-------------------
Código PHP:
foreach($_POST['mover_id']_as_$id_=>_$tabla_mover){
echo_$id._" ---> ".$tabla_mover."<br>";

como puedo hacer para "filtrar" el $_POST exactamente la tabla selecionada como destino??.......luego seguramente tendre que tomar ese ID y hacer un SELECT para ver todos los campos seguido de un INSERT para agregarlos a la OTRA tabla.
  #2 (permalink)  
Antiguo 30/03/2003, 10:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El problema es que la definición del "<form>" y cierre del mismo con su boton "submit" ha de estar fuera de tu bucle que usas para recorrer la consulta que haces .. Si no lo haces así .. no sé como haras el "submit" .. pero si pretendes modificar todos los valores de ese "<select>" a la vez .. debe ser como te comento ..

Código PHP:
echo "<FORM METHOD=\"POST\" ACTION=\"mover_registros.php\">";

while (
$row= .....){

// etc código ...

echo <<<HTML
<select name="mover_id[$id]">
    <option value="tabla1" selected>tabla1</option>
    <option value="tabla2">tabla2</option>
    <option value="tabla3">tabla3</option>
</select>
HTML;

// etc código

// cierre bucle while ..

// tu boton "submit" ...

echo "</form>"// cierre del formulario .. 
Luego puedes obtener dicho par tabla->id del array asociativo que generas dinamicamente en tu mover_id.php como lo estas haciendo con el bucle típico foreach()

<off-topic consejo>
Se vé que usas sintax "Here doc" (echo <<<HTML .. HTML;) y sintax "normal" para echo ..

¿Sabias que usando sintax "here doc" puedes usar $variables en su sintax; incluso llamadas a arrays .. (objetos->no objetos)?

ejemplo:
Código PHP:
echo <<<HTML
<td bgcolor="$color" align="center"><font color="#000000">$row['id']</font></td>
HTML; 
Fijate en el uso de comillas .. uso Dombles o simples donde corresponda sin afectar a las llamadas a las variables (sin necesidad de concatenar o "escapar" comillas dobles ..)

</off-topic>

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 30/03/2003, 11:44
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 15 años, 10 meses
Puntos: 2
hola.....gracias cluster por la ayuda pero la verdad sigo sin poder generar el ComboBox

Código PHP:
<?
echo <<< HTML
<HTML>
<HEAD>
<TITLE>Downwarez</TITLE>
<link href="estilo.css" rel="stylesheet" rev="stylesheet" type="text/css">
</HEAD>
<BODY>
<h1><div align="center">Administracion</div></h1>
<br>
<br>
HTML;


//Conexion con la base
mysql_connect("localhost","","");
//Ejecutamos la sentencia SQL
$result=mysql_db_query("downwarez","SELECT * FROM administracion") or die (mysql_error());

//Mostramos los registros

  
echo "<table width='100%' border=1 cellspacing='0' align='center' bordercolor='#000000' class='tabla'>\n";

    echo 
"<tr>
              <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>ID</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Nickname</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Warez</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Descripcion</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Direccion</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Crack</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>Fecha</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>------</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>------</font></div>
            </td>
            <td bgcolor=#cccccc class='td'>
            <div align='center'><font color='#000000'>-------</font></div>
            </td>
        </tr>\n"
;;
        


$lista_colores=array('#4682B4','FF7F50');
$num_colores=2;
$indice=0;

        
        
        
echo 
"<FORM METHOD=\"POST\" ACTION=\"mover_registros.php\">";
while (
$row=mysql_fetch_array($result)){

$color=$lista_colores[$indice $num_colores];
$indice++;
$id=$row["id"];
 
echo 
"<tr bgcolor=\"$color\">";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[id]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[c_nickname]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[c_warez]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[c_descripcion]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[c_direccion]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[c_crack]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\">$row[c_fecha]</font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\"><a href = \"actualizar1.php?id=$row[id]&nickname=$row[c_nickname]&warez=$row[c_warez]&descripcion=$row[c_descripcion]&direccion=$row[c_direccion]&crack=$row[c_crack]\">Modificar</a></font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\"><a href = \"borrar.php?id=$row[id]\">Borrar</a></font></td>";
echo 
"<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\"><select_name=\"mover_id[$id]\"><option_value=\"tabla1\"_selected>tabla1</option><option_value=\"tabla2\">tabla2</option><option_value=\"tabla3\">tabla3</option></select></font></td>";
echo 
" </tr>\n";
}

echo 
"</table>";
echo 
"<input type=\"submit\" value=\"Enviar\" class=\"boton\">";
echo 
"</form>";
mysql_free_result ($result); ///liberamos la memoria
mysql_close(); ////cerramos la conexion
echo <<< HTML
<table width="122" border="0" cellspacing="0" cellpadding="0" align="center" class="tabla">
            <tr>
                <td><div align="center" class="td"><a href="insertar.html">Nuevo</a><br></div></td>
                <td><div align="center" class="td"><a href="busqueda.php">Buscar</a><br></div></td>
                <td><div align="center" class="td"><a href="salir.php">Desloguearse del Sistema</a><br></div></td>
            </tr>
</table>
</BODY>
</HTML>
HTML;
?>
donde me tiene que aparecer el ComboBox aparece:
Cita:
tabla1tabla2tabla3
Si alguien sabe algo se lo agradeceria Mucho!!

Desde Ya Muchas Gracias!!
  #4 (permalink)  
Antiguo 30/03/2003, 12:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Fijate bien el código que al cortar y pegar el código se añadae un _ en lugar de un espacio (fallo de estos foros .. abrá que informar ..)

echo "<td bgcolor=\"$color\" align=\"center\"><font color=\"#000000\"><select_name=\"mover_id[$id]\"><option_value=\"tabla1\"_selected>tabla1</option><option_value=\"tabla2\">tabla2</option><option_value=\"tabla3\">tabla3</option></select></font></td>";
echo " </tr>\n";

fijate los option_value .. es option value .. y así con todo .. Revisalo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 30/03/2003, 16:18
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 15 años, 10 meses
Puntos: 2
Gracias Cluster no me habia percatado de ese error que estos foros te agregan un _ (guion bajo) en vez que de (espacio).....pero sabes yo utilizo el "phpedit 0.6" y no me mostraba esos _ aparecian como espacios.....asi que los busque a cada uno y los borre y volvi a hacer el espacio.....y pareciera que si estaban porque luego todo funciono como yo esperaba.....con respecto a ese error.....donde se debe informar??
  #6 (permalink)  
Antiguo 31/03/2003, 10:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En el foro "Administración" .. cita este mensaje mismo ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 11:08.