Veamos,...los videos (ya sea en la pagina principal o en una categoria) aparecen haciendo fetch_array de la base de datos asi:
Código:
Como se ve, se muestran los resultados en una tabla, limitada a 4 columnas.$ultimos= "SELECT Titulo, Autor, Duracion, Imagen, URL FROM Multimedia ORDER BY ID DESC LIMIT 20"; $resultado= mysql_query($ultimos, $conectar); $num_rows = mysql_num_rows($resultado); echo(" <table width='73%' height='207' border='0' align='center' cellpadding='18'>"); $columns = 4; for($i = 0; $i < $num_rows; $i++) { $row = mysql_fetch_array($resultado); if($i % $columns == 0) { //SI NO HAY RESTO SIGNIFICA QUE INICIAMOS UNA NUEVA FILA echo "<tr>\n"; } echo "<td width='130'><a href='video.php?v=".$row['Titulo']."'><img src='".$row['Imagen']."' width='130' height='100' /></a> <br /><a href='video.php?v=".$row['Titulo']."'>".$row['Titulo']."</a> <br />".$row['Duracion']." </td>\n"; if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) { //SI EL RESTO ES UNO //O SI NO HAY NADA MAS A LA IZQUIERDA //ES EL FINAL DE LA TABLA echo "</tr>\n"; } } echo "</table>\n";
El problema es que el titulo del video deforma el ancho de la tabla y queria cortar el titulo en X caracteres y añadir puntos suspensivos.
Para eso tengo dos codigos:
Código:
O este otro:<?php function cut_string($string, $charlimit) { if(substr($string,$charlimit-1,1) != ' ') { $string = substr($string,'0',$charlimit); $array = explode(' ',$string); array_pop($array); $new_string = implode(' ',$array); return $new_string.' ...'; } else { return substr($string,'0',$charlimit-1).' ...'; } } //llamada a la funcion echo cut_string($cadena, 12); ?>
Código:
Pero me parece que con la funcion fetch_array no funciona, ya que lo pruebo y no hace absolutamente nada, de hecho me imprime el codigo tal cual como si de texto se tratase...echo substr($texto, 0, 12)."...";
Alguna idea u otra forma de hacerlo??