database -> array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Bas Php

Bas Php

09/07/2009 16:51:00
Quote Anchor link
en als ik in de array gwn 2, 1 zet doet hij het wel:

zo wel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
array(2,1);
?>


zo niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
echo $rowr['vrienden']; // daar komt dan weer 2,1 uit
array($rowr['vienden']);
?>


Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Bas Php
 
PHP hulp

PHP hulp

22/12/2024 04:53:48
 
Roel -

Roel -

09/07/2009 17:55:00
Quote Anchor link
Gebruik hiervoor de while() functie.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
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.
 
Afra ca

Afra ca

09/07/2009 18:45:00
Quote Anchor link
@ Roel:

ik zou dit doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$array
= array();
while($rows = mysql_fetch_assoc($result)){
    $array[] = $rows['fieldname'];
}

?>
 
Jurgen assaasas

Jurgen assaasas

09/07/2009 19:08:00
Quote Anchor link
Waarom wil hem in een array hebben? Hij zit toch al in een array?
 
Hipska BE

Hipska BE

09/07/2009 20:26:00
Quote Anchor link
Volgens mij zitten er dingen als "2,1" in die database..

Dat is dus een verkeerd datamodel!

Wat jij met je array bijgevolg doet is simpel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

var_dump( array("2,1") );
// in plaats van
var_dump( array(2,1) );

?>


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..
 
Bas Php

Bas Php

09/07/2009 22:52:00
Quote Anchor link
even op alles reageren:

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)
PHP script in nieuw venster Selecteer het PHP script
1
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/>";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Bas Php
 
- SanThe -

- SanThe -

09/07/2009 23:00:00
Quote Anchor link
Wat staat er in $rowr['vrienden']?
 
Bas Php

Bas Php

09/07/2009 23:19:00
Quote Anchor link
$rowr['vrienden'] = 2,1
$row['id'] = 1
Gewijzigd op 01/01/1970 01:00:00 door Bas Php
 
Hipska BE

Hipska BE

09/07/2009 23:45:00
Quote Anchor link
In je database staat een string "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)
 
Bas Php

Bas Php

10/07/2009 00:03:00
Quote Anchor link
het staat niet als "2,1" ik de tabel het staat als 2,1 in de tabel
 
- SanThe -

- SanThe -

10/07/2009 00:18:00
Quote Anchor link
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).
 
Bas Php

Bas Php

10/07/2009 00:27:00
Quote Anchor link
en hoe krijg ik dat dan als getal(len)
en kipska wat is een koppeltabel??? kan het niet vinden op google
 
Pieter Jansen

Pieter Jansen

10/07/2009 00:35:00
Quote Anchor link
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.

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
 
Mr.Ark

Mr.Ark

10/07/2009 00:36:00
Quote Anchor link
Wat wil je nou precies bereiken? Volgens mij zit je veel te moeilijk te doen....
 
Bas Php

Bas Php

10/07/2009 00:50:00
Quote Anchor link
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
 
Hipska BE

Hipska BE

10/07/2009 10:09:00
Quote Anchor link
Zoals ik al dacht dus..

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
lid_id | vriend_id
     3 | 1
     3 | 2
     .....

Hier heeft lid nummer 3 de leden 1 en 2 als vriend.

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
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'];
     }
}


?>
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
 
Bas Php

Bas Php

10/07/2009 18:18:00
Quote Anchor link
ok :D tanx man
 

Pagina: « vorige 1 2



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.