16. oktober 2000 - 13:35
Der er
16 kommentarer og 1 løsning
Flerdimensionelt array
Hej med jer Hvorfor kan jeg kun få fat i den sidst indtastede vare i følgende: class kurv { var $vare ; var $antal_varer ; var $pris_total ; function kurv() { $this ->init(); } function init() { $this->antal_varer = 0; $this->pris_total = 0; } function laeg_i_kurv($varenum) { $search = (mysql_query(\"select * from varer where ArticleNo = \'$varenum\'\")); $row = mysql_fetch_array ($search); $this ->vare = array(\"$antal_varer\" => array(\"varenummer\" => $row[0], \"manufacturer\" => $row[3], \"varetekst\" => $row[2], \"antal\" => 1, \"pris\" => $row[4])); $this ->pris_total = $this ->pris_total + $row[4]; //læg prisen til totalen $this ->antal_varer++; //tæl antal varer 1 op } function vis_antal_varer() { return ( $this->antal_varer); } function vis_vare($index) { $varen = array(0 => $this ->vare[$index][0],1 => $this ->vare[$index][1], 2 => $this ->vare[$index][2], 3 => $this ->vare[$index][3], 4 => $this ->vare[$index][4]) ; print($this ->vare[$antal_varer][2]); return $varen; } som bliver kald af: for ($count=0;$count < $k -> vis_antal_varer(); $count++) {$varen = $k -> vis_vare($count); print($varen [0]);} mvh _LUgE_
Annonceindlæg fra Partnertekst
16. oktober 2000 - 13:40
#1
når du skal tilføje elementer i enden af et array skal du ha $arrayName[]=newVar;
16. oktober 2000 - 13:55
#2
Kan du uddybe det lidt?
16. oktober 2000 - 13:59
#3
når du lægger en ny vare i kurven og vil oprette en ny post i arrayet skal du ha [] efter navnet
16. oktober 2000 - 14:09
#4
Sådan: $this ->vare[] = array($this -> antal_varer => array(\"varenummer\" => $row[0], \"manufacturer\" => $row[3], \"varetekst\" => $row[2], \"antal\" => 1, \"pris\" => $row[4])); ? Hvordan kan jeg så skrive dem ud?
16. oktober 2000 - 14:10
#5
for($i=0;$i<count($this->vare);$i++) { print $i.\" - \".$this->vare[$i]; }
16. oktober 2000 - 14:15
#6
Her er hvad jeg får skrevet ud: 0 - Array1 - Array2 - Array3 - Array4 - Array Det er jo ikke lige hvad jeg havde regnet med! (der er 5 elementer i arrayet)
16. oktober 2000 - 14:18
#7
Nåh ja det er jo fordi hver vare er et array for($i=0;$i<count($this->vare);$i++) { $tempArr=$this->vare[$i]; for($k=0;$k<count($tempArr);$k++) { print $k.\" - \".$tempArr[$k].\"<br>\"; } }
16. oktober 2000 - 14:24
#8
Hulk Hulk udskriver: 0 - Array 0 - 0 - 0 - ___________________________________ function laeg_i_kurv($varenum) { $search = (mysql_query(\"select * from varer where ArticleNo = \'$varenum\'\")); $row = mysql_fetch_array ($search); $this ->vare[] = array(\"$antal_varer\" => array(\"varenummer\" => $row[0], \"manufacturer\" => $row[3], \"varetekst\" => $row[2], \"antal\" => 1, \"pris\" => $row[4])); $this ->pris_total = $this ->pris_total + $row[4]; //læg prisen til totalen $this ->antal_varer++; //tæl antal varer 1 op for($i=0;$i<count($this->vare);$i++) { $tempArr=$this->vare[$i]; for($k=0;$k<count($tempArr);$k++) { print $k.\" - \".$tempArr[$k].\"<br>\"; } } }
16. oktober 2000 - 14:28
#9
hmmm det var sært
16. oktober 2000 - 14:30
#10
Kan det være noget med den måde variablerne bliver lagt i arrayet? Jeg har prøvet at skrive dem ud efter sql-forespørgslen, og den skriver det rigtige ud!
16. oktober 2000 - 14:41
#11
det er et 3dim array dvs 3 arrays inden i hinanden: for($i=0;$i<count($this->vare);$i++) { if(is_array($this->vare[$i]) { $tempArr=$this->vare[$i]; for($k=0;$k<count($tempArr);$k++)´ { if(is_array($tempArr[$k]) { $tempVare=$tempArr[$k]; for($v=0;$v<coun($tempVare);$v++) { print $v.\" - \".$tempArr[$v].\"<br>\"; } } } } } prøv den her
16. oktober 2000 - 14:50
#12
Er der ikke kun 2? For nu skriver den slet ingenting ud! Du får 100 points hvis det lykkes at hjælpe!
16. oktober 2000 - 14:58
#13
kan man ikke skrive noget i retningen af: print($this->vare[0][\"varetekst\"]) - for at se om der overhovedet er noget i arrayet? Oventstående skriver intet ud!
16. oktober 2000 - 14:58
#14
ok hvad er det du gerne vil ha?? at funktionen vis_vare skal vise varen??
16. oktober 2000 - 15:00
#15
I sidste ende ja!
16. oktober 2000 - 15:01
#16
der er en del ting galt med denne dims hvis du er på icq er mit nummer 29899029 ellers send mig en mail med hvad den skal kunne så fixer jeg det
16. oktober 2000 - 18:41
#17
<? class kurv { var $vare ; var $antal_varer ; var $pris_total ; function kurv() { $this->antal_varer = 0; $this->pris_total = 0; } function laeg_i_kurv($varenum) { $this ->vare[] =array(\"varenummer\" => 123, \"manufacturer\" => \'Bandit\', \"varetekst\" => \'en vare\', \"antal\" => 1, \"pris\" => \'1000\'); $this ->pris_total = $this ->pris_total++; //læg prisen til totalen $this ->antal_varer++; //tæl antal varer 1 op } function vis_antal_varer() { return ( $this->antal_varer); } function vis_vare($index) { $varen = array(0 => $this ->vare[$index][0][\'varenummer\'],1 => $this ->vare[$index][0][\'manufacturer\'], 2 => $this ->vare[$index][0][\'varetekst\'], 3 => $this ->vare[$index][0][\'antal\'], 4 => $this ->vare[$index][0][\'pris\']) ; return $varen; } } $temp=new kurv; $temp->laeg_i_kurv(0); $hest=$temp->vis_vare(0); print count($hest); Print \"<br>\\n\"; reset ($hest); while (list ($key, $val) = each ($hest)) { echo \"$key => $val<br>\"; } ?>
Vi tilbyder markedets bedste kurser inden for webudvikling