Te puse que hicieses lo mismo para las otras funciones. Haz lo mismo para el ultimo image.$separar[1].
Pero me empiezo a liar con la logica de tu script. Dices que las imagenes las tienes en la bd, pero ¿el nombre del fichero o el fichero en si? Ademas, te he dicho que un script como el tuyo que va a ser usado como src de un img solo puede mostrar una imagen, pero tu lees todos los registros de la tabla y los recorres con un while, intentando mostrarlos todos. Eso Crea unos datos incorrectos, corruptos, que no generan nada visible.
Mira, voy a intentar sacar un codigo de la bola de cristal. A ver si hay suerte:
Código PHP:
<?php
include("conexio.php");
$sql="SELECT * FROM imageneschuscas WHERE nombre='$ruta'";
$result=mysql_query($sql,$conexio);
$row = mysql_fetch_array($result);
$tipo = $row["tipo"];
$ancho= "150";
$alto= "150";
$imagen = $row["nombre"];
$separar = explode('.',$imagen);
$pp='imagecreatefrom'.$separar[1];
$fuente = @$pp($ruta);
$imgAncho = imagesx ($fuente);
$imgAlto =imagesy($fuente);
$imagen = ImageCreate($ancho,$alto);
ImageCopyResized($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);
Header("Content-type: $tipo");
$pp='image'.$separar[1];
$pp($imagen);
?>
Mira a ver si funciona.
Por cierto, lee el manual de imagecretefromgif() (
www.php.net/imagecreatefromgif), ya que dependiendo de la version de la libreria GD esta funcion funciona o no. Por si acaso, haz las pruebas con jpgs.
Suerte.