in parole povere e per chi legge...
in quella query manca un if;
se nella get della JRequest esiste un id bisogna aggiungere un query->where
così anche nel template, se non sufficiente a supportare le due viste bisognerà con degli if modificare un po' il layout
Nella vista grid (admin) quando si spunta un checkbox per andare in edit il cid passa invece come array dal post e il crud di joomla provvede, con il metodo di jtable che ritorna la riga passando un id, ad associare i valori al form che vediamo nella vista edit.
Un errore tipico che crea vulnerabilità è non prendere i valori dalla get o dal post, accontentandosi di un get id
spero di essermi spiegato meglio... anche se rileggendo non credo... sintetizzare in tre righe e con linguaggio comprensibile non è semplicissimo