You could get ribbons by entering your Pokemon in a contest in Hearthome City. Another place to get ribbons is at Dr. Footstep's House (the first Pokemon in your party is the one who gets the ribbon, and that Pokemon must like you alot). Another place i know of is if you tell a story to a lady named Julia in Sunyshore City. She will give you a ribbon every day if you tell her a story. You could also buy the GORGEOUS ribbon for your Pokemon in The Ribbon Syndicate(you have to be a member) in Resort Area. That ribbon is only available in that place. It cost $10,000.
Hope this helps.
At the Resort Area.
Every Pokémon in your party has to have at least 10 ribbons, then you can enter the Ribbon house.
Have 10 different ribbons across your party.
at least 10 ON THE SAME POKEMON
You can get better ribbons and get a massage for your Pokemon that will raise their freindship.
Get enough ribbons from contests or from that woman in Sunnyshore city
you need 10 ribbons on one Pokemon and you can get in
U win a contenst in Hearthrome city in Pokemon diamond, pearl and platinum
One of your Pokemon needs to have 9 ribbons. It doesn't have to be contest ribbons. You could get other ribbons by talking to the footprint man, telling a story to this lady in Sunyshore or win the Pokemon League (the pokemon has to be in your league team though).
you need ten ribbon to be a Pokemon diamond pearl
ABXY
Sadly, no. The creators of the game forgot to add in the Pokedex, so trading is impossible without GameShark. :(