Foros del Web » Programando para Internet » PHP »

ayuda mi php scrit no edita la bd

Estas en el tema de ayuda mi php scrit no edita la bd en el foro de PHP en Foros del Web. hola amigo tome este ejemplo de aqui pero igual no me funciona me aparesen los datos pero no los edita me podrian desir el problema ...
  #1 (permalink)  
Antiguo 29/11/2010, 01:36
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
ayuda mi php scrit no edita la bd

hola amigo tome este ejemplo de aqui pero igual no me funciona me aparesen los datos pero no los edita me podrian desir el problema

Código PHP:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8">
<title>UN EJEMPLO</title>
</head>

<?php

//Nos conectamos a la base de datos
$bd_host "localhost";
$bd_usuario "mario";
$bd_password "1985";
$bd_base "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 anime SET
nombre='$nombre',
descripccion='$descripccion',
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
"
<form action="
ejemplo.php" method ="post">
<tr>
<td><input type=text name=nombreact size=20 maxlength=30 value=$row[nombre]></td>
<td><input type=text name=dire size=20 maxlength=30 value=$row[descripccion]></td>
<td><input type=text name=tel size=20 maxlength=30 value=$row[imagen]></td>
<td><input type=text name=email size=20 maxlength=30 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);
?>

<body>

<small>INGRESE SUS DATOS</small><br>
<form action="ejemplo.php" method ="post">
<input type="text" name="nombre" size="20" maxlength="30">
<input type="submit" name="boton" value="ENVIAR">
</form><br>

</body>
</html>
lo que quiero es que edite la base de datos osea me sale la consulta pero no lo edita ni nada podrian ayudarme por favor
  #2 (permalink)  
Antiguo 29/11/2010, 02:32
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda mi php scrit no edita la bd

Hola:

Creo que no concatenas bien el código que devuelves para que "pinte" la página con las variables. Por ejemplo:

Código PHP:
// Tu código
'<td><input type=text name=nombreact size=20 maxlength=30 value=$row[nombre]></td>'

//Corrección:
'<td><input type=text name=nombreact size=20 maxlength=30 value='.$row["nombre"].'></td>' 
En las consultas SQL creo que debes revisarte también las sentencias:

// Corrección:
Código PHP:
"SELECT * FROM animes WHERE nombre LIKE '%".$nombre."%'" 
Un saludo.
__________________
A. Uttranadhie
  #3 (permalink)  
Antiguo 29/11/2010, 07:26
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

hola mi pana mira igual no me funciona y si le pongo eso de la correccion no se ejecuta men
mira el ejemplo de como se ejecuta pero iguar no edita nada men.....

ayudame plish alguien o hacerme otro ejemplo que me funcione

http://anime.regionanime.com/ejemplo.php
  #4 (permalink)  
Antiguo 29/11/2010, 09:17
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda mi php scrit no edita la bd

tienes error al recibir las variables, tienes 2 formularios diferentes y estas recibiendo los valores juntos.

deberías poner unos if para separar lo que se muestra de acuerdo a lo que recibes y ahí hacer las consultas a bd
  #5 (permalink)  
Antiguo 29/11/2010, 09:26
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ayuda mi php scrit no edita la bd

si es verdad, no debes anidar formularios, siempre que asignes una propiedad haslo con doble comilla <form action="ejemplo.php" >

en conclusion debes borrar un form que ya tienes y dejar uno y tomar las otras recomendaciones que dicen los otros foreros...

NOTA: se escribe descripción no descripccion
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #6 (permalink)  
Antiguo 29/11/2010, 10:16
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

disculpa pense quen o me abian contestado pero
gracias por la ayuda pero igual boore el formulario y nada no edita la base de datos

<?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',descripccion='$descripccion',imag en='$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=descripccion size=120 maxlength=130 value=$row[descripccion]></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);
?>

miren lo puse asi bueno al pareser no quiere funcional de ninguna manera amigos
pero aver que me reccomiendan ahora
  #7 (permalink)  
Antiguo 29/11/2010, 10:20
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ayuda mi php scrit no edita la bd

