Foros del Web » Programando para Internet » PHP »

Insert into Mysql Sin actualizar? PHP

Estas en el tema de Insert into Mysql Sin actualizar? PHP en el foro de PHP en Foros del Web. Hola a todos, lo que quiero hacer basicamente es los siguiente. Tengo un boton el cual tiene un href a un php que lo que ...
  #1 (permalink)  
Antiguo 22/06/2012, 23:50
 
Fecha de Ingreso: mayo-2012
Mensajes: 8
Antigüedad: 11 años, 11 meses
Puntos: 0
Insert into Mysql Sin actualizar? PHP

Hola a todos, lo que quiero hacer basicamente es los siguiente. Tengo un boton el cual tiene un href a un php que lo que hace es insertar los datos, el problema es que no quiero que redireccione (al php), sino que se quede en el lugar y mediante una funcion de javascript cambie la img del boton (eso lo se hacer, el problema es como hacer que no redireccione).

Lo explico mas "extenso" para que entiendan lo que estoy tratando de hacer:

Tengo un if que se asegura si los valores (por ej) $a, $b, y $c estan en presentes en las columnas 'a', 'b', 'c'. En el caso que haya valores, devuelve un echo, en el caso que el numero de valores sea 0, devuelve otro echo diferente. Con esto no hay ningun problema.

Si no devuelve ningun valor (es decir, si no hay coincidencia de valores) me devuelve un boton que es el que redirecciona al php que hace el "INSERT INTO", si hay valores (si hay coincidencia de valores) me devuelve un boton que hace referencia a otro php que lo que hace es borrar estos valores de la base de datos.

Lo que quiero hacer es que al hacer click en el boton sin ninguna coincidencia redireccione al php para insertar datos pero sin salir de la pagina actual ni actualizarse, mediante javascript hacer que cambie el boton (la imagen del boton) y la url del href y se convierta en la url del php que elimina los registros de la base de datos y viceversa.

Espero que se entienda xD. La ultima parte la se hacer (parcialmente) con saber como hacer para que haga el insert into sin redireccionar es suficiente, si se puede algun ejemplo mejor, asi entiendo mejor las cosas. Gracias!
  #2 (permalink)  
Antiguo 23/06/2012, 00:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Insert into Mysql Sin actualizar? PHP

La verdad es que no te entendí nada, pero si quieres que al apretar un botón haga una acción en el servidor pero que solo se actualice una parte de la página usa AJAX.
  #3 (permalink)  
Antiguo 23/06/2012, 13:00
 
Fecha de Ingreso: mayo-2012
Mensajes: 8
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Insert into Mysql Sin actualizar? PHP

Eso es basicamente lo que digo de hacer, pero no tengo ni idea de ajax, tengo una idea pero bastante pobre de php, alguna ayuda?
  #4 (permalink)  
Antiguo 23/06/2012, 16:39
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Insert into Mysql Sin actualizar? PHP

Estudia ajax, o busca información concreta de esa parte, la verdad no es una cosa sencilla de explicar.
  #5 (permalink)  
Antiguo 23/06/2012, 19:24
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Insert into Mysql Sin actualizar? PHP

buscá: ajax jquery en google. es la manera mas fácil de hacerlo con jquery. No es tan sencillo de explicar pero tampoco es cosa de otro mundo. Basicamente es tener un archivo php que hace el insert, y lo llamas mediante una funcion jquery pasandole los parámetros.

un ej que usé en un carrito de compra:
Código Javascript:
Ver original
  1. $.ajax({
  2.             type: "GET",
  3.             url: "cart_action.php",
  4.             data: "remove[]=" + orderCode,
  5.             success: function() {
  6.                 $("#cart tr .remove input[value=" + orderCode + "]").parent().parent().fadeOut(500, function() {
  7.                     $(this).remove();
  8.                     calcPrice();
  9.                 });
  10.             },
  11.             error: function() {
  12.                 window.location("cart_action.php?remove[]="+orderCode);
  13.             }
  14.         });

no es un código muy dificil de comprender, eso te tiene que servir. Cambiá la url, los parametros, en el sucess lo que haces si tiene exito, en el error lo que haces si falla la petición ajax. Eso es todo
  #6 (permalink)  
Antiguo 23/06/2012, 23:25
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Insert into Mysql Sin actualizar? PHP

Cita:
Iniciado por patriciomase Ver Mensaje
no es un código muy dificil de comprender, eso te tiene que servir.
Si sabes ajax o javascript no, pero él dice que apenas conoce php
  #7 (permalink)  
Antiguo 24/06/2012, 04:17
 
Fecha de Ingreso: octubre-2009
Ubicación: Barcelona
Mensajes: 52
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: Insert into Mysql Sin actualizar? PHP

primeramente deberias tener el boton, lo podrias hacer de esta forma

Código HTML:
<a href="#" onclick='javascript: insertar()'><img src="aqui la imagen del boton"></a> 
fijate que el enlace no redirecciona hacia ninguna lado (#)
luego creamos un evento onClick que llame a la funcion insert() cuando este sea clicado
dentro del enlace metemos una imagen para que parezca un boton

despues deberias hacer dos capas una de ellas siempre permanecera oculta, y la otra solo sera visible cuando clickemos en el boton y mostrara un mensaje (...Insertando...)

Código HTML:
<div id="alert" style="display:none">..Insertando..<div id="contenidoOculto"></div></div> 
ahora vamos a mejorar un poco nuestro alert para que quede algo mas curioso con css

esto en tu hoja de estilos css

Código HTML:
#alert {
	position: fixed;
	left: 40%;
	background-color: #333;
	color: #CCC;
	width: 140px;
	z-index: 3;
	visibility: visible;
	height: auto;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	border: 2px solid #F2F2F2;
	right: 40%;
	top: 10%;
	padding-top: 18px;
	padding-bottom: 18px;
	text-align: center;
	display: inline;
}
ahora lo que aremos es crear la funcion insert en javascript

Código HTML:
function insertar()
{
	$("#alert").css("display", "inline");
	$("#contenidoOculto").load("insert.php", function(){
	$("#alert").slideUp("slow");
	});
}
fijate que aqui lo que hacemos es:
primero hacer visible alert que mostrara el mensaja (...Insertando...)
despues en la capa oculta cargamos un archivo llamado insert.php
una vez cargado todo el codigo de la pagina insert.php en la capa volvemos a ocultar alert

ahora creamos el archivo insert.php
y dentro ponemos todo lo que queremos que haga nuestro programa cuando pulsemos el boton, ya sea un insert como cualquier otra cosa, en el caso de un insert quedaria asi:
Código PHP:
<?php

mysql_select_db 
("base_datos"Tu conexion a la bd); 
$sql "INSERT INTO `tabla` (campos)  VALUES (datos ha introducir)";
$consulta mysql_query($sql,$conexion);
 
?>
acuerdate que antes de todo esto tendras que fajarte el archivo de jquery y incluirlo en la pagina donde este el javascript.

si hubo algun fallo lo lamento mucho.
espero que te sirva

Etiquetas: ajax, insert, javascript, jquery, mysql, registro
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 08:29.