Foros del Web » Programando para Internet » PHP »

Problema con Script Ultimos Post del foro

Estas en el tema de Problema con Script Ultimos Post del foro en el foro de PHP en Foros del Web. Wenas company, tengo un problemon con un script para los ultimos post del foro, El problema es que cuando lo coloco perfectamente en la web ...
  #1 (permalink)  
Antiguo 16/12/2004, 12:04
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
Problema con Script Ultimos Post del foro

Wenas company, tengo un problemon con un script para los ultimos post del foro,

El problema es que cuando lo coloco perfectamente en la web y funciona bien, los demas contenidos de la web que precisan de peticion a la Mysql dejan de funcionar ( Noticias, Afiliados, ect...)

Aqui os dejo el script:

Código:
<? 

$directorio = "foro"; //Carpeta donde esta situado el foro 

$mostrar = "6"; //Número de mensajes a mostrar Puede Cambiarlo 

$caracteres = "25"; //Caracteres que se mostrarán de cada línea. 



//Lo Siguiente no Lo debes tocar 



include("$directorio/config.php"); 

echo " 

<script type=text/javascript> 

function sobre(texto) { subnav.innerHTML = texto; } 

function fuera(texto) { subnav.innerHTML = \"<a href=$directorio/index.php>&nbsp;&nbsp;&nbsp;Entrar al Foro</a>\" } 

</script> 



"; 



$conexion = mysql_connect($dbhost, $dbuser, $dbpasswd); 

mysql_select_db($dbname, $conexion); 

$consulta = "select * from ".$table_prefix."posts order by post_time desc"; 

$resultado = mysql_query($consulta); 

$i = 0; 

while ($rows = mysql_fetch_array($resultado)) { 

        if ($i <= $mostrar) { 

                $consulta1 = "select * from ".$table_prefix."forums where forum_id='$rows[forum_id]'"; 

                $resultado1 = mysql_query($consulta1); 

                $datosf = mysql_fetch_array($resultado1); 

                $consulta2 = "select * from ".$table_prefix."users where user_id='$rows[poster_id]'"; 

                $resultado2 = mysql_query($consulta2); 

                $datosu = mysql_fetch_array($resultado2); 

                $consulta3 = "select * from ".$table_prefix."topics where topic_id='$rows[topic_id]'"; 

                $resultado3 = mysql_query($consulta3); 

                $datost = mysql_fetch_array($resultado3); 



                if (strlen($datost[topic_title]) > $caracteres) { 

                        $datost[topic_title] = substr($datost[topic_title], 0, 40)."..."; 

                } 



                echo "›<b>›</b> <a href=\"$directorio/viewtopic.php?t=$rows[topic_id]\" target=\"_blank\" onmouseover=\"sobre('&nbsp;&nbsp;&nbsp;› en <b>$datosf[forum_name]</b> por <i>$datosu[username]</i> </font>')\" onmouseout=\"fuera()\">$datost[topic_title]</a> <br>"; 

                $i++; 

        } 

} 



echo '<br> <table width=100% border=0 cellpadding=0 cellspacing=0> <tr> <td id=subnav name=subnav> <a href="$directorio/index.php" target="_blank">&nbsp;&nbsp;&nbsp;Entrar al Foro</a> </td> </tr> </table>'; 



mysql_free_result($resultado); 

mysql_close($conexion); 

?>
Este es el error q me da al insertarlo en el principal.php de la web ( aunque tb lo e probado en el index.php y tb me da el mismo error)

Código:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web/public_html/sec/principal.php on line 137
Alguna alma caritativa que me pueda ayudar???
  #2 (permalink)  
Antiguo 16/12/2004, 12:25
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
donde tienes

[php]
$resultado = mysql_query($consulta);
[php]

reemplaza por:
[php]
$resultado = mysql_query($consulta) or die(mysql_error());
[php]

eso te mostrará el último error, en base a ese error tomas acciones para corregirlo

un saludo
  #3 (permalink)  
Antiguo 17/12/2004, 02:13
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
gracias por tu ayuda, ya lo solucione ^_^.

Ahora el problema q tengo es otro derivado de otra parte de otro script, es para calcular el total de users del foro ( de mientras no tenga un sistema de registro conjunto, salgo del paso).

El codigo es el siguiente:

Código:
<? 

include("$directorio/config.php"); 

$link = mysql_connect ("$dbhost","$dbuser","$dbpass");			
$sql="SELECT * FROM phpbb_users"; // Pon el nombre de la tabla 
$result=mysql_query($sql); 
$num=mysql_num_rows($result); 

echo "Total de usuarios registrados en el foro: <b>".$num; 
?></b><br>
 <? $link = mysql_connect("$dbhost","$dbuser","$dbpass");
    $query = "SELECT * from phpbb_users order by user_id DESC limit 1";
    $result =  mysql_db_query (netemule_phpbb1, $query, $link);
     while ($row = mysql_fetch_array ($result)) {
	 $id = "$row[user_id]";
	 $user = "$row[username]"; ?>
		   El &uacute;ltimo usuario registrado es </font><b> <a href="http://www.netemule.com/foro/profile.php?mode=viewprofile&u=<? print"$id"; ?>"><? print"$user"; ?></a></b>   
<? }
El problema viene en la 1º parte del script, me da error de que no conecta bien en la bd o algo asi, la 2º parte del script si funciona, me sale el ultimo registrado del foro correctamente en la web.

Alguien me puede ayudar? Toi bastante verde y e ido aprendiendo trasteando pero esto ya me puede
  #4 (permalink)  
Antiguo 17/12/2004, 02:44
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Si es el mismo script, cuando acabes la primera parte no hace falta que cierres la bbdd y asi podras,luego, hacer otra peticion.
  #5 (permalink)  
Antiguo 17/12/2004, 07:44
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
Shute, no es del mismo script de los post del foro, es un addon para saber los registrados totales del foro y el ultimo registrado ( nombre). El caso es que lo del ultimo registrado funciona correctamente, es el 1º paso de saber el total de registrados, lo q da error.
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 19:47.