**SQL:** This is just a simple [join](http://en.wikipedia.org/wiki/Join_%28SQL%29). SELECT e.Votes, e.Views, e.id, u.username FROM election as e, userinfo as u WHERE e.id= u.id WHERE e.ElectionId=? ORDER BY e.id ASC Now you can iterate over all lines and every time e.id is changing you know that you have to display a new group. Are there really multiple users per Votes and Views pair? I gues Votes and Views a counting columns so you model is kind of strange. Maybe you can find better names, so it is easier to get an idea what you want to do. **PHP:** - usually classes are starting with a capital letter. - usually method are starting with a lower case letter. - there is something missing in your output, some `echo`s? - it is best practice to skip the `?>` at the end, do avoid sending whitespace before in case you will change the page header later. - `$call` and `world` are really strange names