Ik heb een probleempje met mijn zogenaamde zelfgemaakte forum in wording. Aangezien het heel stoer en tof is om een eigen forum te hebben ben ik ook maar eens aan de gang gegaan met een forum
, ben nu bijna klaar hiermee, maar ik loop nog tegen 1 probleem, Dat is namelijk het inbouwen van een vooraf instelbare categorie volgorde in het forum.
Ik heb nu bijvoorbeeld 3 categorieen gemaakt, deze heb ik met phpmyadmin even een CAT_ORDER nummer gegeven. Dit is het nummer dat bepaald in welke volgorde de categorien op mijn scherm komen.
Dus:
Catagorie 1 heeft CAT_ORDER 0
Catagorie 2 heeft CAT_ORDER 1
Catagorie 3 heeft CAT_ORDER 2
Als ik nu een categorie vóór categorie 1 wil plaatsen, dan moeten de CAT_ORDER nummers van iedere catagorie nummer met 1 worden verhoogd.
Hiervoor had ik (mbv TFS van GOT) het volgende op "bedacht"
Hiermee zou elke categorie met een CAT_ORDER nummer boven het gegeven $CAT_ORDER, met 1 moeten worden verhoogd.
Als ik mijn script uitvoer, dan krijg ik dit te zien in mijn browser..
--------------
You've added cat nr. 0
Changed 0 to: 1
Changed 1 to: 2
Changed 2 to: 3
---------------
Als ik dan met phpmyadmin in mijn tabel met categorieen kijk, dan staat er echter
Catagorie 1 heeft CAT_ORDER 3
Catagorie 2 heeft CAT_ORDER 3
Catagorie 3 heeft CAT_ORDER 3
Catagorie 4 heeft CAT_ORDER 0
Ik maak dus duidelijk ergens een fout in de loop oid. Het leek me alleen wel raar dat de uitvoer in het browservenser wel correct is.
Dus weet iemand wat ik verkeerd doe?
Ik heb nu bijvoorbeeld 3 categorieen gemaakt, deze heb ik met phpmyadmin even een CAT_ORDER nummer gegeven. Dit is het nummer dat bepaald in welke volgorde de categorien op mijn scherm komen.
Dus:
Catagorie 1 heeft CAT_ORDER 0
Catagorie 2 heeft CAT_ORDER 1
Catagorie 3 heeft CAT_ORDER 2
Als ik nu een categorie vóór categorie 1 wil plaatsen, dan moeten de CAT_ORDER nummers van iedere catagorie nummer met 1 worden verhoogd.
Hiervoor had ik (mbv TFS van GOT) het volgende op "bedacht"
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| $CAT_ORDER = intval(substr($CAT_ORDER,0,1)); echo "You've added cat nr. $CAT_ORDER<br>"; $sql = "SELECT CAT_ORDER FROM forum_catagories"; $resultaat = mysql_query($sql); $aantal = mysql_num_rows($resultaat); for($i=$CAT_ORDER;$i<$aantal;$i++){ $NEW_NR = intval($i+1); mysql_query("UPDATE forum_catagories SET CAT_ORDER=CAT_ORDER+1 WHERE CAT_ORDER=$i") or die("Oops..."); //mysql_query("UPDATE forum_catagories SET CAT_ORDER=$NEW_NR WHERE CAT_ORDER=$i") or die("Oops..."); echo "Changed $i to: $NEW_NR<br>"; } |
Hiermee zou elke categorie met een CAT_ORDER nummer boven het gegeven $CAT_ORDER, met 1 moeten worden verhoogd.
Als ik mijn script uitvoer, dan krijg ik dit te zien in mijn browser..
--------------
You've added cat nr. 0
Changed 0 to: 1
Changed 1 to: 2
Changed 2 to: 3
---------------
Als ik dan met phpmyadmin in mijn tabel met categorieen kijk, dan staat er echter
Catagorie 1 heeft CAT_ORDER 3
Catagorie 2 heeft CAT_ORDER 3
Catagorie 3 heeft CAT_ORDER 3
Catagorie 4 heeft CAT_ORDER 0
Ik maak dus duidelijk ergens een fout in de loop oid. Het leek me alleen wel raar dat de uitvoer in het browservenser wel correct is.
Dus weet iemand wat ik verkeerd doe?
edit:
ik verkneukel gelijk alweer de lay out... hmz..
ik verkneukel gelijk alweer de lay out... hmz..
[ Voor 15% gewijzigd door Verwijderd op 12-03-2003 20:28 ]