Hallo,
wie bereits erwähnt finde ich keinen groben Fehler. Zumindest while($db_cafes = mysql_fetch_array($result)) sollte irgendetwas ausgeben.
Um den Fehler einzukreisen würde ich erst einmal das Brimborium drumherum auskommentieren ... bis nur noch der select und die Ausgabe übrigbleibt.
Etwa:
$sql = "SELECT
id,
...
FROM
...
LIMIT $start, $eintraege_pro_seite
LIMIT 0, 16
$result = mysql_query($sql);
while($db_cafes = mysql_fetch_array($result))
{
echo "$db_cafes[...]";
Wenn das Ganze dann soweit läuft die Berechnungen für $start, $wieviel_seiten usw. nach und nach einkommentieren und zwischendurch immer wieder testen.
Grüße,
Jochen