Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: daniken en 15 Marzo 2007, 17:11 pm



Título: Duplicar un registro específico en otra tabla
Publicado por: daniken en 15 Marzo 2007, 17:11 pm
Hola  tengo un problemilla, estoy haciendo un programa donde de un lado de la pantalla tengo una consulta donde se muestran los campos la tabla1, y del otro lado de la pantalla tengo una consulta a la tabla2 donde deberían aparecer copiados los campos previamente seleccionados en la tabla1 (Duplicar un registro seleccionado de la tabla1 a  la tabla2). He logrado hacer que en la tabla2 se graben los campos pero solo cuando tengo el programa cableado es decir con constantes. El problema es que no se como lograr hacerlo para que incluya el registro deseado al hacer clic sobre el, he hecho innumerables pruebas y se que solo me falta un detalle. Recientemente me comentaron que el problema era que no podia llamar a la función directamente desde el javascript, que debia hacerlo desde ajax o envierle los parametros por URL, eso ultimo lo he hecho desde un form pero acá no me funciona.  Mucho le sabría agradecer su ayuda.
Código:
<?
include "conn.php";
function copiar($id){
$query = "INSERT INTO `tiket` SELECT *  FROM menu WHERE id=".$id;
mysql_query( $query );           
 
}
//Consulta
$sql_gen = "SELECT * FROM $tabla WHERE desgrupo='Pizzas'";
$cons_gen = mysql_db_query($base,$sql_gen) or die (mysql_error());
 
//Impresion del listado
while ($array = mysql_fetch_array($cons_gen))
{
 ?>
<table BGCOLOR="#ffffff" BORDER=0 CELLSPACING=0 CELLPADDING=0 width=379>
  <tr class="enlace" bgcolor='ffffff' onMouseOver="overTR(this,'#fce287');" onMouseOut="outTR(this,'ffffff');" id='<?=($array[id]); ?>' onfocus="<? copiar($id); ?>;" >
  <td width=300 ><p><?=($array[plato]); ?></td>
  <td width=120 align=left><p><?=$array[desc] ?></td>
  <td align=right><p><?=$array[precio] ?></td>
  </tr>
   <?
}
echo "</table><br>";
?>


Como debo hacer en vez de colocar WHERE id=001 para que cada vez que se ejecute el evento Onfocus (o puede ser Onclick) se selecciones ese registro en particular o debo cambiar alguna otra parte del código. Gracias


Título: Re: Duplicar un registro específico en otra tabla
Publicado por: Libransser en 15 Marzo 2007, 17:24 pm
Que yo sepa ellos tienen razón, no puedes llamar, por lo menos de esa forma, a una función PHP desde el evento onFocus así como así.

Una manera simple de resolverlo sería cambiando el enfoque de lo que quieres hacer, realiza un formulario sencillo con checkboxes y que a través de POST envíes la información a otra página (o incluso a esa misma) para que haga el duplicado de las tuplas seleccionadas.

Arwing