|
Foros
Agrupar manuales en un cid
|
Autor
|
Fecha: 08 de Noviembre del 2007 a las 15:32:12
Descripción: Ninguna
|
Sexo: Masculino
Mensajes: 344
|
Hola, ya se que no me he expresado bien, pero lo que me gustaría hacer, es, que en los manuales, cuando vieses 1, mostrase 5 aleatorios pero con la misma cid(categoría), en la que estás.
Lo he probado haciendo esto:
Código 
$query = mysql_query("SELECT pid, title from ".$prefix."_pages where 1=1 AND cid='$cid' ORDER BY RAND() LIMIT 5");
echo "<div align='left'><span style='text-decoration: underline;'>Más manuales interesantes:</span></div>";
while(list($pid2, $title5) = mysql_fetch_row($query)){
$transfertitle = str_replace (" ", "-", $title5);
echo "<div align='left'><b>»</big><a href='/manual-$pid2-$transfertitle.html'>$title5</a></div>";
}
Pero no me ha dado resultado, ya que la $cid no la puede cojer, no se porqué(el código del módulo no se si darlo poque está muy enmarañado).
Creo que el problema está, en que la $cid no está definada, bueno, lo está, pero en otra function, y no soy capaz de hacer que la consulta coja esa function.
Saludos.
|
|
|
|
Autor
|
Fecha: 15 de Noviembre del 2007 a las 13:45:33
Descripción: Ninguna
|
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1269
|
Prueba el siguiente código:
Código PHP 
<?php
$cid = intval($_GET['cid']);
$query = mysql_query("SELECT pid, title FROM ".$prefix."_pages WHERE cid='$cid' ORDER BY RAND() LIMIT 0, 5");
?>
Obviamente solo se sustituye a la variable $query, y aparte se antepone la variable $cid.
Saludos
|
|
|
|
Autor
|
Fecha: 16 de Noviembre del 2007 a las 12:33:27
Descripción: Ninguna
|
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1269
|
Bueno, voy a ser un poco duro, pero asi es esto...
Me estás dando un código, sin darme ninguna información, ni me dices de que aplicación es y yo no soy adivino. Y asi esperas que yo pueda darte una solución... no, no, no. Ni siquiera se si será una modificación tuya, o que, pero bueno.
Voy a asumir que estas usando el módulo Content para Php-Nuke, ya que el código proporcionado usa la tabla nuke_pages, o algo asi. También voy a suponer que quieres que aparezca una lista de enlaces a otros manuales de la misma categoria, y que estará ubicada en la función showpage(). Realmente no me importa como se hará, porque supongo que tu ya lo hiciste. Así que solo me enfocaré en obtener esos enlaces.
Código PHP 
<?php
$query = $db->sql_query("SELECT pid, title FROM ".$prefix."_pages WHERE cid='".$mypage['cid']."' ORDER BY RAND() LIMIT 0, 5");
?>
Y como nota, en el código del mensaje anterior estaba asumiento que habías pasado la variable $cid, por el método GET, pero como no fue asi... no funciono. Y como saber si funcionaría o no, sino me diste ningún código más que ese...
Saludos
|
|
|
|
Autor
|
Fecha: 16 de Noviembre del 2007 a las 20:41:44
Descripción: Ninguna
|
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1269
|
Haber, primero me dices que el script te funciono, y después me preguntas, que hacer para que funcione con el array $mypage... mmm.
Quiero pensar que si te funciono, y que quieres saber, que fue lo que hice. Entonces te diré:
El array $mypage contiene todos los datos del documento visto, incluída la categoria a la cual pertenece.
A grandes rasgos, solo tome la id de la categoria, contenida en $mypage['cid'], y la use en la sentencia SQL, para obtener datos de otros documentos pertenecientes a la misma categoria que el visto.
También hice otros cambios menores, aunque apropiados. Por ejemplo, no use la función mysql_query directamente, sino, por medio de la clase; lo cual sería lo más apropiado, por muchas razones, ventajas, etc.
Saludos
|
|
|
|
Autor
|
Fecha: 17 de Noviembre del 2007 a las 05:42:03
Descripción: Ninguna
|
Sexo: Masculino
Mensajes: 344
|
Ajá, como podría hacer lo mismo en las descargas?Estoy intentandolo hacer, y lo único que consigo es, que salga $title en vez de la descarga aleatoria.
Este es el código que he puesto:
Código 
<?php
$sql = "SELECT cid, title, parentid FROM ".$prefix."_downloads_categories WHERE cid='$parentid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$query = $db->sql_query("SELECT lid, cid, title from ".$prefix."_downloads_downloads cid='".$row['cid']."' ORDER BY RAND() LIMIT 5");
?>
El módulo es el Downloads simple del nuke.
PD iento no haberte dicho nada sobre el módulo Content, generalmente si no digo nada sobre el módulo es, que es el que viene por defecto, lo siento de todas formas.
Saludos.
Este mensaje fue editado por última vez el 17 de Noviembre del 2007 a las 06:41:25 por Dreagnout.
|
|
|
|
Autor
|
Fecha: 08 de Diciembre del 2007 a las 22:56:12
Descripción: Ninguna
|
Sexo: Masculino
Edad: 21 años
Ubicación: Poza Rica, Veracruz
País:
Mensajes: 1269
|
Otro módulo, otro código, otra respuesta y por tanto se requiere otro post.
Te responderé aqui, solo una vez; a menos que me decida por hacer algo para dividir posts (ya veremos). Y es que no me gusta extender los temas asi.
Solo tienes que leer el código; primero obtienes todos los datos de las categorias, pertenecientes a la principal; después obtienes el primer registro, algo no muy inteligente sabes; y finalmente usas la cid del primero registro... no, no, no.
No se donde quieras poner la descarga aleatoria, pero si es donde están las categorias, mejor usa directamente el $parentid, y obtendrás una descarga aleatoria, perteneciente a la categoría principal.
Si la descarga aleatoria, la quieres al ver una descarga; entonces usa la categoría de la descarga; quizás $row['cid'].
Saludos
|
|
|
|