Zit ik nu hier met deze code. Hij functioneerd zover naar behoren, maar hebben jullie toevallig nog ideetjes om deze code op te schonen en te verbeteren??
Let nog even niet op de opmaak van het forum zelf, en hoe de code erin staat,, heb niet alles goed gecentreerd zodat het duidelijker af te lezen is.
al die html echoen is stom, het is onleesbaar, gedonder met escapen etc en er wordt onnodige serverload gebruikt (al is dat niet veel) maar waarom zou je php eerst laten echoen om daarna clientside nog een keer te laten renderen, dat gaat makkelijker in een keer.
Zit ik nu hier met deze code. Hij functioneerd zover naar behoren, maar hebben jullie toevallig nog ideetjes om deze code op te schonen en te verbeteren??
En een tip heb je nu al gekregen, er staat niets in over functies checken, maargoed..
tip 2, weet je zeker dat je echt ALLE velden nodig hebt in je selects?
waarom eigenlijk niet alles in een while ? <= never mind, door die brake code zag ik niet dat je daar meer querys deed
En een tip heb je nu al gekregen, er staat niets in over functies checken, maargoed..
tip 2, weet je zeker dat je echt ALLE velden nodig hebt in je selects?
waarom eigenlijk niet alles in een while ? <= never mind, door die brake code zag ik niet dat je daar meer querys deedÂ
hehe ;) Ik zal eerst die echo's weghalen zoals je zei, =)
Ja klopt, ging even om netheid maar is er een manier om die 3whiles korter te doen?? iets zegt mij dat dit mogelijk is,, maar ik zou geen idee hebben hoe..
En is een goed geordende forum wel geschikt om gebruik te maken van div??
Die whiles korter doen geen idee, ik zie wel dat je 2x dezelfde uitvoert dit zou niet nodig hoeven zijn als je niet met tabellen werkt , al denk ik dat als je het nu goed opbouwt het ook niet hoeft maar goed.
Een forum netjes maken met div's waarom niet? een div tag is namelijk voor de lay-out welke lay-out het ook is hij is daarvoor, tabellen zijn uitsluiten en alleen voor gegevens die je moet weergeven in een tabel als afstand snelheid verhoudingen e.d.
Dus wat ik zeg is dit;
Trek al die tabel code ertussen uit zorg dan dat je php perfect is dus met:
- Query check
- Items check
- Sql injecten beveiliging
Dan je daarna eens verder kijken...
En hoe heb jij je database opgebouwd misschien dat we die ook nog even kunnen nakijken ;)
Edit:.
Ik zie trouwens ook dat je steeds dit doet:
$fnaam = $finfo['naam'];
$fid = $finfo['fid'];
In jou code zie ik hier niet echt het nut er van in, je gebruikt die var's immers 1 maal en het neemt nu dus alleen maar onnodige ruimte in. Gebruik ze gewoon rechtstreeks.
Die whiles korter doen geen idee, ik zie wel dat je 2x dezelfde uitvoert dit zou niet nodig hoeven zijn als je niet met tabellen werkt , al denk ik dat als je het nu goed opbouwt het ook niet hoeft maar goed.
Een forum netjes maken met div's waarom niet? een div tag is namelijk voor de lay-out welke lay-out het ook is hij is daarvoor, tabellen zijn uitsluiten en alleen voor gegevens die je moet weergeven in een tabel als afstand snelheid verhoudingen e.d.
Dus wat ik zeg is dit;
Trek al die tabel code ertussen uit zorg dan dat je php perfect is dus met:
- Query check
- Items check
- Sql injecten beveiliging
Dan je daarna eens verder kijken...
En hoe heb jij je database opgebouwd misschien dat we die ook nog even kunnen nakijken ;)
Edit:.
Ik zie trouwens ook dat je steeds dit doet:
$fnaam = $finfo['naam'];
$fid = $finfo['fid'];
In jou code zie ik hier niet echt het nut er van in, je gebruikt die var's immers 1 maal en het neemt nu dus alleen maar onnodige ruimte in. Gebruik ze gewoon rechtstreeks.
OK, ik zal eerst dit alles even toepassen. Dan kom ik hier later op terug mochten er weer problemen op doen.. Alvast bedankt =)
------------
Lol, ik zit met een lullig probleempje.. XD ik weet alleen niet of ik 't zal vrage >_>
't is namelijk t probleem met die subcategorien die op de landingspagina te zien zijn.
Hij drukt ze af, met als er meerdere zijn, daartussen een komma(,) maar op 't eind geen 1.
Nu was ik heir even meebezig.. maar nu is 't probleem.. Of hij laat alleen de laatste zien. Of allemaal met een komma dus ook de laatste..
uhmm nooit dat html echo is echt de grootste onzin in dit geval
maar jah zal er niet verder op in gaan dat heeft Vintage al gedaan voor me.
en die 3 whiles kan niet korter aangezien je 3 verschillende lagen gebruikt
Ik neem aan dat je Database er zo ongeveer beetje uit ziet.
Forum
id | Name
1 | Forum 1
Cats
id | name | forumid
1 | Cat 1 | 1
Sub Cats
id | name | catid
1 | Sub cat | 1
Om all deze informatie op de pagina te zetten zie ik niet zo snel een andere manier dan 3 whiles te gebruiken.
en voor je probleem dat je de laatste ook met , krijgt
een simpele oplossing ( vast niet de beste )
Count alle items
Gooi ze in een loopje en tel een waarde op na elke item die je loopt en als de teller 1 lager is als het max getal zeg je gewoon geen , meer plaatsen.
Om een iets duidelijker overzicht te geven, heb ik de DATA erin gelaten.
Over die kommas(,) betreft, ik had dit geprobeerd met een for loop.
Echter werd bij manier 1 de 1e niet weergegeven.
en bij manier 2 hadden ze gewoon allemaal een komma op 't eind.
Hierbij maakte ik gebruik van een mysql_num_rows variabel, en zolang het getal kleiner was dan dit getal dan kwam er een komma achter, en anders niks. Helaas ging dit dus fout, of ik gebruikte een verkeerde code.
Iemand die me hiermee een zetje in de goede richting kan geven? =)
-----------
EDIT; Komma(,) probleem opgelost
-----------
Iemand een idee hoe ik het beste kan kijken wat het laatste active topic was qua tijd in de database??
Volgorde is als volgt
-Forum
--Categorie
---Topic
----Reply
Hierbij is dan ook de uitleg, elke categorie heeft meerdere topics, en elk topic bestaat uit meerdere replies.
Nu moet ik dus van elk topic de laatste reply tijd weten, zodat ik ze hierop kan catagorieseren, en uiteindelijk in de eerste pagina zetten.
Dan zou je om het simpel te houden zo iets kunnen doen:
Forum
- id
- titel
Categorieën
- id
- frm_id
- titel
- last_topic_date
Topics
- id
- cat_id
- poster_id
- titel
- datum
- bericht
- last_reply_date
Replies
- id
- top_id
- poster_id
- datum
- bericht
Als je zo'n database structuur zou opbouwen zou wel een heel lekker forumpje kunnen maken, dit is dan denk ik nog niet op de beste manier dit zou volgens mij zijn met een heleboel gejoin tussen id's voor bijvoorbeeld de datum.
Het enige wat je nu moet doen is joinen naar de gebruikers tabel en bij iedere invoer een update query uitvoeren om je last_topic_date en last_reply_date even te updaten...
Ja das mogelijk, maar bedenk je wel even dat je eigenlijk een nette foutafhandeling er op moet doen en niet or die(); en je script dan behoorlijk groeit, verder kosten query's tijd en als je veel forums zou hebben vertraagd dit behoorlijk volgens mij...