Na veel zoeken kom ik er toch niet uit.
Ik heb een website die met PHP werkt en een MySQL database. Sommige kolommen zijn van het ENUM type.
Iedere keer als ik iets verander aan de ENUM moet ik overal op mijn website de selectboxen ook gaan veranderen.
Ik wil dus dat dat dynamisch gebeurt en dat alle selectboxen automatisch alle mogelijke waarden weergeven.
Na lang zoeken dacht ik het antwoord te hebben gevondenmet SHOW COLUMNS. Maar als ik de volgende code gebruik zijn er verschillende problemen:
- Het aantal waarden in de array is het aantal rijen, niet de verschillende mogelijkheden, ik krijg alle verschillende waarden, en een heleboel lege terug. dat is nog wel op te lossen door te checken of ie leeg is of niet.
- Alleen de waarden die al gebruikt zijn komen terug, dus als ik een nieuwe mogelijkheid zou toevoegen zou hij nog niet gebruikt zijn en niet in de lijst komen, end dus niet kunnen worden gebruikt.
Ik heb een website die met PHP werkt en een MySQL database. Sommige kolommen zijn van het ENUM type.
Iedere keer als ik iets verander aan de ENUM moet ik overal op mijn website de selectboxen ook gaan veranderen.
Ik wil dus dat dat dynamisch gebeurt en dat alle selectboxen automatisch alle mogelijke waarden weergeven.
Na lang zoeken dacht ik het antwoord te hebben gevondenmet SHOW COLUMNS. Maar als ik de volgende code gebruik zijn er verschillende problemen:
- Het aantal waarden in de array is het aantal rijen, niet de verschillende mogelijkheden, ik krijg alle verschillende waarden, en een heleboel lege terug. dat is nog wel op te lossen door te checken of ie leeg is of niet.
- Alleen de waarden die al gebruikt zijn komen terug, dus als ik een nieuwe mogelijkheid zou toevoegen zou hij nog niet gebruikt zijn en niet in de lijst komen, end dus niet kunnen worden gebruikt.
PHP:
1
2
3
4
5
6
7
8
| $query="SHOW COLUMNS FROM houses LIKE 'town'"; $result=mysql_query($query,$db); $town = mysql_fetch_array($result); for($i = 0; $i <= count($town); $i++) { echo("<option value=\"".$town[$i]."\">".$town[$i]."</option>\n"); } |
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.