In Team Fortress 2, I got this item my friend wanted to trade for, so we established a trade. But when we go to the items, it says I don't have any to trade, even for him. He has about 23 items and it still doesnt display anything.
I'm sure you have Steam Guard active, so that shouldn't be an issue. However, you stated your friends number of items, 23, which leads me to think you two are Free2Play.
F2P are players who have not spent any amount of money in the Mann Co. Store, did not buy TF2 during the time it cost money to play, or did not activate an Upgrade to Premium. F2Pers cannot trade any items to others, and the only time they can trade items is if they are given the item they want to trade by a person with a Premium account.
That should be the only reason as to why you cannot trade. I doubt your friend has 23 items that are achievement and has not earned a single item drop.
You both need Steam Guard activated for 15 days for both of you to have an established trade. If that's not the problem, did you guys buy the items, earned them or crafted them? Purchased items cannot be traded, nor can the achievement items. If you use an item not tradable when crafting another item, the item is also not tradable. As far as I know, those are the only ways that makes it impossible to have any items for trade while having items in your backpack.