I recommend every-time as possible the guideline use mentioned by digital-ether. I will try to make a more deep review.
Create one table for clients, first field called id_
(table name), type Int, as primary key and with auto-increment extra feature. Then, when you add a record, a new auto-incremented unique id number will be generated for each client. That's the normal usage for tables.
You can translate the client id to another tables to maintain the relationships between tables (e.g. for posts table, I suggest to create the first field id_post, the second as id_client and then the additional ones - title, body, etc.).
When you add a new client the question is how to insert the resultant client id in another table? Well, you could do a lookup by client name to get the client id before, using a input field or a dropdown list with client names and id values, or use
SELECT id FROM clients ORDER BY id_client DESC LIMIT 1
same as mentioned by digital-ether again, in this case to get the latest inserted id from clients. When you make a insertion in another table do not forget to insert the client id.
You could make a lookup by logon name, e.g.
SELECT id FROM clients WHERE username = $logon_name
To make a single query through several tables with a same field in common (e.g. client id) you could perform a query like this:
SELECT *
FROM clients
INNER JOIN posts ON clients.id_client = posts.id_client
WHERE clients.name LIKE 'john smith'
That statement will display results from two tables like it was a single table.
Or you could do simple requests into each table and merge the resultants arrays in one.