uitkomst fetch_assoc in afzonderlijke variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John van der Linden

John van der Linden

03/08/2010 11:32:28
Quote Anchor link
Hoe krijg ik het voor elkaar op de uitkomst van mysql_fetch_assoc($res)) in apparte variabelen te krijgen

In de query zijn dit altijd maximaal 3 waardes.....

dus nu krijg ik met echo bv :

test1
test2
test3

en ik zou graag willen krijgen :

$variabel1 = test1
$variabel2 = test2
$variabel3 = test3
 
PHP hulp

PHP hulp

26/04/2024 09:42:37
 
TJVB tvb

TJVB tvb

03/08/2010 11:40:29
Quote Anchor link
Wat is het probleem met een $variabele1 = i.p.v. een echo?
Oftewel, ik snap je vraag/probleem niet echt.
 
The Ultimate

The Ultimate

03/08/2010 11:58:21
Quote Anchor link
Kijk eens naar een foreach-loop:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach($result as $row){
 $variabel[] = $row['test'];
}

?>
 

03/08/2010 13:09:16
Quote Anchor link
Je moet geen afzonderlijke variabelen (dus strings) doen, maar gewoon arrays gebruiken.
Er zit geen logica in om het afzonderlijk te doen.
 
John van der Linden

John van der Linden

03/08/2010 15:46:44
Quote Anchor link
hoi, bedankt voor de suggesties zover, ik probeer het met een array te doen, maar kom er niet helemaal uit.....iemand verdere suggesties of een juiste syntax ?

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$festd1 = $row[0];
$festd2 = $row[1];
$festd2 = $row[2];
$festd2 = $row[3];
$festd2 = $row[4]; }
 
Aad B

Aad B

03/08/2010 15:50:30
Quote Anchor link
Waarom wil je het vanuit de array kopieren naar losse variabelen ? Dat is toch eigenlijk nooit nodig, zoals al eerder gezegd hier. Stel dat je meer records ophaalt, moet je dan festd1-festd99 klaarzetten ??
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
$sql
= "SELECT id as userid, fullname, userstatus
        FROM   sometable
        WHERE  userstatus = 1"
;

$result = mysql_query($sql);

while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

?>
Gewijzigd op 03/08/2010 15:53:06 door Aad B
 
John van der Linden

John van der Linden

03/08/2010 15:57:23
Quote Anchor link
Het doel is om de afzonderlijke waardes die ik uit de database ophaalt in variabelem te zetten, omdat deze weer verder een andere rol spelen.

concreet :

De gebruiker ziet een weekoverzicht voor hem. Afhankelijk van de week worden al dan niet feestdagen opgehaald uit de database.

Zo heb je in de kerstweek 2 feestdagen, laten we zeggen zaterdag en zondag :-(
Als ik deze twee dagen in een variabel krijgt, kunnen deze in de weekoverzicht er voor zorgen dat die dagen een bepaalde kleur krijgen.
 
John D

John D

03/08/2010 16:10:31
Quote Anchor link
Hoe je dit oplost hangt ook af van je datamodel, laat hier zien hoe je de feestdagen in een tabel hebt gemodelleerd. Wellicht is dan de query en het bijbehorende loopje dan snel gemaakt
 
Sebastiaan Blaas

Sebastiaan Blaas

03/08/2010 16:10:39
Quote Anchor link
en dat kan niet met een array ?
 
Johan Dam

Johan Dam

03/08/2010 16:16:16
Quote Anchor link
je kan het zo doen:
Dit maakt variabele $var_1, $var_2, enz aan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$i
= 1;
while ($row = mysql_fetch_assoc($result)) {
    ${"var_" . $i} = $row[0];
    $i ++;
}

?>

Maar het blijft onzinnig, alles wat je met een variabele kan, kan je ook met een array.
 
John D

John D

03/08/2010 16:21:37
Quote Anchor link
Het blijft giswerk totdat we weten hoe John vd Linden zijn feestdagen/kalender in de database heeft staan.
 
Joost B

Joost B

03/08/2010 17:41:57
Quote Anchor link
Je kan ook nog met extract werken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$iCount
= 1;
$rQuery = mysql_query('SELECT Name, Email FROM members');
while($aRow = mysql_fetch_assoc($rQuery)) {
    extract($aRow, EXTR_PREFIX_ALL, 'R'.$iCount);
    $iCount++;
}


print $R1_Name;
?>
Gewijzigd op 03/08/2010 17:42:16 door Joost B
 
John van der Linden

John van der Linden

03/08/2010 18:39:51
Quote Anchor link
bedankt voor alle suggesties zover, mijn datbase ziet er zo uit :
(en ja, ik weet, het kan makkelijker en beter)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
week dag       datum       feestdag
01   maandag   2010-01-01  1
01   dinsdag   2010-01-02  0
01   woensdag  2010-01-03  0

Ik maak een query op de week en op de feestdag kolom, daarna worden de dagen in een array gezet...die ik vervolgens graag in een variabel zou willen zien.

Volgens mij ziet de suggestie van Joost er wel goed uit in mijn geval !
Gewijzigd op 03/08/2010 18:40:53 door John van der Linden
 
B a s
Beheerder

B a s

03/08/2010 18:47:01
Quote Anchor link
Dus je wilt $maandag, $dinsdag, $woensdag?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

loop()
{

  // $maandag = maandag?
  ${$row['dag']} = $row['dag'];
}


?>


Of bedoel je

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$i
= 1;

loop()
{

  // variabele1 = maandag
  // variabele2 = dinsdag enz

  $variabele{$i} = $row['dag'];
  $i++;
}


?>
Gewijzigd op 03/08/2010 18:50:13 door B a s
 
Niek s

niek s

03/08/2010 20:09:10
Quote Anchor link
nja alles wat ik heb gezien is gewoon slecht
Arrays!
Je kan ook textuele keys hebben, als je dat wil!

Jezus..
 
John D

John D

04/08/2010 09:10:37
Quote Anchor link
@Bavaria: Niet alleen afbranden maar graag ook komen met een alternatief en "Je kan ook textuele keys hebben, als je dat wil" is natuurlijk niet genoeg voor newbees...
 
John van der Linden

John van der Linden

04/08/2010 12:11:21
Quote Anchor link
bedankt voor de zinvolle bijdrages ! Is gelukt !!
 



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.