Kaare Skrevet 5. november 2003 Del Skrevet 5. november 2003 Hei! Jeg har et problem, Jeg har laget en side som spytter ut en hau med variabler. $var1 $var2 $var3 $var4 osv Og nå skal jeg få mysql til å lagre innholdet i variablene. Slik trodde jeg det ville fungere: while ($num <= '15') { $vare = "vare" . $num; if (!isset($vare)) { break; } else{ $result = mysql_query("insert into database SET vare = '$vare'"); } $num++ } Men denne koden vil bare lagre "vare1, vare2, vare3" osv i databasen... ikke innholdet. Jeg har også prøvd $$vare i mysql setningen (ikke veit jeg hva $$ betyr) men jeg har altså prøvd, og da ble det bare lagret "$vare1, $vare2, $vare3" osv. Noen tips til emnet? Lenke til kommentar
Torbjørn Skrevet 5. november 2003 Del Skrevet 5. november 2003 Forstår det slik at du henter ut en bunch med variable fra en side, i varierende antall? Hvis du navngir alle dine <input> felt som en php array, eks: <input name="var[]"> Så kan du siden hente ut en php array, $var, som vil inneholde alle elementene. Merk at dette er en egenskap ved php, og ikke HTTP Lenke til kommentar
Kaare Skrevet 5. november 2003 Forfatter Del Skrevet 5. november 2003 Hei! Takk for at du svarte så fort. jeg har prøvd å bruke array før også, men får det ikke til å fungere slik jeg vil. Er det slik du mener jeg skal gjøre det? $myArray = array("$var"); $result = mysql_query("insert into datebase SET vare = '$myArray'"); Forstår det slik at du henter ut en bunch med variable fra en side, i varierende antall? Ja, det stemmer. Så vil det fungere å legge kode snutten i en while løkke? vil da $myarray hoppe fra [1] til [2] osv av seg selv? Jeg har prøvd å lese litt om arrays på php.com uten å bli noe klokere på problemet mitt. Lenke til kommentar
_Wolfman_ Skrevet 5. november 2003 Del Skrevet 5. november 2003 Tipset vil være å lese litt på SQL http://sqlcourse.com/insert.html Som du ser stemmer ikke SQL koden din, SET brukes ikke sammen med INSERT Lenke til kommentar
Torbjørn Skrevet 5. november 2003 Del Skrevet 5. november 2003 feil! SET brukes i INSERT (og UPDATE, og REPLACE og alt som har med setting av verdier i en tabell å gjøre). http://www.mysql.com/doc/en/INSERT.html Kaare: $var er din array, php lager den fordi den skjønner av navnsettingen (med []) at du ønsker en liste av dette. prøv med: <pre> <?php print_r($var); ?> </pre> Mulig du må sette $var = $_POST['var'] først; Lenke til kommentar
_Wolfman_ Skrevet 5. november 2003 Del Skrevet 5. november 2003 Min feil. Mysql støtter tydlig litt mer en plain ansi sql. Lenke til kommentar
Neo Skrevet 6. november 2003 Del Skrevet 6. november 2003 Tror jeg skjønner problemet her. Vil dette løse problemet kanskje? : [code] while ($num <= '15') { $temp = "vare" . $num; $vare = $$temp; #denne her burde fikse det if (!isset($vare)) { break; } else{ $result = mysql_query("insert into database SET vare = '$vare'"); } $num++ } [/code] Lenke til kommentar
Torbjørn Skrevet 6. november 2003 Del Skrevet 6. november 2003 Idet du setter verdien av variabelen $vare, så vil den vel være satt uansett om den har innhold eller ikke, slik at isset($vare) alltid blir sann? Jeg vil anbefale deg å se på var[] løsningen, altså å navngi <input> felt som en array og samle opp verdiene av denne automatisk i php scriptet Lenke til kommentar
Neo Skrevet 6. november 2003 Del Skrevet 6. november 2003 Idet du setter verdien av variabelen $vare, så vil den vel være satt uansett om den har innhold eller ikke, slik at isset($vare) alltid blir sann? Ok. En liten justering må til: bytt ut : if (!isset($vare)) med if($vare) så skal det funke. Har gjort slik før Lenke til kommentar
Torbjørn Skrevet 6. november 2003 Del Skrevet 6. november 2003 Merk at nå vil du ikke lengre kunne legge inn tomme verdier eller tallet 0 Lenke til kommentar
Kaare Skrevet 10. november 2003 Forfatter Del Skrevet 10. november 2003 Hei! Her har det skjedd ting. Har vært borte i helga, så har desverre ikke fått svart før. Neo har skjønt problemet, og tipper han også har løst det, men orker ikke å teste det akkurat nå. Klarte å løse problemet selv ved å bruke $vare = ${"vare$num"}; Unasett, Takk for all hjelpen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå