oprette et array udfra en enkelt værdi

Tags:    array php

Jeg skal have gentaget værdien fra $_POST['belob'] x antal gange($count) og sat det i et array hvor jeg kan bruge implode() til at komma separere værdirne. Eksempel $_POST['belob] = 300 skel ende med at være (300,300,300,300)
jeg har lavet følegende i min php fil:
Fold kodeboks ind/udPHP kode 




8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hej Nikolaj
mange tak for hjælpen, jeg har kopieret for-løkken men jeg får desværre ikke noget output.
Fold kodeboks ind/udPHP kode 


du kan gøre sådan her, er du så sikker på at $_POST['month'] er et array og ikke en string ? (bare ud fra din navngivning, ville jeg antage det er en mdr og ikke flere)
Fold kodeboks ind/udPHP kode 


OBS: ikke lige frem den mest sikre SQL query, ret nemt at lave injections i den der kode.



Som Michael siger, så er fejlen i din SQL hvor du har flere kolonner end værdier.

kan se du heller ikke har skrevet helt af fra den kode jeg postet.


Søren Jacobsen

Men når resultatet er mere end 1 indsættes det ikke i mysql, hvad er det jeg overser?
Fold kodeboks ind/udPHP kode 


Kenneth

Fold kodeboks ind/udPHP kode 



Edit

Så derfor kan jeg ikke forstå at det ikke fungere på denne måde:
Fold kodeboks ind/udPHP kode 

$month 2 giver eksempelvis Maj, Juni hvor $_belob giver 3000, 3000(eller '3000', '3000')
Dvs en værdi pr kolonne
Det burde være det samme?


det vil blive til:
INSERT into budget(kategori_budget, Jannuar, Februar, Marts, April, Maj, Juni, Juli, August, September, Oktober, November, December) values('Husleje', '3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000')





Indlæg senest redigeret d. 31.12.2013 12:12 af Bruger #3427
Hvis jeg har forstået dig rigtigt, skal du bruge en løkke. En for-løkke vil nok være mest optimalt.

Fold kodeboks ind/udPHP kode 


Du kan herefter bruge implode på $amount.

Godt nytår!

vh,



Hej Nikolaj
mange tak for hjælpen, jeg har kopieret for-løkken men jeg får desværre ikke noget output.
Fold kodeboks ind/udPHP kode 




Min $_POST['month'] indeholder fra 1 til 12 værdier alt efter hvor mange checkboxe der er markeret.
Jeg har markeret alle checkboxe(month) og resultatet er:
"Husleje
Jannuar, Februar, Marts, April, Maj, Juni, Juli, August, September, Oktober, November, December
3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000"
I alt 12 resultater med komma imellem :-)
Resultatet når der kun er markeret en checkbox(month:
"Husleje
August
5000
indsat på en linie i db"
Men når resultatet er mere end 1 indsættes det ikke i mysql, hvad er det jeg overser?

Fold kodeboks ind/udPHP kode 





Indlæg senest redigeret d. 31.12.2013 11:25 af Bruger #16819
At $month2 repræsenterer flere kolonner, men $_belob kun repræsenterer een værdi.

Tjek og se hvad $insert indeholder efter ln. 10.



Indlæg senest redigeret d. 31.12.2013 11:24 af Bruger #10216
Hvis jeg manuelt skriver månederne samt beløbbet i $insert indsættes det korrekt i min db:
Fold kodeboks ind/udPHP kode 

Så derfor kan jeg ikke forstå at det ikke fungere på denne måde:
Fold kodeboks ind/udPHP kode 

$month 2 giver eksempelvis Maj, Juni hvor $_belob giver 3000, 3000(eller '3000', '3000')
Dvs en værdi pr kolonne
Det burde være det samme?



Indlæg senest redigeret d. 31.12.2013 11:58 af Bruger #16819
Piinligt...
Kunne ikke forstå at $_belop i $insert ikke skulle være mellem ' '
HAr justeret til din kode og det virker jo :-)

Super lækkert og mange tak for hjælpen



t