/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
liste over variabler?
Fra : Jensen


Dato : 03-07-04 22:28

Hej, Jeg er semi-starter på php og kommet pænt langt med en lille
opgave. Nu er jeg så kommet på en tricky opgave.


Jeg har været inde i min mySQL tabel og suget nogle værdier ud som er
blevet smidt ind i en tabel og nogle radio-buttons er blevet trykket
af brugeren Efter submit er følgende resultat kommet ud:


......./side.php?Andersen=1&Rasummen=0&Petersen=1 etc.


Nogle personer i databasen er altså udstyret med en værdi (0,1 eller
2)



Problemet er bare at jeg kan ikke finde ud af hvordan jeg får
behandlet disse oplysninger. Det er jo dynamisk så jeg ved ikke hvad
for en variabel som eks Andersen = 1 ligger i.

Jeg kan ikke lige sådan sige Mysql_query("Update ..... ) da jeg ikke
kender varablens navn på forhånd


Kort sagt: Er der en kommando i php, hvor du kan få en liste over de
variabler som i øjeblikket er i brug?


Bare noget ala:
Array[0]=Andersen
Array[1]=1
Array[2]=Rasmussen, etc

Ville kunne give mig en chance for at lave en update i databasen.

 
 
Henrik Stidsen (03-07-2004)
Kommentar
Fra : Henrik Stidsen


Dato : 03-07-04 22:42

Jensen <MartinS@hotmail.com> wrote in
news:kp8ee0tlba896s7cnl17817lp9hv6ipd3c@4ax.com

> Kort sagt: Er der en kommando i php, hvor du kan få en liste
> over de variabler som i øjeblikket er i brug?

Hvis de kommer ind via URL'en ligesom i dit eksempel kan du kigge på
$_REQUEST[] arrayet.

--
Henrik Stidsen - http://hs235.dk/ - http://såkadulæredet.dk/
"Is everyone else in the world a moron, or is it just me?"
(Dilbert Newsletter)

Jensen (03-07-2004)
Kommentar
Fra : Jensen


Dato : 03-07-04 23:11

On 03 Jul 2004 21:42:28 GMT, Henrik Stidsen <nospamforme@hs235.dk>
wrote:

>Jensen <MartinS@hotmail.com> wrote in
>news:kp8ee0tlba896s7cnl17817lp9hv6ipd3c@4ax.com
>
>> Kort sagt: Er der en kommando i php, hvor du kan få en liste
>> over de variabler som i øjeblikket er i brug?
>
>Hvis de kommer ind via URL'en ligesom i dit eksempel kan du kigge på
>$_REQUEST[] arrayet.

Jah, problemet er ja. Jeg giver lige lidt kode:


-------------

$resultat14 = mysql_query("SELECT rundeliste.Person, runde3.afkryds
FROM rundeliste LEFT OUTER JOIN runde3 ON (rundeliste.Person =
runde3.person)");

while ($row14 = mysql_fetch_array($resultat14)){

echo "<td>$row14[0]</td><td><input type = 'radio' name ='$row14[0]'
value = '0' ></td>";
echo "<td><input type = 'radio' name ='$row14[0]' value = '1'
></td>";
echo "<td><input type = 'radio' name ='$row14[0]' value = '2'
></td></tr>";

}
echo "<tr><td><input type = 'submit' name = 'status' value
='set_status'></tr></td>";
echo "</form>";
echo "</table>";

--------------
Resultatet bliver i pirncipeet som jeg vil have det. Jeg får en liste
på 8 personer.

Option1 Option2 Option3

Andersen O O O
Rasmussen O O O


en send giver mig så /side.php?Andersen=1&Rasmussen=2 eks.


Jeg ville nu gerne have været inde op update deres oplysninger men det
er svært med variablerne:
Andersen=1
Rasmussen=2

For hvordan skal jeg tilgå dette. Det er dynamisk så "$Andersen" kan
ikke bruges.

Reelt set er det jo min while løkke der gør det, kan jeg jo godt se,
men det ville være rart om man på nuværende tidspunkt havde et array
hvor man kunne læse variablern fra. Det synes jeg ikke jeg kan med en
$_request(). For hvad er det som jeg kan sætte indenfor klammerne?

Er mine problemer forstået? :o





Henrik Stidsen (04-07-2004)
Kommentar
Fra : Henrik Stidsen


Dato : 04-07-04 00:02

Jensen <MartinS@hotmail.com> wrote in
news:hmbee05o9sth1pk5jucop46130edjun4a6@4ax.com

> Reelt set er det jo min while løkke der gør det, kan jeg jo godt
> se, men det ville være rart om man på nuværende tidspunkt havde
> et array hvor man kunne læse variablern fra. Det synes jeg ikke
> jeg kan med en $_request(). For hvad er det som jeg kan sætte
> indenfor klammerne?

Prøv at lave:

<pre>
<?php print_r($_REQUEST[]); ?>
</pre>

Det giver et godt billede af hvordan arrayet er opbygget.

--
Henrik Stidsen - http://hs235.dk/ - http://såkadulæredet.dk/
"Is everyone else in the world a moron, or is it just me?"
(Dilbert Newsletter)

Peter Brodersen (04-07-2004)
Kommentar
Fra : Peter Brodersen


Dato : 04-07-04 02:28

On 03 Jul 2004 23:02:18 GMT, Henrik Stidsen <nospamforme@hs235.dk>
wrote:

><?php print_r($_REQUEST[]); ?>

Mener du ikke:
   <?php print_r($_REQUEST); ?>
...?

Det andet giver ikke nogen mening.

--
- Peter Brodersen

Ugens sprogtip: én (og ikke een)

Henrik Stidsen (04-07-2004)
Kommentar
Fra : Henrik Stidsen


Dato : 04-07-04 11:49

Peter Brodersen <usenet@ter.dk> wrote in
news:cc7mfs$hdt$1@katie.ellegaard.dk

>><?php print_r($_REQUEST[]); ?>
>
> Mener du ikke:
> <?php print_r($_REQUEST); ?>
> ..?
>

Jo, selvfølgelig - min fejl.

--
Henrik Stidsen - http://hs235.dk/ - http://såkadulæredet.dk/
"Is everyone else in the world a moron, or is it just me?"
(Dilbert Newsletter)

Kasper Garnæs (04-07-2004)
Kommentar
Fra : Kasper Garnæs


Dato : 04-07-04 10:02

On [GMT+1=CET], Jensen <MartinS@hotmail.com> wrote:

[snip]

> en send giver mig så /side.php?Andersen=1&Rasmussen=2 eks.
>
>
> Jeg ville nu gerne have været inde op update deres oplysninger men det
> er svært med variablerne:
> Andersen=1
> Rasmussen=2
>
> For hvordan skal jeg tilgå dette. Det er dynamisk så "$Andersen" kan
> ikke bruges.
>
> Reelt set er det jo min while løkke der gør det, kan jeg jo godt se,
> men det ville være rart om man på nuværende tidspunkt havde et array
> hvor man kunne læse variablern fra. Det synes jeg ikke jeg kan med en
> $_request(). For hvad er det som jeg kan sætte indenfor klammerne?
>
> Er mine problemer forstået? :o

Bedøm selv :).

Du kunne i ovenstående tilfælde bruge
array_keys(http://dk2.php.net/manual/en/function.array-keys.php) og så loope
igennem resultatet. Det kunne se nogenlunde sådan ud:

$keys = array_keys($_REQUEST);
//$keys ~= array { 0 => "Andersen", 1 => "Rasmussen"}
foreach ($keys as $key) {
$value = $_REQUEST[$key];

//do something
}

Der er dog mulighed for at der også er værdier i dit $_REQUEST-array som
ikke er navne - fx. 2 => "submit" e.l. Det kunne du løse ved at lave et
prefix på hver af dine navne og sortere de keys fra, som ikke indeholder
prefixet.

--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk



Tommy Ipsen (04-07-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 04-07-04 20:08

Kasper Garnæs wrote:
> Du kunne i ovenstående tilfælde bruge
> array_keys(http://dk2.php.net/manual/en/function.array-keys.php) og så loope
> igennem resultatet. Det kunne se nogenlunde sådan ud:
>
> $keys = array_keys($_REQUEST);
> //$keys ~= array { 0 => "Andersen", 1 => "Rasmussen"}
> foreach ($keys as $key) {
> $value = $_REQUEST[$key];
>
> //do something
> }

Det ville måske være mere oplagt med:

foreach ($_REQUEST as $key => $val) {
echo 'Key: ' . $key . '<br />';
echo 'Val: ' . $val . '<br />';
}

Kasper Garnæs (05-07-2004)
Kommentar
Fra : Kasper Garnæs


Dato : 05-07-04 09:39

On [GMT+1=CET], Tommy Ipsen <tipsen@imada.sdu.dk> wrote:

> Kasper Garnæs wrote:

[snip]

>> $keys = array_keys($_REQUEST);
>> //$keys ~= array { 0 => "Andersen", 1 => "Rasmussen"}
>> foreach ($keys as $key) {
>> $value = $_REQUEST[$key];
>>
>> //do something
>> }
>
> Det ville måske være mere oplagt med:
>
> foreach ($_REQUEST as $key => $val) {
> echo 'Key: ' . $key . '<br />';
> echo 'Val: ' . $val . '<br />';
> }

Det har du fuldkommen ret i :).

--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk



Jensen (15-07-2004)
Kommentar
Fra : Jensen


Dato : 15-07-04 07:53

On Sun, 4 Jul 2004 11:01:43 +0200, "Kasper Garnæs"
<svar.i@gruppen.tak> wrote:

>O
>
>Bedøm selv :).
>
>Du kunne i ovenstående tilfælde bruge
>array_keys(http://dk2.php.net/manual/en/function.array-keys.php) og så loope
>igennem resultatet. Det kunne se nogenlunde sådan ud:
>
>$keys = array_keys($_REQUEST);
>//$keys ~= array { 0 => "Andersen", 1 => "Rasmussen"}
>foreach ($keys as $key) {
> $value = $_REQUEST[$key];
>
> //do something
>}
Dette var en perfekt løsning. Mange tak.

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste