Foros del Web » Programando para Internet » Javascript »

Modificar registro con solo seleccionar 1 renglon

Estas en el tema de Modificar registro con solo seleccionar 1 renglon en el foro de Javascript en Foros del Web. Hola a Todos! Alguien sabra como puedo con PHP al pasar sobre un reglon de mi tabla que se resalte y al darle click quede ...
  #1 (permalink)  
Antiguo 05/07/2004, 10:12
Avatar de quitos  
Fecha de Ingreso: junio-2004
Mensajes: 119
Antigüedad: 19 años, 10 meses
Puntos: 1
Pregunta Modificar registro con solo seleccionar 1 renglon

Hola a Todos!

Alguien sabra como puedo con PHP al pasar sobre un reglon de mi tabla que se resalte y al darle click quede seleccionado y con seleccionar ese renglon lo pueda eliminar o modificar????


sin utilizar ventanas extras para borrar si ya le di click al renglon y le doy al boton de eliminar me elimine mi renglon??? solo actualizando veo el resultado; y para modificar ahi si ir a otra ventana pero ya seleccionado el campo que voy a modificar.
  #2 (permalink)  
Antiguo 05/07/2004, 12:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Vamos a ver ..

En PHP se trataría de generar un link desde HTML/javascript a ese "renglón" (¿supongo que te referiras al hacer click sobre una fila de una tabla HTML común o texto que ahí contenga?).

Ese "link" (sea HTML simple o lanzado desde javascirpt por algún evento tipo onClick() ...) va a llamar a tu script de borrado de ese registro de tu Base de datos (o donde lo almacenes) .. pero para poder hacer ese "borrado" de ese registro "concreto" debes pasarle algún identificador que identifique (valga la rebundancia) a ese registros (fila de tu tabla a nivel "visual") que has hecho el "click" sobre ella).

Para eso .. a la hora de representar esos datos .. tendras que acompañar el link que generas dinámicamente junto con el dato a representar el "id" de ese registro para que quede algo tipo:

Código PHP:
<?
while ($row=mysql_fetch_array($consulta)){
?>
<tr onClick="window.location='borrar.php?id=<? echo $row['id'?>'">
<td>$row['dato']</td>
<tr>
<?
}
?>
(las referencias a Javascript y HTML .. usa los foros adecuados ..por si tienes dudas).

El "truco" está en que al terminar tu proceso en el scirpt PHP, vas a redireccionar automáticamente hacia ese script que muestra el listado en base a una consulta SQL a tu BD (o como obtengas esos datos). Así, al leer nuevametne tu BD con ese registro ya borrado .. se generará una página nueva donde aparentemente ya no tienes ese "renglón" por qué ya no está en tu Base de datos (o donde lo almacenes).

Código PHP:
<?
// tu proceso.php .. nada de HTML aquí. Es un proceso 100% PHP.
header ("Location: listado.php");
?>
Incluso .. podrías redireccionar a tu "listado.php" pasandole alguna variable de control para dar algún mensajito de error/exito en tu listado.php de como fué el proceso ..

header ("Location: listado.php?codigo=error");
ó
header ("Location: listado.php?codigo=exito");

y en tu listado.php ... filtras esa variable y muestras el mensaje correspondiente si esta existe:

Código PHP:
if (isset($_GET['codigo'])){
echo 
"El resultado fué: ".$_GET['codigo'];
// Podría ser hasta el código javascript de un alert() .. o lo que gustes y donde quieras .. El caso que será visualizado el mensaje + tu actual listado. Sin más ventanas extra.

Vas a notar un "parpadeo" o una página en "blanco" por unos instantes (eso es el efecto de la recarga de página y generación de esta que llega desde el servidor a tu cliente) ..

Si no quieres ver ese "efecto" tendrás que recurrir a técnicas de "Remote scripting" y ver mucho sobre DHTML (usa google y veras temas sobre eso).

Un saludo,

Última edición por Cluster; 05/07/2004 a las 12:20
  #3 (permalink)  
Antiguo 06/07/2004, 12:42
Avatar de quitos  
Fecha de Ingreso: junio-2004
Mensajes: 119
Antigüedad: 19 años, 10 meses
Puntos: 1
Mil gracias Cluster! me han ayudado mucho los consejos que me has dado!!!

solo que....

parece que tendra que ser más sofisticado(o al menos lo es para mi) veras...


lo que necesito es hacer un algo que se muestre como un dbgrid de Delphi pero con php y que no sean grids y que te puedas desplazar en tu misma tabla con los botones dedesplazamiento del teclado y con el mouse al dar click que se quede seleccionado tu renglon o si le das doble click a un renglon que me mande a una ventana donde podre modificarla o eliminarla.


ya tengo las ventanas, pero no se como hacer el efecto para q aparente estar resaltado y que se quede resaltado el renglon ultimo donde paso el mouse y poderlo tomar como seleccionado para poder dar click a un boton e ir a la ventana de edición


está muy dificil????
  #4 (permalink)  
Antiguo 06/07/2004, 13:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
algo que se muestre como un dbgrid de Delphi pero con php
Ese tipo de "efectos visuales" para trabajar con datos (ver/ingresar/modificar/etc) y su presentación si usas como clientes navegadores debes solventar el problema con algún lenguaje del lado del cliente, lease: Javscript/DHMTL, applet Java o incluso ActiveX.

Muevo tu pregunta al foro de Javascript para que te orienten. (sobre todo para solventar esos temas de "marcar" un "renglon" que llamas al pasar el ratón por encima o al hacer click dejarlo de otro color .. y cosas por el estilo).

Un saludo,
  #5 (permalink)  
Antiguo 08/07/2004, 11:59
Avatar de quitos  
Fecha de Ingreso: junio-2004
Mensajes: 119
Antigüedad: 19 años, 10 meses
Puntos: 1
De acuerdo

Gracias Cluster Lo hice y si me funciono la Seleccion del renglon

cada que paso el mouse ya lo resalta como queria!!!

solo me falta ahora algo para que con Php o Java o no se!

que me permita desplazarme en mi tabla mediante el teclado;

te muestro como me quedo???

para empezarlo utilizo el Java en el head:

<script>
function uno(src,color_entrada) {
src.bgColor=color_entrada;src.style.cursor="hand";
}
function dos(src,color_default) {
src.bgColor=color_default;src.style.cursor="defaul t";
}
</script>

y despues ya lo llamo con phpen el body:

<?php

echo '<tr ';
if ($nf%2==0)
echo 'onMouseOver=uno(this,\'66B9EA\'); onMouseOut=dos(this,\'BCDEFA\'); bgcolor=BCDEFA; '; //si el resto de la división es 0 pongo un color
else
echo 'onMouseOver=uno(this,\'66B9EA\'); onMouseOut=dos(this,\'F3FAFE\'); bgcolor=F3FAFE; '; //si el resto de la división NO es 0 pongo otro color
echo '>';

?>

y ya queda!!! como comentario lo del if es para difereciar los colores entre renglones!!! que obvio ya lo sabes! (es que lo acabo de aprender!)
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 23:03.