y que es loque pasa?? dices que te muestra los datosen tu caja de texto... osea que esta bien pero cuando envias tus datos a ejemplo.php?? que pasa en ese archivo??? donde esta el codigo?

EDITADO: ademas no has tomado lassugerencias de los otros foreros.. ellos tiene razon ..

Cita:
// Tu código
'<td><input type=text name=nombreact size=20 maxlength=30 value=$row[nombre]></td>';

//Corrección:
'<td><input type=text name=nombreact size=20 maxlength=30 value='.$row["nombre"].'></td>';
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #8 (permalink)  
Antiguo 29/11/2010, 10:41
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

men cuando lo pongo asi no me carga la pagina jeje
  #9 (permalink)  
Antiguo 29/11/2010, 10:54
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ayuda mi php scrit no edita la bd

por que como lo escribio auttranadhie le hicieron falta unos punto y coma.... pero espera,ya te cargan en las cajas de texto?? donde esta tu query para editar lo que necesitas (UPDATE)

ademas tu codigo esta mal estructurado.. lo que colocas debe ir dentro del body..

que pasa cuando oprimes el boton actualizar??? donde esta tu archivo ejemplo.php??
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #10 (permalink)  
Antiguo 29/11/2010, 10:58
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

jeje lo que pasa es que nada mas es ese solo archivo que se llama ejemplo.php

ese es el archivo ejeje no hay mas tenia acaso nito otro archivo men pues pense que con ese solo ya estaba men...

me das el ejemplo del otro archivo que farta men
  #11 (permalink)  
Antiguo 29/11/2010, 11:01
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ayuda mi php scrit no edita la bd

jajajaja claro,debes crear otro archivo que se llame ejemplo.php o como indiques en el form..
pero aun no me respondes nada:
que pasa cuando oprimes el boton actualizar?? no te da error???
ya cargan en las cajas de texto??
respondey seguimos..
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #12 (permalink)  
Antiguo 29/11/2010, 11:03
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 15 años, 4 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
  #13 (permalink)  
Antiguo 29/11/2010, 11:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

si entiendo mi amigo mira asi queda pero cuando le doy actulizar no hase nada men aqui esta el ejemplo men

si puedes darme el archivo ejemplo.php que funcione con ese scrit me ayudaria jeje
mira el ejemplo que me diste como queda men puedes intentar cambiar los datos para que veas

http://anime.regionanime.com/ejemplo.php
  #14 (permalink)  
Antiguo 29/11/2010, 11:26
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

Saludos

Agregando y resumiendo lo que comentan los compañeros foreros:

1.Death_Empire
Cita:
tienes error al recibir las variables, tienes 2 formularios diferentes y estas recibiendo los valores juntos.

deberías poner unos if para separar lo que se muestra de acuerdo a lo que recibes y ahí hacer las consultas a bd
Lo que te comenta es que debes separar el codigo indicado que seccion va ser para la actualizacion y que para la consulta
Código HTML:
Ver original
  1. <?php
  2. if($_POST['boton']=="ACTUALIZAR")
  3.  
  4. $nombredos = $_POST['nombreact'];
  5. $descripccion = $_POST['descripccion'];
  6. $imagen = $_POST['imagen'];
  7. $estado = $_POST['estado'];
  8.  
  9. $actual=mysql_query("UPDATE .........'", $conexion);
  10.  
  11. else{
  12. $nombre = $_POST['nombre'];
  13. $resultados=mysql_query("SELECT * .............", $conexion);
  14. }

2. Dentro de una etiqueta form html no puedes inclui otra sin antes cerrar la anterior.

3. La forma es que esta manejando campos para la actualizacion no te servira de esa manera ya que por ejemplo si tenemos

