le tabelle e le chiavi vanno bene e questa č una query che ti mostra per ogni utente i suoi articoli

$sql = "SELECT u.users,
GROUP_CONCAT(CONCAT_WS('',p.articolo_time ,p.news_type,z.articolo_subject,x.articolo_text) ORDER BY b.articolo_userid SEPARATOR '
') articoli
FROM articoli p
LEFT JOIN users u ON a.articolo_userid = c.user_id
GROUP BY a.articolo_userid
ORDER BY c.users";


poi adesso ti spigo perchč probabilmente č piu sicuro un campo numerico che un date_format

un campo date format lo puoi trovare o cosi 5/8/07 o cosi 5-8-07
raggionando sul primo caso tra i numeri ci sono slash che hacker o malintenzionati potrebbero togliere o aggiungere; invece se numerico č piu controllato nel senso che probabilmente nel sito ti viene richiesto separatamente di inserire o scegliere girno mese anno
quindi prima dell'inserimento in db si controlla che sia numerico ed č piu manegevole se devi passare o solo il giorno o solo il mese o solo l'anno ad altre pagine nel senso che con il date_format avresti bisogno di fare qualche explode od altro per tirar fuori il numero desiderato.
saluti luigi