ids omzetten in database waarde ofzoiets
Ik zit met een probleem, ik heb zelf al geprobeerd maar ik kom er dus egt NIET uit...
Weet iemand hoe ik dit meot oplossen?:
Ik heb een tabel met gebruikers, daarin word in een row een aantal id's opgeslagen. Die id's zijn de id's van dingen in een andere tabel.
Het idee erachter is dat een gebruik voorwerpen heeft, en in de database word bijgehouden welke voorwerpen, allen in de database staat ze opgeslagen als id. Maar omdat het nogal lastig is voor een gebruiker om het als id te lezen, moet het omgezet worden naar een naam die in een andere tabel staat.
In de tabel met gebruikers worden ze zo opgeslagen:
1,5,2,7,4 bijvoorbeeld
Nu is dus mijn vraag:
Hoe kan ik voor iedere id ( dus in dit geval deze id's: 1,5,2,7,4 ) de naam opzoeken? terwijl ze geschijden zijn door een komma? en dat dan die naam op het sgerm komt?
MvG,
Niek
Dan heb je een array met id's.
Foreach($ids as $id)
{
$query = ... WHERE id = $id
}
maar wat is $id dan?
1,5,2,7 of 4
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$q1 = "SELECT naam,shop FROM game_members WHERE naam = '".$_SESSION['naam']."'";
$r1 = mysql_query($q1) or die(mysql_error());
while ($row1 = mysql_fetch_array($r1)) {
$id = $row1['shop'];
}
$ids = explode(",",$id);
Foreach($ids as $id) {
$q2 = "SELECT id,naam FROM game_shop WHERE id = '".$id."'";
$r2 = mysql_query($q2) or die(mysq_-error());
while ($row2 = mysql_fetch_array($r2)) {
echo ",".$row['naam'];
}
}
?>
$q1 = "SELECT naam,shop FROM game_members WHERE naam = '".$_SESSION['naam']."'";
$r1 = mysql_query($q1) or die(mysql_error());
while ($row1 = mysql_fetch_array($r1)) {
$id = $row1['shop'];
}
$ids = explode(",",$id);
Foreach($ids as $id) {
$q2 = "SELECT id,naam FROM game_shop WHERE id = '".$id."'";
$r2 = mysql_query($q2) or die(mysq_-error());
while ($row2 = mysql_fetch_array($r2)) {
echo ",".$row['naam'];
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door niek s
Probeer het eens.
Weet iemand hoe ik dit moet oplossen?
nadat ik een aantal foutjes eruit had gehaald ( zoals: mysql_error ipv mysql-error ) en ( mysql_query($q2) ipv mysql_query(q2) )
Doe in die foreach eens een echo $id.
de echo moest $row2['naam'] zijn, en niet $row['naam']
gewoon weer een typfoutje
Quote:
Normalisatie is het toverwoord. Meerdere gegevens, de verschillende id's, sla je nooit en te nimmer op in 1 record. Ieder gegeven komt in zijn eigen record.Hoe kan ik voor iedere id ( dus in dit geval deze id's: 1,5,2,7,4 ) de naam opzoeken? terwijl ze geschijden zijn door een komma?
Zie ook de tutorials, daar staat er ook eentje over database normalisatie.