25/07/2008, 01:02
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses Puntos: 574 | |
Respuesta: Borrar Temas A ver tienes claro que las cosas en la tecnologia que estas usando pasa en dos ambitos distintos (o tres)?
Qualquier consulta SQL que ejecutes tiene efectos sobre la BBDD, sea un select, update, delete... eso pasa en el servidor de bbdd (1.-ambito servidor BBDD)
Para ver los efectos de cualquier cosa que pase en el servidor de BBDD debes refrescar lo que estas viendo en pantalla (3.-ambito cliente, interficie de ususario).
Asi si ejecutas un SELECT lo que obtienes es una copia digamos virtual de su resultado que luego tienes que recorrer con programación php para darle formato (2.-ambito servidor web) y mandarlo al cliente (3.-ambito cliente) para que se muestre en pantalla.
DELETE, UPDATE y INSERT INTO tienen la particularidad de generar cambios en la BBDD pero no retornan nada. Con lo que si no haces nada más no veras su resultado.
Lo normal sera haber hecho un SELECT y tener un resultado en pantalla, luego hacer una de las otras posibles operaciones (DELETE, UPDATE o INSERT INTO) estas si ha ido todo bien habran generado cambios en la BBDD pero lo que estas viendo en pantalla no es la BBDD si no un listado de su estado en el momento que has hecho el SELECT inicial... luego conclusion para obtener el nuevo listado debes ejecutar otra vez la consulta inicial SELECT y mostrarla por pantalla, ahora si mostrara el estado de la BBDD despues de los cambios realizados.
Por que cuando haces el INSERT INTO de una nueva noticia aparecen los cambios que no se mostraban? Pues por que en el caso del INSERT INTO tienes definido que despues de introducir una nueva noticia esta se muestre, aún que lo parezca, no agrega la nueva noticia a la salida por pantalla si no que refresca toda la salida con lo que aparece la nueva noticia y los cambios que no se veian, repite el SELECT inicial.
Conclusion para ver immediatamente los cambios producidos por un UDATE tienes que repetir el SELECT inicial. Eso lo puedes forzar de una manera similar a lo que hemos hecho con lo de reducir el numero de noticias o refrescando la pagina entera, tanto para una solucion como para la otra deberas tener guardos los paramtros que usaste en la consulta inicial para poder usar los otra vez...
Quim
Nota: normalmente se habla de dos ambitos o lados servidor y cliente, pero te he querido hacer notar que dentro del servidor (2.-ambito servidor web) esta la capa que genera los resultados mandando instrucciones al cliente (3.- ambito Cliente) o al servidor de BBDD (1.-ambito Servidor de BBDD).
Última edición por quimfv; 25/07/2008 a las 01:42 |