Código HTML:
Ver original
  1. <tr>
  2. <td><input type=text name=nombre size=100 maxlength=110 value="nombre."></td>
  3. <td><input type=text name=descripcion size=120 maxlength=130 value="descripcion."></td>
  4. <td><input type=text name=imagen size=120 maxlength=130 value="imagen"></td>
  5. <td><input type=text name=estado size=120 maxlength=130 value="estado"></td>
  6. <td><input type=submit name=boton value=ACTUALIZAR></td>
  7. </tr>
  8. <tr>
  9. <td><input type=text name=nombre size=100 maxlength=110 value="nombre2."></td>
  10. <td><input type=text name=descripcion size=120 maxlength=130 value="descripcion2."></td>
  11. <td><input type=text name=imagen size=120 maxlength=130 value="imagen2"></td>
  12. <td><input type=text name=estado size=120 maxlength=130 value="estado2"></td>
  13. <td><input type=submit name=boton value=ACTUALIZAR></td>
  14. </tr>

Y oprimimos sobre alguno de los dos botones actualizar como vas a identificar que campos debe actualizar si el primero o el segundo??

Para ello puede manejar un arreglo algo de este estilo

Código PHP:
<tr>
<
td><input type=text name="nombre[]" size=100 maxlength=110 value="nombre2."></td>
<
td><input type=text name="descripcion[]" size=120 maxlength=130 value="descripcion2."></td>
<
td><input type=text name="imagen[]" size=120 maxlength=130 value="imagen2"></td>
<
td><input type=text name="estado[] size=120 maxlength=130 value="estado2"></td>
<td><input type=submit name="
boton[] value=ACTUALIZAR></td>
</
tr
De esa forma cada vez que se genere el ciclo cada campo va tener un identificador diferente!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #15 (permalink)  
Antiguo 29/11/2010, 11:32
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ayuda mi php scrit no edita la bd

