Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/03/2009, 14:01
Avatar de rompeguesos
rompeguesos
 
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: poner pestaña 'mas info' en un sistema de noticias

Cita:
Iniciado por codig0 Ver Mensaje
Código:
<?php
// funcion para recortar un texto
function Recortar($texto,$len){
$chars=strlen($texto);
$texto=strip_tags($texto);
if($chars>$len) $texto=substr($texto,0,$len-3)."...";
return $texto;
}

// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
// asignamos los valores
// a las variables que usaremos
$cat_ID = $_GET['id'];
$categoria = $_GET['categoria'];
$clausula = "WHERE notCategoriaID = '$cat_ID'";
// tambien armamos el titular de la pagina
$titulo = "Noticias en la categoria $categoria";
}else{
// de lo contrario
// el titulo sera general
//$titulo = "Todas las noticias";
}
// armamos la consulta
if (!isset($pag)) $pag = 1;
$sqlQueryNot = mysql_query("SELECT COUNT(*) FROM sn_noticias", $db_link);
list($total) = mysql_fetch_row($sqlQueryNot);
$tampag = 3;
$reg1 = ($pag-1) * $tampag;
$sqlQueryNot = mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
$clausula LIMIT $reg1, $tampag", $db_link); 

//echo "<p>$titulo</p>";
// mostramos las noticias,
// otra vez usando un bucle while
while($rowNot = mysql_fetch_array($sqlQueryNot)){ 
echo "<p class=\Estilo1\"><hr>".stripslashes($rowNot['notTitulo'])."</p>"; 
echo Recortar(ucfirst(stripslashes($rowNot['notTexto'])),510);
}  
echo "<br/><hr>";

?>
Toma, luego en la function de leermas pones la noticia normal y listo... ah y no deberías utilizar $_GET y $_POST sin filtrarlos antes... ya que te pueden meter cualquier cosa los usuarios.
ya tengo puesto este y funcionando me acaba en unos puntos suspensivos... pero ahora que tengo que poner para crear el enlace de mas info? y en la pagina donde se vera la noticia?

Acabo de crear una página la cual la he llamado mas.php con el siguiente contenido:

Código PHP:
<?php 
include("db-cnx.php"); 

if(isset(
$_GET['not_ID'])){    
    
$not_ID $_GET['not_ID'];
    
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto, not_ID, notCategoriaID FROM sn_noticias WHERE not_ID = $not_ID"$db_link) or die(mysql_error);
 
$rowNot mysql_fetch_array($sqlQueryNot);
    echo 
"<h2>$rowNot[notTitulo]</h2>";
    echo 
$rowNot['notTexto'];
?>
el problema es que he creado un enlace asi: <a href=\"mas.php=not_ID\" target=\"_blank\">Más</a> (todo el enlace esta dentro de las comillas del echo) y queda una cosa asi:

Código PHP:
echo Recortar(ucfirst(stripslashes($rowNot['notTexto'])),130)." <a href=\"mas.php=not_ID\" target=\"_blank\">Más</a>"
pero al pinchar en el enlace me lleva a un error como que la pagina no existe. a que puede deberse eso?

Última edición por rompeguesos; 17/03/2009 a las 14:49 Razón: ya he creado la pagina mas.php