[php] mysql_fetch_array variabelen in variabelen plaatsen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ik heb een vraag over hoe ik gegevens uit een record toewijs aan een variabele. Normaal gesproken doe ik dat op de volgende manier:

PHP:
1
2
3
4
$query = "select bla, bla from bla where bla = bla";
$result = mysql_query($query);
$recordSet = mysql_fetch_array($result);
$naam_variabele = $recordSet["gegeven_uit_record"];


Omdat ik nu in een situatie zit waarin ik zeer veel gegevens uit een record in variabelen moet plaatsen wil ik het op een andere manier doen. E.e.a. heb ik al gevonden hier op het forum, namelijk:

PHP:
1
2
3
4
5
6
7
$query = "select bla, bla from bla where bla = bla";
$result = mysql_query($query);
if(mysql_num_rows($result)) { 
    while($array = mysql_fetch_array($result)){ 
        print_r($array); 
    } 
}


Wat ik hiermee probeer te bereiken is het volgende: de naam van de variabele waarin de gegevens moeten worden opgeslagen mag dezelfde naam zijn als die van de kolomnaam uit het record. Daarin moet dan de waarde komen die bij de betreffende kolom hoort. Ik denk dan zelf aan bijvoorbeeld zoiets:

$.print_r(array) = print_r($array);
(wat dan zoiets betekent: naam van de kolom = waarde van de kolom, maar deze sintax klopt natuurlijk van geen kanten)

Om goed op google te kunnen zoeken heb ik trefwoorden nodig, maar ik kan niet echt bedenken op welke trefwoorden ik moet zoeken om aan een oplossing voor dit probleem te komen.

M.a.w. weet iemand trefwoorden waarmee ik verder kan gaan zoeken of heeft iemand een tip voor mijn probleem?

Alvast bedankt! :)

Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 20:52
foreach($array as $key => $value) $$key = $value;

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kun je misschien even uitleggen wat je hiermee bedoelt?

Acties:
  • 0 Henk 'm!

  • DR
  • Registratie: December 2000
  • Niet online

DR

mjax schreef op 02 juni 2004 @ 22:20:
foreach($array as $key => $value) $$key = $value;
extract

Acties:
  • 0 Henk 'm!

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 17-09 13:27
Verwijderd schreef op 02 juni 2004 @ 22:18:
....
PHP:
1
2
3
4
$query = "select bla, bla from bla where bla = bla";
$result = mysql_query($query);
$recordSet = mysql_fetch_array($result);
$naam_variabele = $recordSet["gegeven_uit_record"];


...
PHP:
1
2
3
4
5
6
7
$query = "select bla, bla from bla where bla = bla";
$result = mysql_query($query);
if(mysql_num_rows($result)) { 
    while($array = mysql_fetch_array($result)){ 
        print_r($array); 
    } 
}
Ik zelf gebruik meestal ook foreach, maar voor suffe dingen die ik even snel in elkaar flans vind ik het volgende wel handig:
PHP:
1
2
3
$query = "SELECT enetabel,anderetabel FROM mijntabelletjes WHERE ID=1";
$antwoord = mysql_query($query);
list($enetabel,$anderetabel) = mysql_fetch_array($antwoord);

Voordeel van foreach blijft dat het iets gemakkelijker werkt bij grote getalen waar je duizelig van wordt als je ze in lists bij moet houden. (het is dus geautomatiseerder en afgericht op je query), maar als ik even snel wat eruit moet vissen, gebruik ik die list.

EDIT:
Je kan die list ook toepassen op:
PHP:
1
2
3
4
5
6
7
8
9
10
<?php
print("<table>");
while(list($enetabel,$anderetabel)=mysql_fetch_array($antwoord)) {
?><tr>
<td><?php echo $enetabel; ?></td>
<td><?php echo $anderetabel; ?></td>
</tr><?php
}
print("</table>");
?>

maar strak/netjes is het niet, of het moet een hele lichte query zijn.

[ Voor 23% gewijzigd door LinuX-TUX op 02-06-2004 22:38 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nou, ik ben er uit hoor! Bedankt allen voor de tips.

Dit is mijn uiteindelijke scriptje geworden

[php]
$query="Select bla, bla from bla where bla= bla;
$result=mysql_query($query);
$arr = mysql_fetch_array($result);

foreach ($arr as $key => $value) {
$$key = $value;
}
[\php]

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 02 juni 2004 @ 22:50:
(..)
foreach ($arr as $key => $value) {
$$key = $value;
}
[\php]
$$key = $value ?

Die snap ik niet, waarom wil je die $key gelijk stellen aan $value?

Of doet die dubbele $ nog wat leuks?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 02 juni 2004 @ 23:15:
[...]


$$key = $value ?

Die snap ik niet, waarom wil je die $key gelijk stellen aan $value?

Of doet die dubbele $ nog wat leuks?
dat zijn variabele variabelen.

Het is trouwens jammer dat iedereen hier over de reply van Corrado heenleest, want extract() is hier gewoon voor bedoeld.

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 02 juni 2004 @ 23:15:
[...]


$$key = $value ?

Die snap ik niet, waarom wil je die $key gelijk stellen aan $value?

Of doet die dubbele $ nog wat leuks?
Ja die doet wel wat leuks ja. Ik hoef nu in mijn form alleen maar bij de elementen value=".$naam_variabele." in te vullen en voila...daar staat de waarde in een inputelement

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Ja leuk, gaan we weer een stap terug in de veiligheid van php applicaties, en dat alleen maar omdat mensen te lui zijn om hun script uit te schrijven.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dit heeft niets met veiligheid te maken; het gaat er om dat ik waardes uit mijn opgevraagde record kan plaatsen in inputvelden
Pagina: 1