Foros del Web » Programando para Internet » PHP »

Ayuda con Formulario Actulizar

Estas en el tema de Ayuda con Formulario Actulizar en el foro de PHP en Foros del Web. Hola estoy haciendo una aplicacion para actualizar una BD el problema es que solo logro q me llegue a mostrar lo que deceo actualizar pero ...
  #1 (permalink)  
Antiguo 24/08/2009, 14:53
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 15 años, 2 meses
Puntos: 1
Ayuda con Formulario Actulizar

Hola estoy haciendo una aplicacion para actualizar una BD el problema es que solo logro q me llegue a mostrar lo que deceo actualizar pero al momento de modificar y dar en al boton sutmit me bota un error:

Algo está equivocado en su sintax cerca 'taza' WHERE id='3'' en la linea 1

no se si sera este el error pero aqui el codigo, espero me puedan ayudar.

Código PHP:
<?php
extract
($_REQUEST);
include(
"BD_conf.php");
if(isset(
$submit)){
    
$status "";
    if(
$titulo==""){
        
$status "Porfavor amix ingresa un titulo";
    }else{
        
$sql "UPDATE contenido set titulo='$titulo', contenido_html='$contenido_html, p_clave='$p_clave' WHERE id='$id'";
        
mysql_query($sql) or die(mysql_error());
        
$status "SUCCESSFULLY update $id";
    }
}else{
    
$sql "SELECT * FROM contenido WHERE id='$id'";
    
$resultset mysql_query($sql) or die(mysql_error());
    
$row mysql_fetch_assoc($resultset);
    
extract($row);
}
?>
<?php  
include("header.php"?>
<h1 align="center">Anime Update Screen</h1>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='get'>
<input type="hidden" name="id" value="<?php echo $id ?>"/>
<table>
<?php if(isset($status)) {?>
    <tr><td colspan="2"><b><?php echo $status?></b><br /><br /></td></tr>
    <?php }?>
    <tr><td>Titulo</td><td><input type="text" name="titulo" value="<?php echo $titulo ?>" /></td></tr>
    <tr><td>Contenido</td><td><textarea name="contenido_html" cols="60" rows="15" wrap="VIRTUAL" value="<?php echo $contenido_html?>"><?php echo $contenido_html?></textarea></td></tr>
    <tr><td>Palabra Clave</td><td><input type="text" name="p_clave" value="<?php echo $p_clave ?>" /></td></tr>
    <tr><td>&nbsp;</td><td><input type="submit" name="submit" value="Submit" /></td></tr>
    </table>
    </form>
<?php include("footer.php")?>

Última edición por NaikiOwned; 24/08/2009 a las 15:30 Razón: update
  #2 (permalink)  
Antiguo 24/08/2009, 15:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Ayuda con Formulario Actulizar

Te sugiero que las variables las declares con var_dump() para ver que traen, esto hazlo exactamente despues de que haces el extract(), pero mientras tanto verifica si esto te resuelve. Te sugiero no concatener cuando no hay necesidad
Código PHP:
Ver original
  1. $sql = "UPDATE contenido set titulo='$titulo', contenido_html='$contenido_html, p_clave='$p_clave' WHERE id='$id'";
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/08/2009, 15:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda con Formulario Actulizar

Algo está equivocado en su sintax cerca 'taza' WHERE id='3'' en la linea 1

Gracias por la rápida respuesta, estoy siguiendo los pasos de un manual ya que soy nuevo en esto 8( pero me defiendo mas o menos a lo que quiero llegar es que en la parte (obviamente no solo en esta) de:

Código PHP:
<input type="text" name="titulo" value="<?php echo $titulo ?>" />
en el libro estaba asi:

Código PHP:
<input type="text" name="titulo" value="<?=$titulo ?>" />
pero no me mostraba los verdaderos valores de la tabla sino salia literalmente, si cabe el termino, así <?=$titulo ?> en el textbox por eso lo cambie a la forma que tiene ahora, con lo que logre q muestre bien pero de ahí el problema al ejecutar el submit. curiosamente el error que me bota ahora, tiene q con esos values que modifique.Nose si esto tendra algo q ver.

pd: disculpa mi ignoracia de noob pero manejo muy bien la funcion var_dump(), pero de hecho que lo reviso.
  #4 (permalink)  
Antiguo 24/08/2009, 15:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Ayuda con Formulario Actulizar

No te preocupes, todo los que estamos en este foro que estan usando PHP, tienen que haber pasado por un proceso de que siguieron algun tutorial y no les salia como le indicaban (te lo digo por experiencia), asi que no te preocupes por eso.

Ahora el problema es que esta indicando que hay un problema cerca de 'taza' WHERE id='3''. ¿Podrias escribir como tienes la estructura de la base de datos?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 24/08/2009, 15:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda con Formulario Actulizar

BD: la palabra taza se refiere al campo p_clave

CREATE TABLE `contenido` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`titulo` varchar(100) NOT NULL,
`contenido_html` text NOT NULL,
`p_clave` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

conxion:
Código PHP:
<?php
//conexion a la base de datos
$server "localhost";
$user "root";
$clave ""//*******
$nombreBD "test";

$conexion = @mysql_connect($server,$user,$clave) or die("Could not make the connection to the server. <b>mysql_connect</b>"); 
@
mysql_select_db($nombreBD,$conexion) or die("Unable to select BD. <b>mysql_select_db</b>");

?>
Gracias por tu tiempo.
  #6 (permalink)  
Antiguo 24/08/2009, 16:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Ayuda con Formulario Actulizar

Primero en la estructura de la base de datos no necesitas declarar que id es unique ya que primary key hace eso.

Segundo me fije mas detallado en el query y es que te falta una comilla
Código mysql:
Ver original
  1. contenido_html='$contenido_html' //<-------------- te falta la ultima comilla de esta parte
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 24/08/2009, 16:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda con Formulario Actulizar

Gracias ya se resolvió todo mi karma para ti xD.

Ahora una ultimita como para cerrar:
estaba probando el paginador de Paginator versión 1.6 y todo xevere pagina de las mil maravillas pero arriba de todo de me sale este error.

Deprecated: Function eregi_replace() is deprecated in C:\Program Files (x86)\EasyPHP3.1\www\paginator.inc.php on line 202

dicha linea es esta:
Código PHP:
    $_pagi_sqlConta eregi_replace("select[[:space:]](.*)[[:space:]]from""SELECT COUNT(*) FROM"$_pagi_sql); 
y mi script donde esta incluido el php q contiene las lineas de arriba:

Código PHP:
<?php 
include("BD_conf.php");

extract($_REQUEST);
if( isset(
$action) && $action="delete" ){
    
$sql "DELETE FROM contenido WHERE id='$id'";
    
mysql_query($sql) or die(mysql_error());
}
$_pagi_sql "SELECT * FROM contenido ORDER by id";
$_pagi_cuantos 4;
include(
"paginator.inc.php");
?>
<?php 
include("header.php"); ?>
<h1 align="center">Lista de Animes</h1>
<table cellpadding="5" align="center">
<th>ID</th><th>Titulo</th><th>P. Clave</th><th>Accion</th>
<?php
while ($row=mysql_fetch_assoc($_pagi_result)){
    print 
"<tr><td>".$row["id"]."</td>".'<td><a href="anime_edit.php?id='.$row["id"].'">'.$row["titulo"].'</a></td>'."<td>".$row["p_clave"]."</td>".'<td><a href="panel2.php?action=delete&id='.$row["id"]."\">Delete</a></td></tr>\n";    
}
    echo
"<p>".$_pagi_navegacion."</p>"
?>
</table>
<?php include("footer.php"); ?>
  #8 (permalink)  
Antiguo 24/08/2009, 16:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Ayuda con Formulario Actulizar

Debes cambiar eregi_replace por preg_replace pero vas a tener que añadirle un delimitador me refiero a algo así


Código PHP:
Ver original
  1. preg_replace("/select[[:space:]](.*)[[:space:]]from/i", "SELECT COUNT(*) FROM", $_pagi_sql);

El mismo aviso te lo indico, que la funcion eregi_replace esta obsoleta, para ello usa las que dicen preg_..........
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 24/08/2009, 18:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 110
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayuda con Formulario Actulizar

gracia sempai
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 22:11.