[php][mysql] Onderling message systeem

Pagina: 1
Acties:

  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Ik werk aan een site, waar ik ook een onderling message systeem wil gaan gebruiken.

Ik maak gebruik van authorisaties op group niveau met sessions in php 4. Ik heb een tabel users, voor elke group een tabel waarin gewoon de user staat opgenoemd met eventuele extra;s (bv tijd laatste login in group, laatste post, aantal posts)

Ik was van plan een table messages en een table newmessages te maken. dan komen de messages te staan in messages en de messages die nog niet zijn gelezen in newmessages..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php 
session_start();
?>
<html>
<body>
<?php
if ($HTTP_SESSION_VARS["Login"] == '1') {
     $DBHost = "";
      $DBLogin    = "";
      $DBPassword = "";
      $DBDatabase = "gebruikers";

      mysql_connect("$DBHost", "$DBLogin", "$DBPassword") or die("MySQL Connectie mislukt");
      mysql_select_db("$DBDatabase") or die("Selecteren van database mislukt");

      $LoginNaamcheck = $HTTP_SESSION_VARS["LoginNaam"];
      print $LoginNaamcheck;
      echo '<br>';

      $Query = mysql_query("SELECT * FROM newmessages WHERE gebruikersnaam = '$LoginNaamcheck'");
      $Results = mysql_num_rows($Query);
      print $Results;
      if ($Results == 0){
            echo '<br> 0 messages';
      }
      else{
            echo '<br> in ieder geval wel wat messages <br>';

        if ($Results == 1) {
            $i = 0;
            echo '<br> tot hier <br>';
            $fields = mysql_num_fields ($Results);

            echo '<br> fieldslengte: ';
            print $fields;
            for ($i = 0; $i<$fields; $i++) {
                echo mysql_field_name($Results, $i)." - ".mysql_result($Results,0,$i)."&nbsp;//&nbsp;";
            }
        }
        else {
            echo 'error in database';
        }
      }
}
else{
echo 'niet ingelogd';
}
?>
</body>
</html>

het volgende schema werkt in ieder geval niet... hij blijft bij de test bij de output hangen na "fieldslengte:" hij geeft dus ook niet de waarde :(
wie weet wat er fout aan is..

  • tomato
  • Registratie: November 1999
  • Niet online
Op Sunday 28 October 2001 22:40 schreef smaij het volgende:
Ik maak gebruik van authorisaties op group niveau met sessions in php 4. Ik heb een tabel users, voor elke group een tabel waarin gewoon de user staat opgenoemd met eventuele extra;s (bv tijd laatste login in group, laatste post, aantal posts)

Ik was van plan een table messages en een table newmessages te maken. dan komen de messages te staan in messages en de messages die nog niet zijn gelezen in newmessages..
Misschien niet wat je wilde horen en off-topic, maar imho is het echt nodig dat je eens iets over relationele databases leest/leert.

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Ik was van plan een table messages en een table newmessages te maken. dan komen de messages te staan in messages en de messages die nog niet zijn gelezen in newmessages..
lijkt me geen goed plan. je kunt veel beter een extra veld toevoegen aan de tabel waarin je aangeeft of het nieuw is of niet.

Waarom hij niet werkt snap ik ook niet, maar waarom geef je de inhoud v/h resultaat op die manier weer ? je weet toch welke rows je in de tabel hebt zitten, dus kun je veel beter zoiets doen (ik geef maar een voorbeeldje):
code:
1
2
3
4
$record = mysql_fetch_object($Result);
echo "datum: " . $record->datum . "<BR>";
echo "username: " . $record->username . "<BR>";
echo "bericht: " . $record->bericht . "<BR>";

  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Geef een voorbeeld?
Op Sunday 28 October 2001 22:48 schreef tomato het volgende:

[..]

Misschien niet wat je wilde horen en off-topic, maar imho is het echt nodig dat je eens iets over relationele databases leest/leert.

  • tomato
  • Registratie: November 1999
  • Niet online
Op Sunday 28 October 2001 22:54 schreef smaij het volgende:
Geef een voorbeeld?
Een voorbeeld waarvan? Online leesvoer? Zie Google ;)

Een voorbeeld uit je post waarom ik dit zei? Bijvoorbeeld wat Marcusk noemt, of de structuur van je tabellen voor groepen en gebruikers.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op zondag 28 oktober 2001 22:54 schreef smaij het volgende:
Geef een voorbeeld?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
S
-------
Supplier_ID int Primary Key,
Supplier_Name char(20)

P
--------
Parts_ID int Primary Key,
Parts_Name char(20)

SP
---------
Supplier_ID int,
Parts_ID int,
Primary key (Supplier_id,Parts_ID),
Foreign Key (Supplier_ID from S.Supplier_ID),
Foreign Key (Parts_ID from P.Parts_ID)

Hier standaard voorbeeldje van Supplier / Parts en de parts die die supplier levert. Voor verdere uitleg over de S/P/SP tabellen zie de bijbel van Date!.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Op maandag 29 oktober 2001 08:22 schreef dusty het volgende:

Voor verdere uitleg over de S/P/SP tabellen zie de bijbel van Date!.
waar vind ik zo'n bijbel :) is dat gewoon bij de php site te vinden

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 29 oktober 2001 13:10 schreef smaij het volgende:
waar vind ik zo'n bijbel :) is dat gewoon bij de php site te vinden
heeft niets te maken met PHP maar alles met databases.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 09-09 14:51

thomaske

» » » » » »

Op maandag 29 oktober 2001 13:10 schreef smaij het volgende:

[..]

waar vind ik zo'n bijbel :) is dat gewoon bij de php site te vinden
Afbeeldingslocatie: http://images.amazon.com/images/P/0201385902.01.LZZZZZZZ.gif

Dit boek zoek je

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 29 oktober 2001 13:14 schreef dusty het volgende:

[..]

heeft niets te maken met PHP maar alles met databases.
true true..

* oh,when? is zo aardig om nog een hint te geven, 2 zelfs..

- Zoek eens op Google op Chris Date en "relational database writings"
- Ga dan eens naar [url="http://www.fatbrain.com""]Fatbrain[/url]

consumeren maar!

;)

"You're only as good, as what you did last week."


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 29 oktober 2001 13:21 schreef thomaske het volgende:
[afbeelding]

Dit boek zoek je
jezus, de zevende editie alweer.. ik heb nog de 4e thuis... mooi compleet blauw enzo... >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 29 oktober 2001 13:35 schreef dusty het volgende:

[..]

jezus, de zevende editie alweer.. ik heb nog de 4e thuis... mooi compleet blauw enzo... >:)
conclusie: je word oud :P

"You're only as good, as what you did last week."


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 29 oktober 2001 13:35 schreef oh,when? het volgende:
conclusie: je word oud :P
Niets mis mee :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 29 oktober 2001 13:37 schreef dusty het volgende:

[..]

Niets mis mee :)
true :)

zolang je geen gekke dingen gaat brabbelen ;)

"You're only as good, as what you did last week."


  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Mijn vader wat jaren geleden database specialist.. is nu al weer verder gegroeid natuurlijk.. maar heb even een doos vol met dit soort boeken bekeken, en wat blijkt:

- C.J DATE An introduction to Database Systems Volume I fifth edition
- C.J DATE An introduction to Database Systems Volume I fourth edition
- C.J DATE An introduction to Database Systems Volume II

waar zal ik beginnen???

  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
he dee ik zo lang over dit bericht dat andere mensen me voorzijn :(:(:(

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

ik zou zeggen eerst Volume I en dan Volume II ;)

gewoon lekker de laatste editie nemen zijn waarschijnlijk wat dingen makkelijker uitgelegd.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Op maandag 29 oktober 2001 13:10 schreef smaij het volgende:

[..]

waar vind ik zo'n bijbel :) is dat gewoon bij de php site te vinden
Ach, wist ik veel dat hij dit boek bedoelde :p ik ga maar lezen denk ik... dan komt ik vanzelf verder.. thx everyone

  • tomato
  • Registratie: November 1999
  • Niet online
Op maandag 29 oktober 2001 13:38 schreef oh,when? het volgende:

[..]

true :)

zolang je geen gekke dingen gaat brabbelen ;)
Wilde je daar iets mee suggereren :? >:)

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 29 oktober 2001 14:01 schreef tomato het volgende:

[..]

Wilde je daar iets mee suggereren :? >:)
voelde je je aangesproken? ;)

"You're only as good, as what you did last week."


  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
zou dit volgens jullie een goede database structuur zijn???

Afbeeldingslocatie: http://makingbones.dnsalias.net/makingbones/databasestructuur.gif

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
smaij: zou dit volgens jullie een goede database structuur zijn???
je maakt aparte tabellen voor individuele groepen en fora? das geen goed id nee.

  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Op maandag 29 oktober 2001 19:18 schreef marcusk het volgende:

[..]

je maakt aparte tabellen voor individuele groepen en fora? das geen goed id nee.
Klopt.. Misschien even een uitleg:
- Een volledige authorisatie met sessions PHP4
- Indeling met rechten per group
- Elke user heeft 1 of meer Groups
- Elke forum kan gekoppeld worden aan 1 of meerdere groups (weet nog niet hoe ik dat meerdere ga doen, maar is wel de bedoeling)
- Elke Forum heeft 1 of meerdere Moderators
- Admin's kunnen Moderator Functies krijgen
- De Root admin heeft alleen de rechten over de Admin Database
- De Root admin kan per Admin instellen of deze Create rechten heeft (Forum etc..)

mmm.. ik zal er nog even nadenken hierover. maar het is een begin..

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Mmmm.. een database model... Yummie >:)

Even een samenvatting, ik zal alleen zeggen WAAR de fout zit voor nu. Mocht je zelf na hard nadenken niet weten wat de fout is kan je het zeggen zal ik je een hint erna toe geven.

"Ban-systeem" is fout.
"Admin" tabel is fout.
Group1 Tabel is fout.
Forum Tabel i.s.m. Groups tabel is fout.
Forum Tabel i.s.m. Moderators is fout.
Forum1 Tabel is fout.
BulletinBoard tabel is fout.
Gebruikers tabel is fout.

Voor de verdere rest een leuke start :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
Op maandag 29 oktober 2001 21:14 schreef dusty het volgende:
Mmmm.. een database model... Yummie >:)

Even een samenvatting, ik zal alleen zeggen WAAR de fout zit voor nu. Mocht je zelf na hard nadenken niet weten wat de fout is kan je het zeggen zal ik je een hint erna toe geven.

"Ban-systeem" is fout.
"Admin" tabel is fout.
Group1 Tabel is fout.
Forum Tabel i.s.m. Groups tabel is fout.
Forum Tabel i.s.m. Moderators is fout.
Forum1 Tabel is fout.
BulletinBoard tabel is fout.
Gebruikers tabel is fout.

Voor de verdere rest een leuke start :+
weet je.. ze kunnen jou wel een ban geven :+

maar leg uit?????? waarom is het dan fout? :?

  • smaij
  • Registratie: November 2000
  • Laatst online: 23:41
damn.. ben dus bij de table Gebruikers vergeten:
- Gebruikersnaam
- Active

zo.. en de relatie tussen ForumBan en Forum en tussen ForumBan en Gebruiken

Up to date maar weer.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 29 oktober 2001 21:40 schreef smaij het volgende:
weet je.. ze kunnen jou wel een ban geven :+
If it happens, it happens.
maar leg uit?????? waarom is het dan fout? :?
We beginnen bij de eerste, het ForumBan en BAN. Jij gaat nu dubbel opslaan of iemand gebanned is op het forum (1 keer in tabel BAN en een keer in tabel ForumBan), als je een ander soort ban systeem gaat gebruiken die heel veel lijkt op de ForumBan kan je alles afhandelen in DAT tabel. (Website beschouw je dan gewoon als forum 0 ofzo)

Jij wilt er een expire inzetten, vaak wil je dan ook de reden weten, dus zou je er een extra veld "reason" bij moeten gooien.

Jij hebt een ID in deze tabel zitten (ForumBanID) terwijl deze getal nergens opslaat. Je gebruikt dus ID's waar het NIET nodig is.

Nou aan jou de taak de redenen van de andere 7 te vinden >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1