database -> array
en als ik in de array gwn 2, 1 zet doet hij het wel:
Ik weet niet zeker of dit werkt, kijk maar even wat je ermee doet. Gebruik hiervoor de while() functie.
ik zou dit doen:
@ Roel:
Dat is dus een verkeerd datamodel!
Wat jij met je array bijgevolg doet is simpel:
Logisch dat het dan niet werkt...
Neem even een tutorial van normaliseren door, daar zal je zien dat je nooit gecombineerde gegevens met een komma hoort op te slaan.. Volgens mij zitten er dingen als "2,1" in die database..
het staat al in een while en dat werkt niet
en die manier van afra werkt ook nietr
en nee jurgen het zit nog niet in een array
en dat van hipska snap ik niet helemaal
even ter update zo ziet de code eruit:
even op alles reageren:
$row['id'] = 1 $rowr['vrienden'] = 2,1
Dit zal dus nooit werken want "2,1" is niet gelijk aan 2,1
Zoals ik al zei, zitten je gegevens verkeerd in de database
Wat jij nodig hebt is een koppeltabel (google) of leer eens wat over normaliseren (google) In je database staat een string "2,1"
Dat komt op hetzelfde neer. Het is een string en geen getal(len).
en kipska wat is een koppeltabel??? kan het niet vinden op google en hoe krijg ik dat dan als getal(len)
Maar beter neem je dus een koppeltabel. Een koppeltabel is een tabel die een koppeling vormt tussen 2 tabellen. Als je een waarde 1 hebt, maar ook een waarde 2, en die horen samen, maak je een tabel waar 2 velden in komen met elk de waarde van de 2 tabellen die je wil koppelen.
Wellicht erg simplistisch uitgelegd, maar daar komt het op neer. Maar beter ga je dus even normaliseren want volgens mij klopt je datamodel niet.
Google is je vriend, niet je vijand Ze willen zeggen dat je database model niet klopt. Het wordt opgeslagen als string ( plain text ) en je moet het opslaan als INT ( nummers) Maar omdat je komma`s erin hebt zitten, moet dit een double worden.
Je hebt nu al een tabel leden met hun gegevens en een ID veronderstel ik.
Daarnaast heb je dus een extra tabel nodig om leden aan elkaar te linken (koppel tabel dus)
Dit kan heel simpel met 2 veldjes:
Hier heeft lid nummer 3 de leden 1 en 2 als vriend.
Zoals ik al dacht dus..
Code (php)
1
2
3
4
5
2
3
4
5
<?php
while($rowr = mysql_fetch_assoc($sql)) {
$array = Array($rowr['vrienden']); // Een item aan de array toevoegen
}
?>
while($rowr = mysql_fetch_assoc($sql)) {
$array = Array($rowr['vrienden']); // Een item aan de array toevoegen
}
?>
Ik weet niet zeker of dit werkt, kijk maar even wat je ermee doet.
ik zou dit doen:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$array = array();
while($rows = mysql_fetch_assoc($result)){
$array[] = $rows['fieldname'];
}
?>
$array = array();
while($rows = mysql_fetch_assoc($result)){
$array[] = $rows['fieldname'];
}
?>
Waarom wil hem in een array hebben? Hij zit toch al in een array?
Dat is dus een verkeerd datamodel!
Wat jij met je array bijgevolg doet is simpel:
Logisch dat het dan niet werkt...
Neem even een tutorial van normaliseren door, daar zal je zien dat je nooit gecombineerde gegevens met een komma hoort op te slaan..
het staat al in een while en dat werkt niet
en die manier van afra werkt ook nietr
en nee jurgen het zit nog niet in een array
en dat van hipska snap ik niet helemaal
even ter update zo ziet de code eruit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$result = mysql_query("SELECT vrienden FROM gebruikers WHERE id = ".$_SESSION['user_id']."") OR DIE(mysql_error());
$vriendenarray = array();
while($rowr = mysql_fetch_assoc($result)){
$vriendenarray = array($rowr['vrienden']);
}echo $row['id']; print_r($vriendenarray);
if(in_array($row['id'], $vriendenarray)){
echo "<a href='add.php?dfriend=".$row['id']."'>Verwijder ".$row['naam2']." van je vrienden lijst</a><br/>";
}
else{
echo "<a href='add.php?friend=".$row['id']."'>Voeg ".$row['naam2']." toe aan je vrienden lijst</a><br/>";
}
?>
$result = mysql_query("SELECT vrienden FROM gebruikers WHERE id = ".$_SESSION['user_id']."") OR DIE(mysql_error());
$vriendenarray = array();
while($rowr = mysql_fetch_assoc($result)){
$vriendenarray = array($rowr['vrienden']);
}echo $row['id']; print_r($vriendenarray);
if(in_array($row['id'], $vriendenarray)){
echo "<a href='add.php?dfriend=".$row['id']."'>Verwijder ".$row['naam2']." van je vrienden lijst</a><br/>";
}
else{
echo "<a href='add.php?friend=".$row['id']."'>Voeg ".$row['naam2']." toe aan je vrienden lijst</a><br/>";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Bas Php
Wat staat er in $rowr['vrienden']?
$row['id'] = 1
Gewijzigd op 01/01/1970 01:00:00 door Bas Php
Dit zal dus nooit werken want "2,1" is niet gelijk aan 2,1
Zoals ik al zei, zitten je gegevens verkeerd in de database
Wat jij nodig hebt is een koppeltabel (google) of leer eens wat over normaliseren (google)
het staat niet als "2,1" ik de tabel het staat als 2,1 in de tabel
Bas schreef op 10.07.2009 00:03:
het staat niet als "2,1" ik de tabel het staat als 2,1 in de tabel
Dat komt op hetzelfde neer. Het is een string en geen getal(len).
en kipska wat is een koppeltabel??? kan het niet vinden op google
Maar beter neem je dus een koppeltabel. Een koppeltabel is een tabel die een koppeling vormt tussen 2 tabellen. Als je een waarde 1 hebt, maar ook een waarde 2, en die horen samen, maak je een tabel waar 2 velden in komen met elk de waarde van de 2 tabellen die je wil koppelen.
Wellicht erg simplistisch uitgelegd, maar daar komt het op neer. Maar beter ga je dus even normaliseren want volgens mij klopt je datamodel niet.
Google is je vriend, niet je vijand
Wat wil je nou precies bereiken? Volgens mij zit je veel te moeilijk te doen....
ik wil dus dat hij de gegevens VRIENDEN uit de tabel haalt van de gebruiker die online is($_SESSION['user_id']) en dan controleert of bijvoorbeeld 1 tussen die VRIENDEN staat en in dit geval(waar we het nu over hebben) wel
Je hebt nu al een tabel leden met hun gegevens en een ID veronderstel ik.
Daarnaast heb je dus een extra tabel nodig om leden aan elkaar te linken (koppel tabel dus)
Dit kan heel simpel met 2 veldjes:
Hier heeft lid nummer 3 de leden 1 en 2 als vriend.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?PHP
/* Errors */
error_reporting(E_ALL);
$Query =
"
SELECT
vriend_id
FROM
vrienden
WHERE
lid_id = ".intval($_SESSION['user_id'])."
";
/* Result */
$Result = mysql_query($Query);
/* Kijken of query is gelukt */
if(!$Result)
{
/* Oeps foutje met query */
}
else
{
/* Vrienden fetchen */
$vrienden = array();
while($Row = mysql_fetch_assoc($Result))
{
$vrienden[] = $Row['vriend_id'];
}
}
?>
/* Errors */
error_reporting(E_ALL);
$Query =
"
SELECT
vriend_id
FROM
vrienden
WHERE
lid_id = ".intval($_SESSION['user_id'])."
";
/* Result */
$Result = mysql_query($Query);
/* Kijken of query is gelukt */
if(!$Result)
{
/* Oeps foutje met query */
}
else
{
/* Vrienden fetchen */
$vrienden = array();
while($Row = mysql_fetch_assoc($Result))
{
$vrienden[] = $Row['vriend_id'];
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
ok :D tanx man