login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[MYSQL]tabel schets

Offline Ibrahim - 18/10/2005 15:12 (laatste wijziging 18/10/2005 18:37)
Avatar van IbrahimPHP expert Beste leden,

Ik ben bezig met de schets van mijn database voor het forum dat ik ga maken. Nu heb ik een vraag. Bij de forum van PHPBB en sitemasters en vele anderen zie je avatars. Nu is de vraag.. Moet ik een rij aanmaken in de topic/reply tabel waar de avatar zal worden opgeslagen?

Tweede vraag is:
Weet iemand of er iets bij moet bij deze tabellen voor de topics en replys:
  1. -fo topics
  2. +top_id
  3. +cat_id
  4. +top_startersid
  5. +top_datum
  6. +top_mody
  7. +top_titel
  8. +top_bericht
  9.  
  10. -fo_replys
  11. + rep_id (int)
  12. + top_id (varchar(10))
  13. + rep_startersid (varchar(100))
  14. + rep_datum (
  15. + rep_mody
  16. + rep_bericht


Edit:

de tweede is nog niet beantwoord 

14 antwoorden

Gesponsorde links
Offline BigBug - 18/10/2005 15:15
Avatar van BigBug PHP expert Moet ik een rij aanmaken in de topic/reply tabel waar de avatar zal worden opgeslagen?

Nee dit hoeft niet als je je geuploade pictures renamed naar het user id.

Volgensmij is het compleet! Misschien alleen totaal posts ofzo?
Offline Ibrahim - 18/10/2005 15:19
Avatar van Ibrahim PHP expert als je ze renamed wat moet je dan doen? ik ben nogal slaperig 
Offline Thomas - 18/10/2005 15:25
Avatar van Thomas Moderator Avatars is iets wat bij een profiel van een gebruiker hoort, dit (gegevens omtrent avatars) sla je niet op in database-tabellen voor je forum. Ook de mail-reply-optie lijkt mij een instelling van een gebruikersprofiel.
Offline BigBug - 18/10/2005 15:26
Avatar van BigBug PHP expert Je moet ook zorgen dat de extensie gerenamed is dan kan je gewoon:

  1. <?php
  2. $select_id = mysql_query("SELECT id FROM table WHERE id='".$eerder_opgehaalde_id."'");
  3. while($select_id = mysql_fetch_array($opgehaald_id)
  4. {
  5. echo "<img src='".$opgehaald_id['id'].".gif'>";
  6. }
  7. ?>


In deze stijl kan het bijvoorbeeld zitten 
Offline Rens - 18/10/2005 15:26
Avatar van Rens Gouden medaille

Crew algemeen
Je onthoud wie de post plaatst?
Dan onthoud je dus ook de user id.
Daarmee kun je alles uit je tabel leden (o.i.d.) halen:
"SELECT * FROM leden WHERE id=<userid>";
Offline Ibrahim - 18/10/2005 15:31 (laatste wijziging 18/10/2005 15:32)
Avatar van Ibrahim PHP expert @FangorN

je hebt gelijk die moet dus in de tabel voor de leden was ik vergeten.

@rensjuh

Dus in mijn gebruikerstabel moet ik de avatar link opslaan?
Offline Rens - 18/10/2005 15:33
Avatar van Rens Gouden medaille

Crew algemeen
Jah, das wel het makkelijkste.
Anders moet je in elke rij je avatar en alle keuzes en zo opslaan.
Dat neemt nogal wat databaseruimte in beslag.
Daarom zou ik 1 tabel leden / gebruikers maken, daarin alle keuzes zetten en dan in je database de user id/name erbij zetten per bericht.
Dan kun je alles ophalen v.d. gebruiker via het userid / de username.
Offline Ibrahim - 18/10/2005 15:51 (laatste wijziging 18/10/2005 15:52)
Avatar van Ibrahim PHP expert dus als er een reply is:

  1. <?php
  2. SELECT avatar
  3. FROM leden
  4. WHERE gebruikersnaam=
  5. ' ".$fetch_van_replyquery['rep_starter']." ' ");
  6. ?>
Offline Rens - 18/10/2005 16:37 (laatste wijziging 18/10/2005 16:38)
Avatar van Rens Gouden medaille

Crew algemeen
Probeer het uit zou ik zeggen?
Met proberen kom je veel verder dan met alsmaar vragen te blijven stellen.
Als je nou iets niet snapte... maar aangezien je het wel snapt kun je het beter meteen proberen.
Offline nemesiskoen - 18/10/2005 16:53
Avatar van nemesiskoen Gouden medaille

PHP expert
oh nee... geen namen opslagen in een tabel om met een andere tabel te linken. Gewoon een id, dit is (in de meeste gevallen) constant.
Offline Ibrahim - 18/10/2005 17:29 (laatste wijziging 18/10/2005 17:56)
Avatar van Ibrahim PHP expert maar het is beter een naam te gebruiken aangezien ik die al gebruik voor topic_starter en reply_starter zodat ik de database niet al te veel belast. Soort van recycling 
Offline nemesiskoen - 18/10/2005 17:34
Avatar van nemesiskoen Gouden medaille

PHP expert
Citaat:
reclycling

Was da voor een woord?


Ik raad je echt aan om starterID en posterID aan te maken. Dit belast je DB echt een pak minder.
Offline Fenrir - 18/10/2005 17:39 (laatste wijziging 18/10/2005 17:43)
Avatar van Fenrir PHP expert Haha, bij sitemasters v1 ging het ook met namen ipv ID's. Dat is leuk als je je naam verandert: opeens hebben posts geen poster meer, en je kunt ze dus ook niet meer bewerken, etc.

ID's zijn echt veel beter. Iedereen die daar 1 keer mee heeft gewerkt zal ID's ook beter vinden.

Het kost minder moeite het nu te doen dan als je er later achter komt dat het toch wel erg handig is als je ID's gebruikt. Dan kun je al je scripts gaan veranderen.

Ik raad je ook aan om dit altijd goed te noemen. Als je een tabel "houses" hebt, en een tabel "owners" maak je in de tabel "owners" een veld hous_id. Zo kun je raden wat het veld is, en mocht je ooit naar Ruby on Rails willen overstappen hoef je niets nieuws meer te leren.
Offline Ibrahim - 18/10/2005 17:58 (laatste wijziging 18/10/2005 18:10)
Avatar van Ibrahim PHP expert
Citaat:
reclycling

Was da voor een woord?


typfouten zijn menselijk en ik ga ook nu met ids werken. Daarom was het ook beter om eerst een schets te maken van de tabel. Door Fenrirs voorbeeld snap ik nu ook waarom

@fenrir

over die goed benoemen. Ik heb het zo gedaan zodat ik zo min mogelijk hoef op te schrijven in querys enz. Maar ik heb dan ook bovenaan in comment geschreven wat elke afkorting betekent + uitleg. Zodat ik het niet vergeet 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.22s