Foros del Web » Programando para Internet » PHP »

Ampliarlas funciones de mi gestor de noticias

Estas en el tema de Ampliarlas funciones de mi gestor de noticias en el foro de PHP en Foros del Web. Hace unas semanas empece el desarrollo de un gestor de contenidos. Todo me va funcinando de momento excepto una opcion ke tengo para actualizar la ...
  #1 (permalink)  
Antiguo 04/12/2003, 16:30
 
Fecha de Ingreso: julio-2002
Mensajes: 40
Antigüedad: 15 años, 5 meses
Puntos: 0
Ampliarlas funciones de mi gestor de noticias

Hace unas semanas empece el desarrollo de un gestor de contenidos. Todo me va funcinando de momento excepto una opcion ke tengo para actualizar la informacion que hay en la base de datos. Aki pongo el codigo:

<html>
<head>
<title>Editar noticias</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body>
<?php include("menu.php"); ?>
<?php
include("../db/conex.php");
$link=Conectarse();
$id=$_GET['id_new'];
$result=mysql_query("SELECT * FROM new WHERE id_new = $id;",$link);
?>
<?php

while ($row = mysql_fetch_array($result)) {
printf("<table width=500 border=0 cellspacing=0 cellpadding=0 align=center>
<form action=upgrade.php method=get>
<tr>
<td width=67>Title:</td>
<td width=433><input type=text name=atitle value=%s></td>
</tr>
<tr>
<td width=67>URL img:</td>
<td width=433><input type=text name=aimgpath value=%s></td>
</tr>
<tr>
<td width=67>Fecha:</td>
<td width=433><input type=text name=afecha value=%s></td>
</tr>
<tr>
<td>Short text : </td>
<td><textarea name=ashorttxt cols=100 rows=5>%s</textarea></td>
</tr>
<tr>
<td>Long text : </td>
<td><textarea name=alongtxt cols=100 rows=10>%s</textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type=submit name=accion value=upgrade>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</form>
</table>",$row["title"], $row["imgpath"], $row["fecha"], $row["shorttxt"], $row["longtxt"]);
}
mysql_free_result($result);
mysql_close($link);
?>
</body>
</html>

con este primero extraigo los datos para poder modificarlos.

<?php
include("../db/conex.php");
$link=Conectarse();
$id=$_GET['id_new'];
$atitle=$_GET['title'];
$aimgpath=$_GET['imgpath'];
$afecha=$_GET['fecha'];
$ashorttxt=$_GET['shorttxt'];
$alongtxt=$_GET['longtxt'];
mysql_query("update from new set
title = '$atitle',
imgpath = '$aimgpath',
fecha = '$afecha',
shorttxt = '$ashorttxt',
longtxt = '$alongtxt'
where id_new = '$id'",$link);

header("Location: edit.php");
?>

Con el segundo los recojo y los inserto de nuevo en la base de datos.

Tal y como esta no me funciona alguien ve el fallo ke yo no veo?
  #2 (permalink)  
Antiguo 04/12/2003, 17:28
 
Fecha de Ingreso: noviembre-2003
Ubicación: (LF).Santiago - Chile
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
para probar los datos que estás insertando en la BD deberias en tu 2º Script hacer un Echo de todas las variables que estás recogiendo desde el formulario, asi puedes ver si estas recigiendo o no los valores...salu2

otra cosa es que en el Form tienes como prefijo de cada campo la letra 'a' y en tu Script los estas tomando sin este prefijo por lo que son variables distintas que no tienen ningún valor ni están declaradas entre tus variables pasadas por GET

Código PHP:
<input type=text name=atitle value=%s>
<
input type=text name=aimgpath value=%s>

$atitle=$_GET['[B]title[/B] '];
$aimgpath=$_GET['[B]imgpath[/B] ']; 
  #3 (permalink)  
Antiguo 05/12/2003, 03:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Bueno, decir "no me funciona" no es suficiente... mientras más datos nos des del problema... más rápido te podemos ayudar.

Por favor, utiliza las etiquetas php en este foro para que el código salga coloreado y se nos haga más fácil.

Bueno, como te decía.. no basta con decir "no funciona"...

¿Te sale algún mensaje de error o simplemente no actualiza los datos?... Si te sale un mensaje, postealo acá indicando cuáles son las líneas de error.

Puede que a estas alturas ya hayas solucionado tu problema.... pero no está de más lo que te digo para que en futuros posts encuentres ayuda más rápido y mejor.

Saludos
  #4 (permalink)  
Antiguo 05/12/2003, 03:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Una buena forma de identificar errores es almacenar en variables las cadenas que se pasan como parámetros de funciones. O sea hacer esto:
Código PHP:
$sql="update from new set title = '$atitle', imgpath = '$aimgpath', fecha = '$afecha', shorttxt = '$ashorttxt', longtxt = '$alongtxt' where id_new = '$id'";
$result=mysql_query($sql$link); 
De esta forma es más fácil saber si la sintaxis SQL está correcta. Basta con hacer:
Código PHP:
echo $sql
Otra cosa: También es bueno que fuerces a mysql a mostrar los errores. Así por ejemplo:
Código PHP:
$result=mysql_query($sql$link) or die ("Error al actualizar ".mysql_error()); 
Ahora es más fácil identificar errores.

Saludos
  #5 (permalink)  
Antiguo 05/12/2003, 17:43
 
Fecha de Ingreso: julio-2002
Mensajes: 40
Antigüedad: 15 años, 5 meses
Puntos: 0
Pos el valor de las variables si ke me lo pasa del 1º al 2º script, pero no se me inserta en la base de datos la consulta SQL que hago es la siguiente:
mysql_query("update new set title= $title, imgpath= $imgpath, fecha = $fecha, shorttxt = $shorttxt, longtxt = $longtxt where id_new = $id",link);
Recojiendo las variables de la siguiente forma:
$id=$_get['id_new']
etc.
etc.

Si le dejo el:
header("Location: edit.php");
Me saca 2 errores por pantalla que ahora no puedo postear, pero son en la linea 16 y 53 del 1er script. Y si se lo kito no me da los errores pero tampoco me actualiza.
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 02:29.