De omschrijvingen van de foto's staan in een database, voor een website, met PHP.
Series foto's staan in aparte mappen (galerijen), de juiste beschrijving voor iedere wordt foto verbonden door het NAME veld wat een VARCHAR is.
De foto's hebben namen 1.jpg, 2.jpg, 3.jpg enz. Het NAME veld bevat waarden zoals 1, 2, 3 enz. De rij waar de omschrijving van de galerij in staat heeft "index" in het NAME veld, deze wordt dus uitgesloten.
Om te bepalen met welke naam de volgende foto moet worden opgeslagen moet de naam van de laatste foto uit de database worden gehaald (niet tellen, want als er later een foto verwijderd wordt gaat het mis). En vervolgens wordt daar 1 bij opgteld.
Ik dacht dit even simpel op te lossen door MAX() te gebruiken. Alles ging goed totdat ik bij foto 10 aankwam. Hij blijft iedere foto na de negende "10" noemen omdat de query "9" iedere keer als maximale waarde geeft terwijl dat dus "10" zou moeten zijn.
Hoe moet ik dat nu oplossen?
Komt het omdat het een VARCHAR veld is in plaats van een INT? Dat veranderen zou me heelw at tijd kosten... Dat doe ik dus liever niet.
Series foto's staan in aparte mappen (galerijen), de juiste beschrijving voor iedere wordt foto verbonden door het NAME veld wat een VARCHAR is.
De foto's hebben namen 1.jpg, 2.jpg, 3.jpg enz. Het NAME veld bevat waarden zoals 1, 2, 3 enz. De rij waar de omschrijving van de galerij in staat heeft "index" in het NAME veld, deze wordt dus uitgesloten.
Om te bepalen met welke naam de volgende foto moet worden opgeslagen moet de naam van de laatste foto uit de database worden gehaald (niet tellen, want als er later een foto verwijderd wordt gaat het mis). En vervolgens wordt daar 1 bij opgteld.
Ik dacht dit even simpel op te lossen door MAX() te gebruiken. Alles ging goed totdat ik bij foto 10 aankwam. Hij blijft iedere foto na de negende "10" noemen omdat de query "9" iedere keer als maximale waarde geeft terwijl dat dus "10" zou moeten zijn.
Hoe moet ik dat nu oplossen?
PHP:
1
| $query = "SELECT MAX(name) FROM photos WHERE gallery='$gallery' AND name != 'index'"; |
Komt het omdat het een VARCHAR veld is in plaats van een INT? Dat veranderen zou me heelw at tijd kosten... Dat doe ik dus liever niet.
[ Voor 5% gewijzigd door Johnny op 10-05-2003 23:53 ]
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.