ayuda con php y mysql. formulario.

Buenas.
Estoy haciendo un formulario en php que coga información de una base de datos desde phpmyadmin.
Tengo un boton de borrar y otro de modificar.
Me falla el de modificar soy nuevo en esto.
Y el boton deberia de leer los datos de esa linea, introducierlo en el formulario y desde hay ya editar.
La id es el DNI.

Es un mismo fichero para simplificar lo cuelgo por si alguna persona puede echarme un cable.Thanks. [ginyo]
Es el if ($_GET['editar']) y no se si el : <a href='rafa.php?editar=$row[Nombre].$row[Apellido].$row[Direccion].$row[DNI]'>Editar</a>";
debe de coger todos los campos o que.

<?php
//usuario root y contraseña rafa
$link = mysql_connect('localhost', 'root');
//$link = mysql_connect('localhost', 'root' , 'rafa');
if (!$link) {
die('Not connected : ' . mysql_error());

}

// Seleccionar rafa como base de datos activa
$db_selected = mysql_select_db('rafa', $link);
if (!$db_selected) {
die ('Can\'t use rafa : ' . mysql_error());
}
//insertar valores en la tabla llamada tabla con el boton aceptar llamado nuevo
if ($_GET['Nuevo'])
{
$query = "insert into tabla values ('".$_GET['Nombre']."','".$_GET['Apellido']."','".$_GET['Direccion']."','".$_GET['DNI']."')";
$result = mysql_query($query);

}
//eliminar alumno cogiendo la clave primaria DNI
if ($_GET['eliminar'])
{
$query = "delete from tabla where DNI = '$_GET[eliminar]'";
$result = mysql_query($query);

}
//editar alumno cogiendo todos los campos
if ($_GET['editar'])
{
$Nombre = $_GET["Nombre"];
$Apellido= $_GET["Apellido"];
$Direccion= $_GET["Direccion"];
$DNI= $_GET["DNI"];


mysql_query("UPDATE 'blog' SET 'titulo' = [$titulo] WHERE titulo='".$_GET["titulo"]."'");

$query = "update from tabla where Nombre = ('".$_GET['Nombre']."','".$_GET['Apellido']."','".$_GET['$Direccion']."',".$_GET['DNI'].")";
$result = mysql_query($query);
echo "actualizado correctamente";
}


?>
<html><head><title>Alumnos 2012</title></head>
<body>
<h1><u>Matriculacion de Alumnos 2012</u></h1>

<form action="rafa.php" method="get">

Nombre : <input type=text name="Nombre" maxlength=13 size=13><br><br>
Apellido : <input type=text name="Apellido" maxlength=30 size=30><br><br>
Direccion : <input type=text name="Direccion" maxlength=60 size=30><br><br>
DNI : <input type=text name="DNI" maxlength=9 size=9><br><br>
<input type=submit name="Nuevo" value="Nuevo">
</form>
<h1><u>Alumnos Matriculados</u></h1>
<?php

$query = "SELECT * FROM tabla";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result))
{
echo $row['Nombre']. " - ". $row['Apellido']. " - ". $row['Direccion']. " - ". $row['DNI'].
"<a href='rafa.php?eliminar=$row[DNI]'>Borrar</a>
". " "."
<a href='rafa.php?editar=$row[Nombre].$row[Apellido].$row[Direccion].$row[DNI]'>Editar</a>";
echo "<br />";
}
//formulario html con los campos
?>
</body>
</html>
Te puse como podría ser en base a tu planteamiento con comentarios. Puede que haya errores en comillas en las sentencias SQL ya que desconozco el tipo de campo que tiene la base de datos.

Espero te sirva.

<?php
//usuario root y contraseña rafa
$link = mysql_connect('localhost', 'root');
//$link = mysql_connect('localhost', 'root' , 'rafa');
if (!$link) {
die('Not connected : ' . mysql_error());

}

