Ciao, quando imposti una stringa in php che deve restituire un codice HTML in cui è incluso uno script JavaScript, è bene assicurarsi cosa stia effettivamente arrivando lato client e verificare magari se ti saltano errori di script sulla console web del browser.

Immagino che $id sia un valore numerico e quindi non ci sarebbe alcun problema per JavaScript se non è racchiuso tra apici, ma $tabella che tipo di dato è esattamente?
Se si tratta di una stringa testuale andrebbe opportunamente racchiusa tra apici (o doppi apici) sulla chiamata della funzione nel codice JavaScript (eventualmente facendo l'adeguato escape); però non vedo alcun apice attorno a $tabella. Il problema potrebbe essere quello; puoi chiarire?