Just nu i M3-nätverket
Gå till innehåll

lagra flera värden i samma vektor/array?


swede.anka

Rekommendera Poster

Jag vill få fram en lista från en databas med X antal serienummer.

 

Man ska sedan kunna välja Y antal serienummer via checkboxar som sedan ska skickas vidare via ett formulär till en annan sida där uppgifterna ska plockas ut och sparas antingen i en session.

 

Problemet är att med varje serienummer måste det skickas med flera uppgifter så därför undrar jag om det går att lagra flera värden i en array eller lösa det på något annat smidigt sätt.

 

Som jag skrivit nu så skrivs uppgifterna med checkboxarna ut från en databas som i koden nedan:

 

while($rad=mysql_fetch_array($result)) 
{
echo $rad[sn_sn];?>
<input type="checkbox" name="sn_id[] " value="<?echo $rad[sn_id];?>">
<input type="hidden" name="serienummer[]" value="<?echo $rad[sn_sn];?>">
<input type="hidden" name="artnr[] " value="<?echo $_POST['artnr'];?>">
}

 

Hade det bara behövts skicka med ett värde för varje post hade man ju t.ex. kunnat skriva:

foreach($_POST['sn_id'] as $s_n)
{
$_SESSION['varukorg'][$id]["id"]=$s_n;
}

men hur gör man för att skicka med flera värden i samma array / vektor?

 

Länk till kommentar
Dela på andra webbplatser

Om jag förstår ditt behov rätt så kan du tänka på följande vis:

En vektor kan vara flerdimensionell. Med andra ord kan du skapa vektorer ungefär såhär

 

$array = array('serinummer1', 'serienummer2', 'serienummer3');

 

Sedan kan du göra som följer:

$array['serienummer1'][uppgift1] = 'Brun';
$array['serienummer1'][uppgift2] = 'CRX123';

 

Då är värdena 'brun' och 'crx123' "kopplade" till serienummer1

 

 

Sedan lägger du in samma information i serinummer 2 och 3. Det du gör är att du skapar en array inuti en annan array.

 

Om det var såhär du menade vet jag inte, men det kanske kan vara till hjälp iaf.

 

Länk till kommentar
Dela på andra webbplatser

Jo det är så jag menar (tror jag).

 

Det jag är lite osäker på är mer exakt hur jag ska skriva koden eftersom antalet "serienummer" kan variera men antalet uppgifter/ serienummer alltid är densamma.

 

Alltså både den del där värdena lagras och den del där jag plockar ut uppgifterna ur arrayen

[inlägget ändrat 2006-02-13 17:20:26 av swede.anka]

Länk till kommentar
Dela på andra webbplatser

Jag försökte komma till rätta med din kod, men till slut kände jag att jag var tvungen att radera allt och börja helt från början. Men det är bättre att du raderar allt och börjar om från början.

 

De värdena som du har i checkboxarna kommer inte att ha samma nyckel i arrayen som hidden-fälten, såvida inte alla boxar är ikryssade. Och det tror jag inte var meningen?

 

Om informationen ändå hämtas från en databas så ser jag inte anledningen att skicka dem i formuläret. Skicka bara med primärnyckeln i formuläret (artnr eller serienumret eller vad du kan tänkas ha som nyckel)

 

Sedan hämtar du informationen från databasen till de produkter som användaren vill ha (de som han kryssar i och sedan trycker på submit)

 

Jag rekommenderar att du tar bort allt och har en helt ny anfallsvinkel på problemet.

 

Länk till kommentar
Dela på andra webbplatser

Jag hoppades att det skulle gå att lösa på något enkelt sätt med vektorer men du kanske har rätt med att det är smidigare att försöka lösa det genom att bara använda nycklarna från databaserna.

 

Jag kommer förvisso få modifiera databaserna litegrann men jag ska se om jag kan lösa det på det sättet.

 

Skulle någon ha tips på hur man skulle kunna lösa det med flera värden i vektorerna så är ni ändå välkomna med förslag

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...