Código PHP:
Ver original
  1. <?php
  2.  
  3. //Nos conectamos a la base de datos
  4. $bd_host = "localhost";
  5. $bd_usuario = "ph";
  6. $bd_password = "19855";
  7. $bd_base = "p_anime";
  8. $conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);
  9. mysql_select_db($bd_base, $conexion);
  10.  
  11.  
  12.  
  13. $resultados=mysql_query("SELECT * FROM animes", $conexion);
  14. if (isset($_POST["nombre"])){
  15. //Convertimos los datos del formulario a cadenas.
  16. $nombre = $_POST['nombre'];
  17. $nombredos = $_POST['nombreact'];
  18. $descripccion = $_POST['descripccion'];
  19. $imagen = $_POST['imagen'];
  20. $estado = $_POST['estado'];
  21. $actual=mysql_query("UPDATE animes SET nombre='".$nombre."',descripcion='".$descripcion."', imagen='".$imagen."',estado='".$estado."'
  22. WHERE nombre='".$nombredos."'", $conexion);
  23. mysql_query($actual) or die ("no se pudo actualizar");
  24. }
  25.  
  26.  
  27. //Mostramos el encabezado de los resultados dentro de un formulario que actualizar? datos
  28. echo"<form action=ejemplo.php method =post><table border=1 cellspacing=1 cellpadding=1>
  29.  
  30. <tr>
  31. <td><b>NOMBRE</b></td>
  32. <td><b>descripccion</b></td>
  33. <td><b>imagen</b></td>
  34. <td><b>estado</b></td>
  35. </tr>";
  36.  
  37. //Creamos el bucle para los resultados
  38. while($row=mysql_fetch_array($resultados)){
  39.  
  40. echo"
  41. <tr>
  42. <td><input type=text name=nombre size=100 maxlength=110 value=".$row['nombre']."></td>
  43. <td><input type=text name=descripcion size=120 maxlength=130 value=".$row['descripcion']."></td>
  44. <td><input type=text name=imagen size=120 maxlength=130 value=".$row['imagen']."></td>
  45. <td><input type=text name=estado size=120 maxlength=130 value=".$row['estado']."></td>
  46. <td><input type=submit name=boton value=ACTUALIZAR></td>
  47. </tr>";
  48.  
  49.  
  50.  
  51. }
  52.  
  53. echo"</table></form>";
  54.  
  55. //Cerramos la conexión con MySQL
  56. mysql_close($conexion);
  57. ?>

intenta con esto
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #16 (permalink)  
Antiguo 29/11/2010, 13:29
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

de esa forma me sale nose pudo actulizar por lo menos ya me sale nose pudo actualizar
malakian


jeje y Nano_ soy novato estoy empesando no entiendo el ejemplo que me das jeje disculpa que no sea tan inteligente
  #17 (permalink)  
Antiguo 29/11/2010, 13:44
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

Saludos

Que pena por no haberme explicado mejor

Lo que te indico es que el inconveniente que tienes es que los campos te van a quedar con el mismo name al momento de realizar el ciclo, por ejemplo si tomamos el tr que generas con el campo nombre y si el resultado de tu consulta te da 3 resultados en esa seccion quedara de esta manera por ejemplo

Código HTML:
Ver original
  1. <input type=text name="nombre" size=100 maxlength=110 value="nombre2.">
  2. <input type=text name="nombre" size=100 maxlength=110 value="nombre2.">
  3. <input type=text name="nombre" size=100 maxlength=110 value="nombre2.">

Si te das cuenta todos lo campos van a quedar con el mismo name, y de esa forma el programa quedara "perdido" por que no sabe a cual actualizar.

La idea que te indico es que debes manejar los name como un array


Código PHP:
Ver original
  1. while($row=mysql_fetch_array($resultados)){
  2.  echo"
  3. <tr>
  4. <td><input type='text' name='nombre[]' size='100' maxlength='110' value='".$row['nombre']."'></td>
  5. .... asi con los otros campos
  6. </tr>";
  7.  
  8. }

De esa forma cuando se genere "internamente" quedara de esta manera:


Código HTML:
Ver original
  1. <input type=text name="nombre[0]" size=100 maxlength=110 value="nombre2.">
  2. <input type=text name="nombre[1]" size=100 maxlength=110 value="nombre2.">
  3. <input type=text name="nombre[2]" size=100 maxlength=110 value="nombre2.">

y ya tendremos lo name con valores diferentes. Con esta forma si se puede manipular mejor los valores con un foreach o un ciclo for por ejemplo.

Ahora me queda una duda, tu quieres que en cada fila te salga un boton actualizar o solo un boton actualizar al final de que se genere toda la tabla??
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #18 (permalink)  
Antiguo 29/11/2010, 13:51
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

pues la verdad es qeu quiero que me salga asi como esta en cada tabla men pero este actulizar se me ha echo muy difisil por que ya tengo el insertar y todo pero el editar esta muy difisil y mas asi como lo quiero men

ya que no se qeu haser men si puedes esplicarlo con mi mismo ejemplo que te puse ponerlo dentro entenderia mejor
y podrias ejecutar como ba quedando de una ves en el ejemplo online que tengo men

gracias de antemano mi pana he entendido algo pero esta mas difisil de lo que pense men
  #19 (permalink)  
Antiguo 29/11/2010, 14:05
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: ayuda mi php scrit no edita la bd

Cita:
Iniciado por underworf Ver Mensaje
de esa forma me sale nose pudo actulizar por lo menos ya me sale nose pudo actualizar
malakian
A ver yo solo trate de organizarte la informacion el query deUPDATE ya lo tenias tupense que ya tenias variables inicializadasy toda la cosa a ver...
en tu tabla animes tienes una llave primaria supongo, pon un hidden donde haces tu ciclo while asi

Código PHP:
Ver original
  1. <inpuy type="hidden" name="id" value="como_se_llame_tu_llave_primaria"/>
ponlo en cualquier parte pero dentro del ciclo y del "echo"

despues modificas tu variable $actual que es la que tiene el query UPDATE asi:

Código PHP:
Ver original
  1. #
  2. $actual=mysql_query("UPDATE animes SET nombre='".$nombre."',descripcion='".$descripcion."', imagen='".$imagen."',estado='".$estado."'
  3. #
  4. WHERE como_se_llame_tu_llave_primaria='".$_POST["id"]."'", $conexion);
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #20 (permalink)  
Antiguo 29/11/2010, 14:10
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

Saludos

Revisa el siguiente código lo hice de rapidez asi qeu puede tener errores de sintaxys, pero la idea espero se entienda
Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <meta http-equiv="content-type" content="text/html; charset=utf8">
  4.         <title>UN EJEMPLO</title>
  5.     </head>
  6.     <body>
  7.         <?php
  8. //Nos conectamos a la base de datos
  9.         $bd_host = "localhost";
  10.         $bd_usuario = "mario";
  11.         $bd_password = "1985";
  12.         $bd_base = "anime";
  13.         $conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);
  14.         mysql_select_db($bd_base, $conexion);
  15.  
  16. //Indicamos sobre que boton viene el formulario
  17.         if ($POST['boton'] == "ACTUALIZAR") {
  18. //Convertimos los datos del formulario a cadenas.
  19.             $nombreact = $_POST['nombreact']; // nombre del valor se va actualizar
  20.             $nombreant = $_POST['nombreant']; // nombre anterior
  21.             $descripccion = $_POST['descripccion'];
  22.             $imagen = $_POST['imagen'];
  23.             $estado = $_POST['estado'];
  24. //NANO Manejo de errores por si se llega a ejecutar mal la consulta mysql_error
  25.             $actual = mysql_query("UPDATE anime SET
  26. nombre='$nombreact',
  27. descripccion='$descripccion',
  28. imagen='$imagen',
  29. estado='$estado'
  30. WHERE nombre='nombreant'", $conexion) or die("Error En la actualizacion" . mysql_error());
  31.         } elseif($POST['boton']== "ENVIAR") {
  32. //Si el boton es enviar realizamos la consulta y generamos el formulario
  33.             $nombre = $_POST['nombre'];
  34.             $resultados = mysql_query("SELECT * FROM animes WHERE nombre LIKE '%$nombre%'", $conexion) or die("Error En la consulta" . mysql_error());
  35.         ?>
  36.             <table border=1 cellspacing=1 cellpadding=1>
  37.                 <tr>
  38.                     <td><b>NOMBRE</b></td>
  39.                     <td><b>descripccion</b></td>
  40.                     <td><b>imagen</b></td>
  41.                     <td><b>estado</b></td>
  42.                 </tr>";
  43.             <?php
  44.             //Creamos el bucle para los resultados
  45.             while ($row = mysql_fetch_array($resultados)) {
  46. //Creamos un campos hidden que va ser oculto este va contener el valor real que es el que se va actualizar
  47.             ?>
  48.                 <form action="ejemplo.php" method ="post">
  49.                     <tr>
  50.                         <td><input type="hidden" name="nombreant"  size="20" maxlength="30" value="<?php echo $row[nombre]; ?>">
  51.                             <input type="text" name="nombreact"  size="20" maxlength=30 value="<?php echo $row[nombre]; ?>"></td>
  52.                         <td><input type="text" name="dire" size="20" maxlength=30 value="<?php echo $row[descripccion]; ?>"></td>
  53.                         <td><input type="text" name="tel" size="20" maxlength=30 value="<?php echo $row[imagen]; ?>"></td>
  54.                         <td><input type="text" name="email" size="20" maxlength=30 value="<?php echo $row[estado]; ?>"></td>
  55.                         <td><input type="submit" name="boton" value="ACTUALIZAR"></td>
  56.                     </tr>
  57.                 </form>
  58.             <?php
  59.             }
  60.             ?>
  61.         </table>
  62.         <?php
  63.         }
  64.         //Cerramos la conexión con MySQL
  65.         mysql_close($conexion);
  66.         ?>
  67.  
  68.  
  69.         <small>INGRESE SUS DATOS</small><br>
  70.         <form action="ejemplo.php" method ="post">
  71.             <input type="text" name="nombre" size="20" maxlength="30">
  72.             <input type="submit" name="boton" value="ENVIAR">
  73.         </form><br>
  74.  
  75.     </body>
  76. </html>
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #21 (permalink)  
Antiguo 29/11/2010, 14:18
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

hola mi pana sigue lo mismo me dise no se pudo actulizar

asi esta el codigo ahora men


<?php

//Nos conectamos a la base de datos

$bd_host = "localhost";

$bd_usuario = "phant";

$bd_password = "1985";

$bd_base = "ha";

$conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);

mysql_select_db($bd_base, $conexion);

$resultados=mysql_query("SELECT * FROM animes", $conexion);

if (isset($_POST["nombre"])){

//Convertimos los datos del formulario a cadenas.

$nombre = $_POST['nombre'];

$nombredos = $_POST['nombreact'];

$descripccion = $_POST['descripccion'];

$imagen = $_POST['imagen'];

$estado = $_POST['estado'];

$actual=mysql_query("UPDATE animes SET nombre='".$nombre."',descripcion='".$descripcion." ', imagen='".$imagen."',estado='".$estado."'
WHERE id='".$id."'", $conexion);

mysql_query($actual) or die ("no se pudo actualizar");

}

//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='id[]' size='100' maxlength='110' value='".$row['id']."'></td>
<td><input type='text' name='nombre[]' size='100' maxlength='110' value='".$row['nombre']."'></td>
<td><input type='text' name='descripccion[]' size='100' maxlength='110' value='".$row['descripccion']."'></td>
<td><input type='text' name='imagen[]' size='100' maxlength='110' value='".$row['imagen']."'></td>
<td><input type='text' name='estado[]' size='100' maxlength='110' 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);
?>

mira el ejemplo para que veas men

no quiere nada el ejemplo o es que no te entendi revisa aver men
  #22 (permalink)  
Antiguo 29/11/2010, 14:21
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

Saludos

Lo que te indique para manejarlo como un arreglo serviria en el caso que tuvieras un boton actualizar al final de la tabla, pero como vas a tener un boton por cada fila, entonces prueba el ejemplo que te puse.

EDITADO Modifica esta linea en el UPDATE se me paso

Código PHP:
Ver original
  1. //ANTES
  2. WHERE nombre='nombreant'
  3. //CORREGIDO
  4. WHERE nombre='$nombreant'
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #23 (permalink)  
Antiguo 29/11/2010, 14:27
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

men ya lo puse como arriba y asi nisiquiera carga hehee revisa el ejemplo si queres men
  #24 (permalink)  
Antiguo 29/11/2010, 14:32
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

Si tienes razón!

Como indique podría tener errores de sintaxys, El inconveniente esta en las variable POST del if puse $POST y es $_POST

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <meta http-equiv="content-type" content="text/html; charset=utf8">
  4.         <title>UN EJEMPLO</title>
  5.     </head>
  6.     <body>
  7.         <?php
  8. //Nos conectamos a la base de datos
  9.         $bd_host = "localhost";
  10.         $bd_usuario = "mario";
  11.         $bd_password = "1985";
  12.         $bd_base = "anime";
  13.         $conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);
  14.         mysql_select_db($bd_base, $conexion);
  15.  
  16.  
  17.         if ($_POST['boton'] == "ACTUALIZAR") {
  18. //Convertimos los datos del formulario a cadenas.
  19.             $nombreact = $_POST['nombreact'];
  20.             $nombreant = $_POST['nombreant'];
  21.             $descripccion = $_POST['descripccion'];
  22.             $imagen = $_POST['imagen'];
  23.             $estado = $_POST['estado'];
  24. //NANO Manejo de errores por si se llega a ejecutar mal la consulta mysql_error
  25.             $actual = mysql_query("UPDATE anime SET
  26. nombre='$nombreact',
  27. descripccion='$descripccion',
  28. imagen='$imagen',
  29. estado='$estado'
  30. WHERE nombre='$nombreant'", $conexion) or die("Error En la actualizacion" . mysql_error());
  31.         } elseif($_POST['boton']== "ENVIAR") {
  32.             $nombre = $_POST['nombre'];
  33.             $resultados = mysql_query("SELECT * FROM animes WHERE nombre LIKE '%$nombre%'", $conexion) or die("Error En la consulta" . mysql_error());
  34.         ?>
  35.             <table border=1 cellspacing=1 cellpadding=1>
  36.                 <tr>
  37.                     <td><b>NOMBRE</b></td>
  38.                     <td><b>descripccion</b></td>
  39.                     <td><b>imagen</b></td>
  40.                     <td><b>estado</b></td>
  41.                 </tr>";
  42.             <?php
  43.             //Creamos el bucle para los resultados
  44.             while ($row = mysql_fetch_array($resultados)) {
  45.             ?>
  46.                 <form action="ejemplo.php" method ="post">
  47.                     <tr>
  48.                         <td><input type="hidden" name="nombreant"  size="20" maxlength="30" value="<?php echo $row['nombre']; ?>">
  49.                             <input type="text" name="nombreact"  size="20" maxlength=30 value="<?php echo $row['nombre']; ?>"></td>
  50.                         <td><input type="text" name="descripccion" size="20" maxlength=30 value="<?php echo $row['descripccion']; ?>"></td>
  51.                         <td><input type="text" name="imagen" size="20" maxlength=30 value="<?php echo $row['imagen']; ?>"></td>
  52.                         <td><input type="text" name="estado" size="20" maxlength=30 value="<?php echo $row['estado']; ?>"></td>
  53.                         <td><input type="submit" name="boton" value="ACTUALIZAR"></td>
  54.                     </tr>
  55.                 </form>
  56.             <?php
  57.             }
  58.             ?>
  59.         </table>
  60.         <?php
  61.         }
  62.         //Cerramos la conexión con MySQL
  63.         mysql_close($conexion);
  64.         ?>
  65.  
  66.  
  67.         <small>INGRESE SUS DATOS</small><br>
  68.         <form action="ejemplo.php" method ="post">
  69.             <input type="text" name="nombre" size="20" maxlength="30">
  70.             <input type="submit" name="boton" value="ENVIAR">
  71.         </form><br>
  72.  
  73.     </body>
  74. </html>

EDITADO Lo que tenias realmente tiene muchos errores. Las variables post que recojes no son las mismas a las del formulario. FAvor actualizarlo nuevamente ya quedo corregido y revisa bine el codigo de esa forma entenderas la logica de como se hizo no es complicado
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Última edición por Nano_; 29/11/2010 a las 14:42
  #25 (permalink)  
Antiguo 29/11/2010, 14:53
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

hola mi pana esta super pero el probla es que solo edita el nombre revisa el ejemplo mi pana y lo demas se queda em blanco nbo importa lo que escriba hehe

muchas gracias hasido de buna ayuda mi amigo jeje

ahora solo farta que edite todo no solo el nombre men
  #26 (permalink)  
Antiguo 29/11/2010, 14:55
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

Saludos

Si ese pense actualiza nuevamente el codigo que puse ya que eso lo encontre despues!. Lee lo que habia puesto en EDITADO

EDITADO Lo que tenias realmente tiene muchos errores. Las variables post que recojes no son las mismas a las del formulario. FAvor actualizarlo nuevamente ya quedo corregido y revisa bine el codigo de esa forma entenderas la logica de como se hizo no es complicado
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #27 (permalink)  
Antiguo 29/11/2010, 15:02
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

Super men esta resuerto eres el master mi pana

como te puedo dar Karma men ?¿?

dime man muchas gracias suuuuuuuperrrrr

si me quires agregar mi pana este es mi msn [email protected]
  #28 (permalink)  
Antiguo 29/11/2010, 15:06
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ayuda mi php scrit no edita la bd

jejeje no te preocupes por el karma!.. Lo importante es que aprendas y que te halla servido lo que te indique, fíjate en el código básicamente fue lo que te comentaban los compañeros foreros Death_Empire y malakian con unos ajusticos!...

y bienvenido al mundo PHP

Hasta Pronto!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Última edición por Nano_; 29/11/2010 a las 15:11
  #29 (permalink)  
Antiguo 29/11/2010, 15:11
 
Fecha de Ingreso: diciembre-2009
Mensajes: 108
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: ayuda mi php scrit no edita la bd

si mi amigo muchas gracias por todo men

Etiquetas: bd
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 15:08.