Foros del Web » Programando para Internet » PHP »

sos con este codigo por favor

Estas en el tema de sos con este codigo por favor en el foro de PHP en Foros del Web. tengo un administrador de noticias tengo todo perfecto base de datos y demas solo me falta poder ver las noticias y me arroja un error ...
  #1 (permalink)  
Antiguo 20/11/2008, 17:25
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
sos con este codigo por favor

tengo un administrador de noticias tengo todo perfecto base de datos y demas solo me falta poder ver las noticias y me arroja un error de codigo de verdad lo he visto tantas veces que quizas ya no soy capaz de ver el error por favor si algun colega desea darme una sugerencia de que estoy haciendo mal se los agradeceria

este es el codigo

<?php
//abrir conexión con la base de datos
include ("db_connect.php");
//Seleccionar todos los mensajes de la base de datos
//base de datos
$sql = "SELECT post_id, title, DATE_FORMAT (postdate, '%e %b %Y at %H:%i') AS dateattime FROM posts ORDER BY postdate DESC";
$result = mysql_query($sql);
while ($myposts = mysql_fetch_array($result));

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Noticias</title>
</head>
<body>
<h1>Todas las Noticias</h1>
<?php
if (isset($message)) {echo "<p class='message'>" .$message."</p>";}

if($myposts) {
echo "<ol>\n";
do {
$post_id = $myposts["post_id"];
$title = $myposts["title"];
$dateattime = $myposts["dateattime"];
echo "<li value = '$post_id'>";
echo "<a href='addpost.php?post_id=$post_id'>$title</a> posted $dateattime>";
echo "</li>\n";
}while ($myposts = mysql_fetch_array($result));
echo "</ol>";
}else{
echo "<p>No se ha colocado nuevas noticias en la base de datos.</p>";
}
?>
</body>
</html>

Última edición por abreujaimes; 20/11/2008 a las 17:27 Razón: me da error en la linea 8 del codigo con el mysql_fetch_array y no me aroja ningun resultado de la base de datos
  #2 (permalink)  
Antiguo 20/11/2008, 18:41
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: sos con este codigo por favor

Cual es el error que tienes?
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 21/11/2008, 04:32
Avatar de Deschamps  
Fecha de Ingreso: octubre-2008
Mensajes: 257
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: sos con este codigo por favor

Cita:
$result = mysql_query($sql);
Añádele un control de error a esa instrucción para asegurarte de que la consulta es correcta (que el SQL está bien formado), y en caso contrario, arregla la consulta (eso ya no sería PHP, sino un tema para otro foro como el de bases de datos).

Por otro lado, aunque sea offtopic: El primer 'while' te sobra. Debería ser una simple asignación, porque en caso contrario te estás recorriendo todas las filas de la consulta para terminar el bucle cuando $mypost recibe el valor FALSE (desde mysql_fetch_array). Si no cambias eso, nunca se evaluará como cierto el 'if' que tienes más adelante.

Un saludo.

Última edición por Deschamps; 21/11/2008 a las 04:43
  #4 (permalink)  
Antiguo 22/11/2008, 14:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sos con este codigo por favor

el control lo tengo si lo puedes ver me da error directamente aqui while ($myposts = mysql_fetch_array($result)); y he consultado de todo he colocado de miles de formas con result lo he colocado con row etc deseo extraer la informacion de la bes de datos en un administrado de noticias que hice, tambien lo he colocado asi $myposts = mysql_fetch_array($result); y me da error igual
  #5 (permalink)  
Antiguo 22/11/2008, 15:22
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: sos con este codigo por favor

coloca el control de errores de MySQL

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

Un saludo
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 11:00.