You cant really get away with not having two MySQL queries. Well you could, by either jsut combining them into one, with UNION. Or by creating a new combined 'table' (either a view, or a materialized view) - but really dont think its worth the effort. Two queries is perfectly fine - as you say they indexed.
You could use one sphinx index (and hence one search query) - by creating a new combined index. Because you say your keys are not unique, would have to create a new synthetic key.
sql_query = SELECT userid*2 AS id, 1 AS table_id, firstname AS one, lastname as two FROM tellycards_user_data \ UNION \ SELECT (id*2)+1 as id, 2 AS table_id, name AS one, screenshot AS two FROM tellycards_ripples sql_attr_unit = table_id
This gives you a fake key , and an attribute to identify what table the result came from. You can use this to get the original table it came from. (there are many other ways of doing the same thing)
This allows you to run one query, can get combined results.
... BUT not convinced its a good idea. Because if the results are asymmetric, you may miss results. Say there are 20 matching results from one table, and 10 from another. Say you show the top 10 results, now becayse of the limit, the results from the second table, could well be hidden below the first table (extream example, in reality, hopefully they intermingled). Two seperate queries, allows you to guarantee, to get SOME results from each table.
... so after all that. Stick with what you got. Its fine.