So I have a database of stores and each store has a number in front of its name. They are added in a random order, but I want them displayed in order from 1 to 213. My problem i
As John commented, the order you get is expected: since you're storing strings, the nodes are ordered lexicographically.
If you want to order numerically, you either have to store the values as number or (in your case more likely) store the value in a format that orders the same lexicographically as numerically. E.g.
Or
This padding/prefixing of strings is quite normal in situations like this. One of the main disadvantages is that you'll have to determine how many characters to use for the numbers when you start your project.
The leading zeros may be a temporary solution but in regard of users experience this is wrong. You have to implement a sorting function. Moreover, if your system will have to deal with more than 999 stores, you won't have to touch your code for this.