webForumDet fria alternativet

Multi upload + array?

7 svar · 452 visningar · startad av Guldstrand

GuldstrandMedlem sedan juli 20041 271 inlägg
#1

Jag håller på med ett formulär där man ska kunna ladda upp 4 filer samtidigt (valfritt) + kunna ange en kategori för varje fil.

Utskriften jag får, är följande:

Array //kategori
(
    [0] => 28
    [1] => 36
    [2] => 0
    [3] => 0
)

Array //fil
(
    [0] => bild1.jpg
    [1] => bild2.jpg
    [2] => 
    [3] => 
)

Nu är frågan hur jag lägger till detta i mysql, samt inte får med tomma fält. :r

GuldstrandMedlem sedan juli 20041 271 inlägg
#2

*bump*

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

har du någon uttänkt databas-struktur? Vill du lagra filerna i databasen eller som filer i en katalog någonstans?

GuldstrandMedlem sedan juli 20041 271 inlägg
#4

nitro2k01 skrev:

har du någon uttänkt databas-struktur? Vill du lagra filerna i databasen eller som filer i en katalog någonstans?

Njae, inte än.

Hade tänkt mig något enkelt som:

id (int)
filnamn (varchar)
kategori (tinyint)

Filerna kommer sparas på servern.

BumperMedlem sedan juni 20098 inlägg
#5

Borde väl inte vara så mycket svårare än såhär?

foreach ($files as $value) {
  if (isset($value)) {
    // lägg till i databasen här, både fil och kategori
  }
}
GuldstrandMedlem sedan juli 20041 271 inlägg
#6

Bumper skrev:

Borde väl inte vara så mycket svårare än såhär?

foreach ($files as $value) {
  if (isset($value)) {
    // lägg till i databasen här, både fil och kategori
  }
}

Mjo.. men hur får jag ut filen (resp. kategorin) som variablar?

BumperMedlem sedan juni 20098 inlägg
#7
for ($i = 0; $i < count($file); $i++) {
  if (isset($file[$i])) {
    // lägg till $file[$i]
  }
  if (isset($category[$i])) {
    // lägg till $category[$i]
  }
}

Eller

foreach ($file as $value) { 
  if (isset($value)) { 
    // $value
  } 
}

foreach ($category as $value) { 
  if (isset($value)) { 
    // $value
  } 
}
GuldstrandMedlem sedan juli 20041 271 inlägg
#8

Ok..
Så jag måste alltså köra flera instanser av:

foreach ($något as $value) { 
  if (isset($value)) { 
    // $value
  } 
}

Går det inte att köra allt i samma "foreach"?

128 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)