Avatar billede rdegnbol Nybegynder
13. november 2006 - 22:12 Der er 9 kommentarer

Array i forms.

Hej Eksperter.

Jeg har nu forgæves rodet rundt med arrays til en opgradering af mit system. Her er cassen lige hurtigt.

En bruger opretter en ordre hos mig. Denne ordre skal jeg så godkende som betalt før den træder i kraft. (mysql SET).

Herefter får brugeren mulighed for at vælge X antal personer på et ud af 3 mulige påstigningssteder (bustur).

X antal personer er defineret ved ordre afgivelsen.

Det jeg ikke fatter åbenbart, er at lave et gyldigt array med dette. Her lidt af koden.

Så lidt kort og godt, hvordan laver jeg koden til X antal forms(ud fra $antal) der giver mulighed for at indsætte følgende i mysql.

1) Navn
2) Påstigningspunkt.
3) en del fastsatte variabler.

Håber på lidt hjælp og lys forude! :)

Mvh.
Rasmus
Avatar billede rdegnbol Nybegynder
13. november 2006 - 22:13 #1
det skal lige siges at jeg HAR søgt og læst herinde, men kan ikke få det til at virke det jeg har fundet frem til desværre.
Avatar billede zynzz Praktikant
13. november 2006 - 22:19 #2
Kan du ikke forklare lidt mere ??
Avatar billede coderdk Praktikant
13. november 2006 - 23:43 #3
Jeg kan heller ikke lige se hvad du vil :)
Avatar billede rdegnbol Nybegynder
14. november 2006 - 08:10 #4
Jeg skal have lavet koden til at lave følgende arrays.

Navn[x]
Påstigning[x]

X er så det "nummer" som personen har på den pågældende ordre.

Dvs. er det en ordre på 4 personer. Skal det for ordre nummeret være muligt at indtaste 4 navne (Navn[1-4]) og hver deres påstigningspunkt (Påstigning[1-4]).

Hver af disse arrays skal så indsættes i hver deres mysql row.

Gav det lidt mere mening? :)
Avatar billede mcardle Nybegynder
14. november 2006 - 19:59 #5
Hvis jeg forstår det rigtigt, så vil du gerne have at man først skal kunne indtaste, hvor mange personer der skal med og derefter hvor de skal stå på og hvor de skal af. Er det rigtigt?

//mcardle
Avatar billede rdegnbol Nybegynder
14. november 2006 - 20:20 #6
Nej antalet af personer er defineret i forvejen i deres ordre. Den skal hente antalet fra databasen (intet problem det ved jeg hvordan gøres). Dernæst skal den lave ANTAL navne felter og til hver af dem tre valgmuligheder for påstigningspunkt.

Jeg har fundet frem til at lave sådan at den lave ANTAL navne felter og et fast valg af påstigningspunkter. Problemet nu er blot at få det ind i hver sin mysql row?.

Her er koden so far.

if ($action == '1'){

echo "Skriv navne på de tilmeldte og vælg påstigningssted:<br>";

      $sql = mysql_query("SELECT antal FROM tt_tilmeldinger WHERE id='$id'");
      if (mysql_num_rows($sql) > 0) {
      $row = mysql_fetch_array($sql);
      $antal = $row["antal"];
?>
      <form action="bus.php?action=2" method="post">
      <input type="hidden" name="antal" value="<?php echo $antal ?>">
      <?php
          for ($i=0; $i < $antal; $i++)
          { ?>
          <input type="text" name"navn[<?php echo $i ?>]"><br>
          <input type="radio" name="sted[<?php echo $i ?>]">
          <br>
          <?php
          } ?>
          <input type="submit" value="Send">
</form>
<?
}}

Som de skarpe af jer forhåbentlig kan se, er det arrays jeg fjoller rundt med, har kort og godt aldrig rodet med det.
Avatar billede rdegnbol Nybegynder
14. november 2006 - 20:22 #7
<input type="radio" name="sted[<?php echo $i ?>]">

er blot en tester, den bliver lavet om til 3 radio knapper der har hver deres faste værdi, altså Aalborg, Århus eller Fredericia. Den valgte værdi skal så knyttes til det variable navn[].
Avatar billede mcardle Nybegynder
14. november 2006 - 20:31 #8
Du kan bare gøre sådan her:


<form action="bus.php?action=2" method="post">
      <input type="hidden" name="antal" value="<?php echo $antal ?>">
      <?php
          for ($i=0; $i < $antal; $i++)
          { ?>
          <input type="text" name"navn[]"><br>
          <input type="radio" name="sted[]">
          <br>
          <?php
          } ?>
          <input type="submit" value="Send">
</form>


bus.php

$navn = $_REQUEST["navn"];
$sted = $_REQUEST["sted"];

foreach($navn as $x){
  echo $x;
}
foreach($sted as $y){
  echo $y;
}
Avatar billede rdegnbol Nybegynder
14. november 2006 - 20:54 #9
foreach($navn as $x){
  echo $x;
}
foreach($sted as $y){
  echo $y;
}

Den her forstår jeg ikke helt. Hvad er $x og hvad er $y, jeg skal vel erstatte dem med noget?
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