// Seleccionar rafa como base de datos activa
$db_selected = mysql_select_db('rafa', $link);
if (!$db_selected) {
die ('Can\'t use rafa : ' . mysql_error());
}
//insertar valores en la tabla llamada tabla con el boton aceptar llamado nuevo
// Utilizamos la variable $_GET['submit'] a la cual le cambiamos el valor dependiendo la situación.
if ($_GET['submit'] == 'Nuevo')
{
$query = "insert into tabla values ('".$_GET['Nombre']."','".$_GET['Apellido']."','".$_GET['Direccion']."','".$_GET['DNI']."')";
$result = mysql_query($query);

}
//eliminar alumno cogiendo la clave primaria DNI
if ($_GET['submit'] == "eliminar")
{
$query = "delete from tabla where DNI = '".$_GET['DNI']."'";
$result = mysql_query($query);

}
//editar alumno cogiendo todos los campos
if ($_GET['submit'] == 'editar')
{
//No se de donde sale la variable $titulo
mysql_query("UPDATE 'blog' SET 'titulo' = $titulo WHERE titulo='".$_GET["titulo"]."'");

$query = "UPDATE tabla SET Nombre = $_GET['] where Nombre ='".$_GET['Nombre']."', Apellido='".$_GET['Apellido']."',Direccion='".$_GET['Direccion']."',DNI='".$_GET['DNI']."' WHERE DNI = '.$_GET['DNI'].'";
$result = mysql_query($query);
echo "actualizado correctamente";
$_GET['operacion'] = 'Nuevo';
}


?>
<html><head><title>Alumnos 2012</title></head>
<body>
<h1><u>Matriculacion de Alumnos 2012</u></h1>

<form action="rafa.php" method="get">
<!-- Buscamos los valos en las variables del array $_GET, si existen los utilizamos sino dejamos en blanco. 

  La sentencia    (isset($_GET['Nombre']) && $_GET['operacion'] != 'editar')? $_GET['Nombre']:''    es el equivalente a:
 
                                                 
    if(isset($_GET['Nombre] && $_GET['operacion'] != 'editar'){
      echo &_GET['Nombre'];
    }else{
      echo "";
    }

    Si nombre existe esta definida y el valor de operacion es diferente a 'editar' impimimos el valor de $_GET['Nombre] sino espacios.
-->
Nombre : <input type=text name="Nombre" maxlength=13 size=13  value="<?php (isset($_GET['Nombre']) && $_GET['operacion'] != 'editar')? $_GET['Nombre']:'' ?>"><br><br>
Apellido : <input type=text name="Apellido" maxlength=30 size=30 value="<?php (isset($_GET['Apellido'])&& $_GET['operacion'] != 'editar')? $_GET['Apellido']:'' ?>"><br><br>
Direccion : <input type=text name="Direccion" maxlength=60 size=30 value="<?php (isset($_GET['Direccion'])&& $_GET['operacion'] != 'editar')? $_GET['Direccion']:'' ?>"><br><br>
DNI : <input type=text name="DNI" maxlength=9 size=9 value="<?php (isset($_GET['DNI'])&& $_GET['operacion'] != 'editar')? $_GET['DNI']:'' ?>"><br><br>
<input type=submit name="submit" value="<?php (isset($_GET['operacion'])) $_GET['operacion']:'Nuevo' ?>">
</form>                                                                   
<h1><u>Alumnos Matriculados</u></h1>
<?php

$query = "SELECT * FROM tabla";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result))
{
echo $row['Nombre']. " - ". $row['Apellido']. " - ". $row['Direccion']. " - ". $row['DNI'].
"<a href='rafa.php?eliminar=$row[DNI]'>Borrar</a>
". " "."
href='rafa.php?operacion=editar&Nombre='.$row['Nombre'].'&Apellido='.$row['Apellido'].'&Direccion='.$row['Direccion'].'&DNI='.$row['DNI'].'>Editar</a>";
echo "<br />";
// reformule la URL.
}
//formulario html con los campos
?>
</body>
</html>



Un saludo.
esto aqui: ;)
Donde ademas encontraras una mini guia precisamente de conectar php y mysql y realización de consultas.
hilo_hilo-oficial-php_1690601
2 respuestas