Avatar billede cmp77 Nybegynder
10. april 2004 - 18:35 Der er 4 kommentarer og
1 løsning

Prblem med indkøbsoversigt

Hej

Jeg er ved at lave et bestillingsmdodul i php, men er rendt ind i noget af et problem...

På side 1 har jeg en varegrupper oversigt, trukket ud fra en database, hvor der det er muligt at angive den ønskede mængde ud for hver vare. Nederst en submit knap der sender angivelserne videre via en form til side 2.

Side 2 skulle gerne vise de varer der er bestilt (og smide dem ind i databasen), altså dem hvor mængden er >= 1. Nu er mit problem at knytte mængden til den pågældende vare, da man på side 1, ikke skal "submitte" hver enkelt vare.

Er det til at forstå? Ellers må I lige råbe højt. På forhånd tak!

/cmp77

PS.
Avatar billede -xyz- Nybegynder
10. april 2004 - 18:44 #1
Kan man eventuelt se et eksempel, så er det nemmere at forstå...
Avatar billede lillebror Nybegynder
10. april 2004 - 19:11 #2
Der er flere muligheder, jeg går ud fra at de varer har et løbende varenummer som er unikt. Du har vel allerede en while loop der smider det antal felter ud der skal skrives antal i. Så kunne du evt. lave en <input type="hidden" name="identification<?echo $i;?>" value="PRODUKTNUMMERET"> lad os antage at dit antal stk input er <input type="text" name="antal<?echo $i;?>" value="">
Så kan du pludselig binde dem sammen.
i slutningen af formen(en del der ikke indgår i din loop) smider du så den endelige værdi af $i ved f.eks. at skrive <input type="hidden" name="totalt" value="<?echo $i;?>">
Så kører du en for loop, med max værdien $_POST['totalt'] i den for loop har du en var der f.eks. hedder $antal = "antal" . $i; Så tjekker du med en if() og $_POST[$antal] >= 1. Hvis det er tilfældet smider du det i en tabel og bruger produktnummeret som identifikation.

Håber det var forklaring nok
Avatar billede cmp77 Nybegynder
10. april 2004 - 19:21 #3
Jeg havde forestillet mig noget i stil med http://www.bentbrandt.dk >> katalog/tibud...

Som sagt har jeg min form på side 1, som således ud:

$result = mysql("$dbname","SELECT * FROM articles WHERE category='1'");
while ($row = mysql_fetch_row($result)) {
  $item_id = $row[0];
  $item_name = $row[1];
  $item_price = $row[3];

  echo "
  <TR>
    <TD><INPUT TYPE=\"Text\" NAME=\"quantity$item_id\"></TD>
    <TD>$item_name</TD>
    <TD>$item_price&nbsp;kr.</TD>
  </TR>";
}

Ovenstående er smidt i en form som sender videre, men da jeg på side 2 ikke er klar over hvilke varer der er bestilt og hvor mangeaf hver, har jeg også lidt svært ved at smide dem tilbage i database... Kan du følge mig? Hertil skal det måske lige tilføjes at der i den pågældende varegruppe er 47 varenumre.

Jeg er godt klar over at problemet kan omgåes ved at lave en form og submit til hver enkelt vare, men da det drejere sig om en masse løsdele til et samlesæt, ville jeg gerne undgå at skulle trykke submit ud for hver enkelt lille del.

Jeg håber det var lidt bedere ;-)
Avatar billede lillebror Nybegynder
10. april 2004 - 19:45 #4
$i = 1;
$result = mysql("$dbname","SELECT * FROM articles WHERE category='1'");
while ($row = mysql_fetch_row($result)) {
  $item_id = $row[0];
  $item_name = $row[1];
  $item_price = $row[3];

  echo "
  <TR>
    <TD><INPUT TYPE=\"Text\" NAME=\"quantity".$i."\">
<INPUT TYPE=\"hidden\" NAME=\"ident".$i."\" value=\"".$item_id."\"><TD>
    <TD>$item_name</TD>
    <TD>$item_price&nbsp;kr.</TD>
  </TR>";
$i++;
}
?>
<input type="hidden" name="totalt" value="<?echo $i;?>">

Prøv at se på den her kode og læs mit svar igen, jeg tror jeg har forstået hvad du vil og jeg har beskrevet det så godt jeg kan
Avatar billede cmp77 Nybegynder
10. april 2004 - 20:18 #5
Lillebror>> Jeg er med på dit sidste indlæg, men jeg er ikke helt med på hvorledes du vil echo resultatet ud på side 2 (dit første indlæg)...

Kan du evt. komme med et eksempel hvor du echo'er resultatet ud?? Det med at smide det tilbage i en tabel i databasen, har jeg styr på.

Jeg skal måske lige sige at jeg endnu er rookie i PHP universet ;-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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