Verschillende teksten voor éénzelfde variable uit de database.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

 - Diov  -

- Diov -

13/07/2013 18:11:29
Quote Anchor link
Hoi :-)

Ik zit met een klein denkprobleempje, waar ik niet echt uigeraak.
Kijk,

Ik heb verschillende groepen die de inhoud van Div's/Hoofddingen kunnen bewerken.
Maar hoe sla ik dit nu op?

Ik weet wel hoe dit moet in PHP, maar ik weet niet echt mijn databasestructuur.
Zouden jullie het zo doen?

--------------------------------------------------------------
- ID ---- div_naam ---- Groep_1 ---- Groep_2 ---- Groep_3 ----
--------------------------------------------------------------
- 01 ---- div_nr_1 ---- Welkom op groep 1 ---- Welkom op groep 2 ---- Welkom op groep 3 ----
--------------------------------------------------------------

Hierboven was als een voorbeeld, maar dit zijn nu nog kleine teksten.
Is dit een goeie structuur?
Of zouden jullie het anders doen? Het is eigenlijk beetje te vergelijken met je site is verschillende talen.

Alvast zeer bedankt!
Diov
 
PHP hulp

PHP hulp

17/11/2024 16:37:14
 
Bas IJzelendoorn

Bas IJzelendoorn

14/07/2013 09:11:47
Quote Anchor link
Als er een inlog bij zit zou ik het bovenstaande met koppeltabel maken

Maar ik snap niet helemaal waarom je niet 1 tabel maakt met:

Id
Titel div 1
Tekst div 2
Etc...
Groep

En dan selecteert ie voor een groep

Maar het kan zijn dat ik het niet helemaal snap
Gewijzigd op 14/07/2013 09:12:43 door Bas IJzelendoorn
 
 - Diov  -

- Diov -

14/07/2013 11:05:32
Quote Anchor link
@ Bas, je snapt het wel denk ik.
Kijk, ik heb nu even deze tabel gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
CREATE TABLE `teksten` (
  `tekst_id` int(11) NOT NULL AUTO_INCREMENT,
  `tekst_naam` varchar(150) COLLATE latin1_general_ci NOT NULL,
  `tekst_inhoud` longtext COLLATE latin1_general_ci NOT NULL,
  `tekst_web` tinyint(2) NOT NULL,
  PRIMARY KEY (`tekst_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ;


Maar dan vraag ik me af hoe ik makkelijk de juiste tekst ophaal..
 
Bart V B

Bart V B

14/07/2013 11:11:36
Quote Anchor link
Hoe stel je je voor om de die teksten op te halen?
Ik zou een groep_id erbij bouwen.
Dan kan je toch met een JOIN maken op de tabellen groepen en teksten.
Althans als je die tabel hebt.
Gewijzigd op 14/07/2013 11:12:16 door Bart V B
 
 - Diov  -

- Diov -

14/07/2013 11:15:48
Quote Anchor link
@Bart, ik snap niet meteen wat je bedoelt.
Kan je het wat nader verklaren aub? :)
 
Bart V B

Bart V B

14/07/2013 11:23:51
Quote Anchor link
Ik doe een poging. :)
Je zit ermee dat je niet weet hoe je je teksten bij de juiste groep weergeeft toch?

Ik zeg het tabel met teksten heb je.
Als je per groep je teksten wil weergeven dan zou je nog een tabel moeten maken met "groepen"
Bij de teksten zet je groep_id en dan kan je het tabel groepen en teksten aan elkaar knopen.
Dat doe je met een JOIN. Kijk eens hier: http://www.phptuts.nl/view/41/14/
 
 - Diov  -

- Diov -

14/07/2013 13:15:24
Quote Anchor link
Ja, dat begrijp ik.
In jouw voorbeeld is group_id, mijn web_id.

Maar, ik zou dit allemaal in 1 query willen doen, want ik begrijp nu niet hoe je alle teksten per groep ophaalt, en dan nog de juiste tekst in de juiste div plaatst.
 
 - Diov  -

- Diov -

21/07/2013 17:54:55
Quote Anchor link
Ik bump ff, want ik geraak er nog steeds niet uit.
Dus,
Ik heb verschillende teksten, kan deze oproepen per groep, maar deze tekst moet nu ook nog op de juiste plaats worden geplaatst.

Ik kan wel telkens een query doen, maar ik vraag me af of dit ook in 1 query kan? EN hoe doen jullie dit?
 
Eddy E

Eddy E

22/07/2013 09:41:01
Quote Anchor link
SELECT t.tekst_id, t.tekst_naam, t.tekst_inhoud, t.tekst_web AS groep_id
FROM tekst AS t
LEFT JOIN groepen AS g
ON t.web_id = g.id
ORDER BY groep_id ASC, t.tekst_id ASC



Je gebruikt dan tekst_web (int 2) als ID.
Die gebruik je als koppeling aan de tabel groepen waarin je een minimaal een kolom id hebt.
In je PHP kijk je dan steeds welke groep je momenteel zit. Als die niet hetzelfde is als de vorige keer (die sla je dus even tijdelijk op in een $tmp bijvoorbeeld), dan heb je een nieuwe groep.

Als je dit in code wilt zien, roep het even. Ik gebruik zoiets zelf ook op de homepage van www.zunflappie.nl voor de diverse categorieën.
 



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.