Saludos. Revisa si la SQL que usas está arrojando algún resultado, o si se está ejecutando correctamente.
Te lo digo porque el error que te da dice que el parámetro 1 de mysql_fetch_assoc debe ser un resultado de una consulta y en su lugar está entrando un booleano.
Lo que pasa es que la variable $catresult debe contener ese resource que la función espera encontrar. Si la variable $catresult contiene un boolean en lugar de un resource, es señal de que la consulta de mysql_query no arrojó ningún resultado. En este caso $catresult contiene un valor booleano igual a False.
Revisa la SQL. Tal vez el nombre de tabla no es exactamente ese, o el nombre del campo está mal escrito, o simplemente la tabla está vacía en la BD.
Otra idea es condicionar la ejecución de ciclo while, así:
Código PHP:
Ver originalif($catresult){
//Aquí pones todo el código del ciclo while
}
De esta forma no se ejecuta el while si $catresult no contiene los resultados esperados. oSaludos.