Avatar billede danic Nybegynder
26. oktober 2003 - 08:21 Der er 15 kommentarer og
1 løsning

gemme fra array i mysql ?

Jeg uploader her imellem 0 og 5 billede-filer fra et array til et dir på min server, med en for løkke,

for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {
       
move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $sti . $_FILES['upfile']['name'][$i]);

For hver billede-fil skal navnet gemmes i mysql, men hvordan gemmer fra et array ?


UPDATE artikler SET picafsnit1=$upfile[$i] WHERE artikler DESC LIMIT 1

felter i tablen

picafsnit1='$upfile[1]
picafsnit2='$upfile[2]
picafsnit3='$upfile[3]
picafsnit4='$upfile[4]
picafsnit5='$upfile[5]
Avatar billede clausjul Nybegynder
26. oktober 2003 - 08:32 #1
SqlStr = "UPDATE artikler SET picafsnit" . $i . "=$upfile[$i] WHERE artikler DESC LIMIT 1
Avatar billede danic Nybegynder
26. oktober 2003 - 08:52 #2
den fejler ?

$sql = "UPDATE artikler SET picafsnit" . $i . "=$upfile[$i] WHERE artikler DESC LIMIT 1";
if (!mysql_query($sql)) {
error("Database fejl under billede gem processen, prøv igen!");
luk_forbindelse();
}
Avatar billede clausjul Nybegynder
26. oktober 2003 - 09:13 #3
SqlStr = "UPDATE artikler SET picafsnit" . $i . "=$upfile[$i] WHERE artiklerid= $artikelid

SQL-sætningen var ikke korrekt før.
Avatar billede danic Nybegynder
26. oktober 2003 - 09:25 #4
Den virker stadig ikke ->
$sql = "UPDATE artikler SET picafsnit" . $i . "=$upfile[$i] WHERE artikelID='1'";

den her virker så det må være noget array relateret ->
$sql = "UPDATE artikler SET picafsnit1='test.jpg' WHERE artikelID='1'";
Avatar billede detox Nybegynder
26. oktober 2003 - 10:15 #5
Jeg vil mene du mangler ' ' omkring navnet og bruge hele array'et:
$sql = "UPDATE artikler SET picafsnit" . $i . "='".$_FILES['upfile']['name'][$i]."' WHERE artikelID='1'";
Avatar billede danic Nybegynder
26. oktober 2003 - 10:30 #6
Ah problemet er at jeg starter med picafsnit1 i tabellen og array starter med picafsnit0
output:
UPDATE artikler SET picafsnit0='test.jpg' WHERE artikelID='1'
Avatar billede danic Nybegynder
26. oktober 2003 - 10:33 #7
skal jeg så ændre min tabel?
Avatar billede detox Nybegynder
26. oktober 2003 - 10:35 #8
Det er nok det nemmeste, hvis ikke du vil rode med: SET picafsnit" . $i + 1 .
Avatar billede danic Nybegynder
26. oktober 2003 - 10:38 #9
. $i + 1 . virker ikke

giver 1='test.jpg' WHERE artikelID='1'
Avatar billede detox Nybegynder
26. oktober 2003 - 10:54 #10
Ikke forstået.
Avatar billede danic Nybegynder
26. oktober 2003 - 11:16 #11
. $i + 1 . giver 1
man skulle give picafsnit1
Avatar billede detox Nybegynder
26. oktober 2003 - 11:41 #12
picafsnit" . ($i + 1) .
Avatar billede danic Nybegynder
26. oktober 2003 - 12:00 #13
Nu virker den :)

Hvis det er det sidste felt i tabellen som jeg vil opdatere (højeste artikelID) hvad ændre jeg så i min WHERE artikelID='1'"; mit gæt er WHERE artikler DESC LIMIT 1"; men det virker ikke?

svar = points!
Avatar billede danic Nybegynder
26. oktober 2003 - 12:42 #14
Hvorfor opdatere denne her alle min felter og ikke kun det sidste felt?

$sql = "UPDATE artikler SET picafsnit" . ($i + 1) . "='".$_FILES['upfile']['name'][$i]."'WHERE artikelID = LAST_INSERT_ID(artikler.artikelID)";

?
Avatar billede danic Nybegynder
26. oktober 2003 - 12:48 #15
Ah nu er den der ->
$sql = "UPDATE artikler SET picafsnit" . ($i + 1) . "='".$_FILES['upfile']['name'][$i]."' WHERE artikelID = LAST_INSERT_ID()";
Avatar billede detox Nybegynder
30. oktober 2003 - 11:19 #16
Ok, så får du lige et svar herfra c",)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester