replay script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Irian Vis

Irian Vis

26/03/2007 18:30:00
Quote Anchor link
hej,
ik ben bezig met een script waar de admin een verhaaltje kan posten, en dan kunnen de bezoekers daar op antwoorden. het werkt met een mysql database, en ik heb per post van de admin een id, en dan krijgt elk antwoord een id2, met hetzelfde id nummer als de id, zodat als je ze bekijkt, de berichten in volgorde van id2 worden opgehaalt.

mijn vraag is nu, hoe kan ik kijken of er bij id2 meer dan 1 zijn, zodat ik de antwoorden kan weergeven.
 
PHP hulp

PHP hulp

20/11/2024 15:37:08
 
Dizzy

Dizzy

26/03/2007 18:34:00
Quote Anchor link
:s mss kan je er een onderwerp aan koppellen? zodat het bij het verzenden mee verzonden wordt naar de database ... samen met een datum zodat hij aflopend kan staan (of oplopend) ... weet niet :) ben maar een noobje
 
Irian Vis

Irian Vis

26/03/2007 18:41:00
Quote Anchor link
dat doe ik eigelijk ook, want id2 is per adminbericht met de antwoorden steeds het zelfde, dus als id van het bericht 5 is, dan hebben alle antwoorden op dat bericht id2 = 5.
 
Joren de Wit

Joren de Wit

26/03/2007 18:43:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT COUNT(id) AS aantal
FROM tabel
WHERE id2 = 5

Zoiets?
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Thijs X

Thijs X

26/03/2007 18:44:00
Quote Anchor link
Is het niet makkelijker om 2 tabellen te maken
1 voor de Posts met verhaaltjes van de admin
1 met de reacties
 
Irian Vis

Irian Vis

26/03/2007 18:46:00
Quote Anchor link
ja dat zou makkelijker zijn, behalve dat het een website van mijn klas is, waar dus ongeveer 30 verhalen tabellen in komen in jou geval zou dat dan 30 x 2 worden, da's een beetje veel.
 
Joren de Wit

Joren de Wit

26/03/2007 18:56:00
Quote Anchor link
Stop! Je gaat natuurlijk niet elk verhaal zijn eigen tabel geven, dat is nu juist niet de bedoeling.

Je hebt een tabel met verhalen en een tabel met reacties op verhalen. Dat is de opbouw je moet gebruiken. Dus bijvoorbeeld:

verhalen
----------
id
verhaal
datum

reacties
---------
id
reactie
datum
verhaal_id

Je ziet dat in de reacties tabel er een foreign key (verhaal_id) is opgenomen. Op die manier weet je van elke reactie bij welk verhaal deze hoort.
 
Irian Vis

Irian Vis

26/03/2007 19:01:00
Quote Anchor link
ja dat snap ik, maar elke leerling uit mijn klas heeft zijn eigen stukje site, en is dus over dat stukje "admin", dus dat houd in dat elke leerling zijn eigen tabel moet hebben om z'n stukjes in te schrijven, en daar komen dan dus ook de antwoorden in. het is natuurlijk ook mogelijk om van alle adminberichten van alle leerlingen in één tabel te zetten, dmv de naam van de leerling erbij te zetten, maar dan word het voor mij een beetje té complex, dan overzie ik het niet meer.
 
Thijs X

Thijs X

26/03/2007 19:03:00
Quote Anchor link
In dat geval kan het nog steeds met 2 tabellen:

verhalen
----------
id
user_id
verhaal
datum



reacties
---------
id
reactie
datum
verhaal_id
 
Joren de Wit

Joren de Wit

26/03/2007 19:04:00
Quote Anchor link
Nee, zoals je nu bezig bent ga je zeker problemen krijgen. Hoe je het zult moeten oplossen is door ook nog een aparte tabel 'leerlingen' op te nemen. Dus:

leerlingen
------------
id
naam

verhalen
----------
id
verhaal
datum
leerling_id

reacties
----------
id
reactie
datum
verhaal_id

De foreign key leerling_id in de verhalen tabel vertelt je nu door welke leerling een verhaal geplaatst is. Nogmaals, je gaat dus niet iedere leerling een eigen tabel geven, dat is niet de bedoeling van een database.
 
Citroen Anoniem Graag

Citroen Anoniem Graag

26/03/2007 19:09:00
Quote Anchor link
Misschien is het handig als je even de tut over normalisatie doorneemt
 
Irian Vis

Irian Vis

27/03/2007 00:22:00
Quote Anchor link
ik heb nu de volgende sql code gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE verhalen(
id        INT (10) NOT NULL AUTO_INCREMENT,
ip        CHAR (20) NOT NULL,
datum        CHAR (19) NOT NULL,
leerling_id    INT (10),
verhaal        TEXT NOT NULL,
PRIMARY KEY(id))

CREATE TABLE reacties(
id        INT (10) NOT NULL AUTO_INCREMENT,
ip        CHAR (20) NOT NULL,
datum        CHAR (19) NOT NULL,
leerling_id    INT (10),
verhaal_id    INT (10),
reactie        TEXT NOT NULL,
PRIMARY KEY(id))

klopt dat ongeveer
 
Dutch Caffeine

Dutch Caffeine

27/03/2007 00:49:00
Quote Anchor link
Ik zou het zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE verhalen(
id INT (10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
ip CHAR (20) NOT NULL,
datum CHAR (19) NOT NULL,
leerling_id INT (10),
verhaal TEXT NOT NULL
) ENGINE = MYISAM;

CREATE TABLE reacties(
id        INT (10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
ip        CHAR (20) NOT NULL,
datum        CHAR (19) NOT NULL,
leerling_id    INT (10),
verhaal_id    INT (10),
reactie        TEXT NOT NULL
) ENGINE = MYISAM;

Dit is beter en over zichtelijker! ;)
 
Dutch Caffeine

Dutch Caffeine

27/03/2007 00:53:00
Quote Anchor link
edit:
De jouwe was ook goed, maar nu hoef je niet onderaan id opniew er in te zetten. En mysql doet het anders toch zo.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.