ids omzetten in database waarde ofzoiets

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek s

niek s

01/07/2006 11:09:00
Quote Anchor link
Hi,
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
 
PHP hulp

PHP hulp

17/11/2024 08:55:37
 
Arjan Kapteijn

Arjan Kapteijn

01/07/2006 11:12:00
Quote Anchor link
$ids = explode(',',$waarde);

Dan heb je een array met id's.

Foreach($ids as $id)
{
$query = ... WHERE id = $id
}
 
Niek s

niek s

01/07/2006 11:21:00
Quote Anchor link
maar wat is $id dan?
 
Arjan Kapteijn

Arjan Kapteijn

01/07/2006 11:21:00
Quote Anchor link
1,5,2,7 of 4
 
Niek s

niek s

01/07/2006 11:30:00
Quote Anchor link
zo dus?:
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
<?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'];
     }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Arjan Kapteijn

Arjan Kapteijn

01/07/2006 11:51:00
Quote Anchor link
Probeer het eens.
 
Niek s

niek s

01/07/2006 11:52:00
Quote Anchor link
het enige wat ik uit dat script krijg zijn 4 komma's ( 4,3,2,1 zijn de ids, en ik zie alleen , , , , )

Weet iemand hoe ik dit moet oplossen?
 
Niek s

niek s

01/07/2006 11:54:00
Quote Anchor link
nadat ik een aantal foutjes eruit had gehaald ( zoals: mysql_error ipv mysql-error ) en ( mysql_query($q2) ipv mysql_query(q2) )
 
Arjan Kapteijn

Arjan Kapteijn

01/07/2006 12:01:00
Quote Anchor link
Doe in die foreach eens een echo $id.
 
Niek s

niek s

01/07/2006 12:42:00
Quote Anchor link
hhmzzzz het werkt al
de echo moest $row2['naam'] zijn, en niet $row['naam']

gewoon weer een typfoutje
 
Frank -

Frank -

01/07/2006 14:39:00
Quote Anchor link
Quote:
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?
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.

Zie ook de tutorials, daar staat er ook eentje over database normalisatie.
 



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.