Ver Mensaje Individual
  #12 (permalink)  
Antiguo 29/11/2010, 11:03
Avatar de auttranadhie
auttranadhie
 
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 5 meses
Puntos: 8
Respuesta: ayuda mi php scrit no edita la bd

Hola de nuevo:

Vamos a ver si pillas el concepto:

Tanto en tus consultas a la base de datos como a la hora de mostrar la información en pantalla estás asumiendo que MySQL o el servidor automáticamente tendrán en cuenta el valor de tus variables cuando en realidad están evaluando el nombre de la variable misma. Por eso concatenamos (esto es, juntamos) las variables con puntos para que realmente tome el valor que queremos.

Tomando tu código como muestra, tendríamos:

Código PHP:
<?php

//Nos conectamos a la base de datos
$bd_host "localhost";
$bd_usuario "ph";
$bd_password "19855";
$bd_base "p_anime";
$conexion mysql_connect($bd_host$bd_usuario$bd_password);
mysql_select_db($bd_base$conexion);

//Convertimos los datos del formulario a cadenas.
$nombre $_POST['nombre'];
$nombredos $_POST['nombreact'];
$descripccion $_POST['descripccion'];
$imagen $_POST['imagen'];
$estado $_POST['estado'];

$resultados=mysql_query("SELECT * FROM animes WHERE nombre LIKE '%".$nombre."%'"$conexion);
$actual=mysql_query("UPDATE animes SET nombre='".$nombre."',descripcion='".$descripcion."', imagen='".$imagen."',estado='".$estado."' 
WHERE nombre='"
.$nombredos."'"$conexion);

//Mostramos el encabezado de los resultados dentro de un formulario que actualizar? datos
echo"<form action=ejemplo.php method =post><table border=1 cellspacing=1 cellpadding=1>

<tr>
<td><b>NOMBRE</b></td>
<td><b>descripccion</b></td>
<td><b>imagen</b></td>
<td><b>estado</b></td>
</tr>"
;

//Creamos el bucle para los resultados
while($row=mysql_fetch_array($resultados)){

echo
"
<tr>
<td><input type=text name=nombre size=100 maxlength=110 value="
.$row['nombre']."></td>
<td><input type=text name=descripcion size=120 maxlength=130 value="
.$row['descripcion']."></td>
<td><input type=text name=imagen size=120 maxlength=130 value="
.$row['imagen']."></td>
<td><input type=text name=estado size=120 maxlength=130 value="
.$row['estado']."></td>
<td><input type=submit name=boton value=ACTUALIZAR></td>
</tr>"
;



}

echo
"</table></form>";

//Cerramos la conexión con MySQL
mysql_close($conexion);
?>
Te recomiendo que:
  1. Te aprendas bien la sintaxis de programación de PHP (no es tan difícil). Sobre todo en lo referente a la construcción de variables (p.e., tus $row[] deben contender comillas simples o dobles).
  2. Date una vuelta al diseño de tablas de las bases de datos. Te recomiendo que para la cláusula WHERE utilices un identificador de registro que sea campo clave y no hagas consultas de actualización sobre un valor que a su vez actualizas. Puede darte grandes problemas.
Espero que te sirva de ayuda. Recibe un saludo.
__________________
A. Uttranadhie