Hallo PHP'ers,

Ik ben nieuw tot dit gedeelte dus hierbij mijn vraag:

In mijn cel in de database heb ik bijvoorbeeld: 6,8,12,48

Dit zijn ID's waarvan de waarde in een andere tabel staat.

Als ik dit nu uitlees via een while dan krijg ik als output: 6,8,12,48.

Hoe kan ik nou makkelijk deze ID's omzetten naar de waarde uit een andere tabel? En heeft iemand daar een voorbeeld van?

Alvast bedankt.
Ik loop dus vast op die foreach. Ik heb al geprobeerd om het te Googlen maar ik kom er niet uit of ik zoek niet naar het juiste.
<?php
$var = '6,8,12,48';
$array = explode(',', $var);
foreach($array as $waarde)
{
// doe iets met die $waarde
echo $waarde . '<br/>';
}
?>
Aha en in die foreach ga je kijken welke waarde die ID heeft? Dit is wat ik moest hebben...Bedankt SanThe.
En dan ga je dus 4 query's uitvoeren om die uit die andere tabel de waarde van dat ID op te halen. In een database horen reeksen niet in een kolom te staan maar in rijen.
Maar goed als TS denkt dat ie zo goed bezig is, moet ie vooral zo doorgaan.
- SanThe - op 18/09/2012 16:30:05

Je database is niet netjes ingericht.

http://www.phphulp.nl/php/tutorial/overig/normaliseren/150/



Helemaal met Ger van Steenderen eens: je database is gewoon fout.
In plaats van 1 record met 5 cijfers op te slaan moet je gewoon 5 records voor 5 cijfers krijgen.
En dat doe je in een extra (derde) tabel.
Hmm, ik denk dat ik het fout heb uitgelegd;

ID- Vacture titel - Websites
312 - titel1 - 3,7,8,9
313 - titel2 - 3,7,8,9
314 - titel3 - 3,7,8,9

Website tabel
id - website
3 - google
7 - phphulp
8 - firefox.nl
9 - vliegen.php

EDIT:
Die getallen worden gekozen via een formulier wanneer ik een vacature aanmaak. Maar ik zou dus eigenlijk een aparte tabel moeten maken met 4 inserts van die 4 getallen met een link naar id van vacatures?

Ik snap dat je normaal moet normaliseren, maar voor 2 paginas hou ik het gewoon lekker simpel, of niet?
Als je normaliseert zal het in ieder geval niet negatief uitpakken, dus inderdaad een derde tabel erbij, dan kan je gelijk in 1 query de waardes mee ophalen
Bv de tabel vacature_websites met twee kolommen vacature_id en website_id en dan:

SELECT
	v.id, 
	v.titel,
	w.website
FROM
	vacatures AS v
JOIN
	vacature_websites AS vw
	ON v.id = vw.vacature_id
JOIN
	websites AS w
	ON vw.website_id = w.id
Ik ben het met Ger eens, ik zou gaan voor 3 tabellen
- vacatures
- sites
- vacature/site koppeltabel

Dan kun je je database een stuk ontzien en kan alles met 1 query.
Het is gelukt, heb het nu via een foreach gedaan. Ik ga voortaan eerder rekening houden met het normaliseren van de database, maakt dingen wel veel gemakkelijker! Bedankt PHP'ers.

Reageren