/ 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
Hvad mon der er galt her ?
Fra : -Martin-


Dato : 24-03-02 22:16

Jeg har en form med X antal felter i, hvor jeg ikke ved hvor mange der
er selvfølgelig :)

Så derfor så printer jeg dem ud med
<input type='text' name='t".$id."' value='".$value."'>

$id og $value for den fra en tabel i mySQL

Og dvs at

t1 = Olebole

MEN så ska jeg opdatere tabellen igen og gør således

for($i=1;$i<=$tal;$i++) {
$value = "t".$i;
$v = "$".$value;
$updater = "UPDATE config SET value='".$v."' WHERE id = '$i'";
mysql_query($updater) OR DIE (mysql_error());
}

MEN så i tabellen i mySQL skriver den value som $t1, og ikke "Olebole"
som den burde!

Er der en der har en løsning på HVORFOR den gør sådan?

 
 
Jonas Delfs (24-03-2002)
Kommentar
Fra : Jonas Delfs


Dato : 24-03-02 22:51

"-Martin-" <admin@natten-i.dk> skrev i en meddelelse
news:9hgs9u4296ktkhq33t2logg3866v3jg9vn@4ax.com...
[snip]
> MEN så ska jeg opdatere tabellen igen og gør således
>
> for($i=1;$i<=$tal;$i++) {
> $value = "t".$i;
> $v = "$".$value;
> $updater = "UPDATE config SET value='".$v."' WHERE id = '$i'";
> mysql_query($updater) OR DIE (mysql_error());
> }
>
> MEN så i tabellen i mySQL skriver den value som $t1, og ikke "Olebole"
> som den burde!

Uden at have kigget særligt grundigt på din kode ser det ud som om det er
linien "$v = ..." inden i for-løkken den er gal med.
Prøv med:
$v = ${$value};

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



-Martin- (25-03-2002)
Kommentar
Fra : -Martin-


Dato : 25-03-02 00:03

On Sun, 24 Mar 2002 22:50:32 +0100, "Jonas Delfs"
<jonas@NOSPAMdelfs.dk> wrote:

>"-Martin-" <admin@natten-i.dk> skrev i en meddelelse
>news:9hgs9u4296ktkhq33t2logg3866v3jg9vn@4ax.com...
>[snip]
>> MEN så ska jeg opdatere tabellen igen og gør således
>>
>> for($i=1;$i<=$tal;$i++) {
>> $value = "t".$i;
>> $v = "$".$value;
>> $updater = "UPDATE config SET value='".$v."' WHERE id = '$i'";
>> mysql_query($updater) OR DIE (mysql_error());
>> }
>>
>> MEN så i tabellen i mySQL skriver den value som $t1, og ikke "Olebole"
>> som den burde!
>
>Uden at have kigget særligt grundigt på din kode ser det ud som om det er
>linien "$v = ..." inden i for-løkken den er gal med.
>Prøv med:
>$v = ${$value};

Nu fik jeg den til at virke

(derfor jeg skulle have $HTTP_POST_VARS koden) kig længere oppe i
nyhedsgruppen)

Koden blev til:

for($i=1;$i<=$tal;$i++) {
$value = "t".$i;
$updater = "UPDATE config SET value='$HTTP_POST_VARS[$value]' WHERE
id = '$i'";
mysql_query($updater) OR DIE (mysql_error());
}

Andreas Kleist Svend~ (25-03-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 25-03-02 01:00

-Martin- wrote:

> $v = "$".$value;

Det er her det går galt, $v = "$".$value; betyder, $v tildeles strengen "$"
sat sammen med værdien af $value, i modsætning til $v = $$value; der
betyder $v tildeles værdien af variablen der hedder værdien af $value. (Det
blev kryptisk, men pointen er at nedenstående gør hvad du ville have gjort
med ovenstående.

$v = $$value;

--
mvh Andreas Kleist Svendsen

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste