Foros del Web » Programando para Internet » PHP »

modificar registro en mysql(como es el proceso?)

Estas en el tema de modificar registro en mysql(como es el proceso?) en el foro de PHP en Foros del Web. que ya se insertar y buscar datos en mysql usando php pero lo que todavia no he hecho, es modificar un dato aqui en foros ...
  #1 (permalink)  
Antiguo 06/07/2010, 02:56
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
modificar registro en mysql(como es el proceso?)

que ya se insertar y buscar datos en mysql usando php pero lo que todavia no he hecho, es modificar un dato aqui en foros del web hay un tutorial que lo explica en cuanto a codigo.

pero como se hace? tengo que crear un formulario donde al seleccionar por ejemplo un nombre de proveedor, cojo y en el formulario cambio los campos que necesite cambiar y ya esta? o como hay que hacerlo?
  #2 (permalink)  
Antiguo 06/07/2010, 03:15
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 19 años, 7 meses
Puntos: 11
Respuesta: modificar registro en mysql(como es el proceso?)

Eso ya es según como quieras montarlo.

Si quieres/necesitas hacerlo a través de un formulario, el achivo donde hace el "action" es donde tendrías que hacer el update, recogiendo los datos que le llegan del formulario con $_POST o $_GET.

ej:

Código PHP:
Ver original
  1. $sql = "update usuarios set edad = ".$_POST['edad'];
  #3 (permalink)  
Antiguo 06/07/2010, 03:16
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: modificar registro en mysql(como es el proceso?)

Tu sabes que para modificar un dato en las tablas sql se utiliza la sentencia UPDATE que tiene la siguiente estructura:
UPDATE "nombre_tabla"
SET columna1 = [[valor1], columna2 = [valor2]
WHERE {condición}

Pues lo mas sencillo seria crear un formulario para que el usuario introduciese el texto modificado. Lo guardas en una variable y haces la sentencia.

UPDATE "nombre_tabla"
SET clumna1 = '$valor1', columna2 = '$valor2'
WHERE {tu condicion}
  #4 (permalink)  
Antiguo 07/07/2010, 01:20
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: modificar registro en mysql(como es el proceso?)

tengo un problemilla con esto de modificar registros en la base de datos aun no e programado el codigo para que se agan pero antes de eso...e creado otra vez el mismo formulario que usé para insertar los registros. solo que esta vez para modificar los registros de una lista desplegable selecciono el nombre del distribuidor y a continuacion se me muestran los datos en el formulario para acontinuacion hacer las modificaciones y despues guardarlas.

pues cuando me carga la seccion modificar, aun sin haber seleccionado un distribuidor me salen unas lineas de error en los campos de texto del formulario variable indefinida o algo asi en ingles y quiero ke no me salga este error.

os pongo el codigo (por cierto cuando selecciono el distibuidor y se me cargan todos los datos del distribuidor "x" no me carga el campo text "comentarios" no se por que pero el resto si. bueno os dejo el codigo para que me digais como podria programar para que si "if" select no esta seleccionado no cargar $campo1,$campo2 etc etc etc.
Código:
<div id=capaexpansion3>
<h2>Modificar Distribuidor</h2>
<form method="post" action="">


<ul>
<li>Selecciona un Distribuidor :
<?php
//la sintaxis de sql varia de como estes conectándote a la base de datos
$conexion= mysql_connect("localhost", "root", "");

mysql_select_db("abcerotica", $conexion);
$SQL = "SELECT nombre FROM distribuidor ORDER BY nombre ASC";
$RES = mysql_query($SQL,$conexion);

//abres el select
echo "<select name='distribuidor' id='proveedor'><option value=''>Seleccione un distribuidor</option>";

while($row = mysql_fetch_row($RES)){
	//por cada proveedor que encuentre lo muestra en la lista desplegable
	echo "<option value='". $row[0] ."'>". $row[0] . "</option>";
	
}
//cierras el select
echo "</select>"; 
?>
</li>

<li><input type="submit" name="enviarmodificacion" value="Enviar" id="boton">

</li>
</ul>
</form>
<?php if (isset($_POST["enviarmodificacion"])) {
	$dato=$_POST['distribuidor'];
	$conexion= mysql_connect("localhost", "root", "");
	
	mysql_select_db("abcerotica", $conexion);
	
	
	$SQL = "select * from distribuidor where nombre like '%".$dato."%'";
	$RES = mysql_query($SQL,$conexion);
	
	while ($fila= mysql_fetch_assoc($RES)){
		$campo1=$fila['nombre']; 
		$campo2=$fila['email']; 
		$campo3=$fila['telefono']; 
		$campo4=$fila['comentario']; 
		
	}
}
?>

<form method="post" action="">
<ul>

<li>	Nombre: <input type="text" name="nombre" id="nombre3" value="<?php echo $campo1?>" size="40"></li>
	
	<li>Email: <input type="text" name="email" id="email3"  value="<?php echo $campo2?>" size="40"></li>
	
	
	<li>Telefono: <input type="text" name="telefono" id="telefono3" value="<?php echo $campo3?>" size="9"></li>


<li>Comentarios:

<textarea cols="30" rows="7" name="comentario" id="comentarios3" value="<?php echo $campo4?>" </textarea>	
</li>


<li>

<input type="submit" name="enviar1" value="Enviar"id="enviar3">
</li>
</ul>
</form>
</div>
  #5 (permalink)  
Antiguo 07/07/2010, 01:43
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 19 años, 7 meses
Puntos: 11
Respuesta: modificar registro en mysql(como es el proceso?)

Que error es ese que te sale en inglés? Si lo pones podremos orientarte mejor.

De momento, lo del textarea es así:
Código HTML:
Ver original
  1. <textarea cols="30" rows="7" name="comentario" id="comentarios3"><?php echo $campo4?></textarea>

Tampoco entendí bien eso de que no se carguen las variables "campo1,campo2" si no se envia el formulario, puedes explayarte un poco más?
  #6 (permalink)  
Antiguo 08/07/2010, 04:10
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: modificar registro en mysql(como es el proceso?)

gracias chenon por la ayuda, si mira me explico si el usuario aun no a seleccionado en la lista desplegable un distribuidor. quiero que el formulario que sale abajo este vacio. pero que si el usuario selecciona un distribuidor se me cargen todos los campos o datos de ese distribuidor en el formulario para ahi modificarlos y luego al pulsar el boton enviar con la sentencia update modificar ese distribuidor eso es lo que quiero.

pero no se donde colocar el if (condicion) { }

que me diga si select value = 0 (no seleccionado) = formulario campos = vacio else { formularios campos = $campo1, $campo2 etc etc no se si me e explicao bien. el codigo que estoy usando ya esta puesto.... se os ocurre algo?

Etiquetas: modificar, proceso, 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 14:09.