Avatar billede knocker Nybegynder
26. april 2004 - 16:35 Der er 22 kommentarer og
1 løsning

sæt nummer på $variable til $variable1-2-3, osv.

Hey folkens.

Nu vil jeg se om jeg kan forklare det her, så godt som muligt. Jeg ligger inde med en form, hvor der er 24 text input felter. 12 af dem hedder home1-12, og resten, out1-12.
I hvert felt, bliver der angivet et resultat. F.eks. 11:13. Ud fra hvert resultat, skal jeg regne ud, hvilken har den største værdi af x:y.

Jeg bruger så følgende, til at få x og y hevet ud:

$home1 = "11:13";
$data_array = explode(":",$home1);
echo "$data_array[0]<br>";
echo "$data_array[1]<br>";

Det jeg så gerne vil, er at slippe for at skrive den linie, 24 gange, men derimod lave et while loop af en art. Problemet ligger i, at jeg ikke ved hvordan jeg ændrte $homeX, da jeg ikke satser på at noget ligende det her, kunne fungere:
$home$i;
$i++;

Råb højt af mig, hvis det er sort snak. Det er bare lidt svært at forklare, selvom det er så simpelt i tankerne. ;)
Avatar billede jakoba Nybegynder
26. april 2004 - 16:43 #1
du kan hente dine feltværdier med:
    $home_denne = $_request[ "home" .$i ];
hvor $i har forskellige værdier. Ditto med "out" navnene
Avatar billede dennismp Nybegynder
26. april 2004 - 16:44 #2
gentages så mange gange som du har brug for:
<input type=text name="result[]">

i php
foreach($_POST['result'] as $val) {
  $data_array = explode(":",$val);
}

Sådan her?
Avatar billede jakoba Nybegynder
26. april 2004 - 16:46 #3
Så det kunne være noget i retning af:

for ( $i=1; $i <= 12; $i++ ) {
    $home1 = $_request[ "home" .$i ];
    $data_array = explode(":",$home1);
    echo "$data_array[0]<br>";
    echo "$data_array[1]<br>";

    $home1 = $_request[ "out" .$i ];
    $data_array = explode(":",$home1);
    echo "$data_array[0]<br>";
    echo "$data_array[1]<br>";
}
Avatar billede dennismp Nybegynder
26. april 2004 - 16:51 #4
Jeg ser dobbelt :-)
Avatar billede jakoba Nybegynder
26. april 2004 - 18:03 #5
2 sæt variabelnavne "home1-12" og "out1-12" :-))
Avatar billede knocker Nybegynder
26. april 2004 - 18:16 #6
Jeg gi'r det lige et forsøg, og vender tilbage om et øjeblik! :)
Avatar billede dennismp Nybegynder
26. april 2004 - 18:25 #7
Det havde jeg misset. Jeg ville nok så ..

gentages så mange gange som du har brug for:
<input type=text name="data[result][]">
<input type=text name="data[out][]">

foreach(array_keys($_POST['data']) as $type ) {
  // $type er enten result eller out.
  foreach($_POST['data'][$type] as $val) {
    $data_array = explode(":",$val);
    echo "$data_array[0]<br>";
    echo "$data_array[1]<br>";
  }
}
Avatar billede knocker Nybegynder
26. april 2004 - 18:30 #8
Det skal siges, jeg har home1 og out1, home2 og out2, (osv) på samme linie. Så resultatet skal blive fx.:

home1:out1
hom2:out2
home3:out3
....

Kan det ordnes i det loop ?
Avatar billede knocker Nybegynder
26. april 2004 - 18:31 #9
Hov, glem den - Det ku jeg egentlig godt selv regne ud, når jeg brugte hovedet ;)
Prøver at sammensætte det, og se hva der sker! :)
Avatar billede dennismp Nybegynder
26. april 2004 - 18:36 #10
Du bruger jacobas forslag? For så gider jeg ikke at skrive mere kode :-)
Avatar billede knocker Nybegynder
26. april 2004 - 18:45 #11
Kan faktisk ikke bruge nogle af dem. Tager jeg ikke fejl, så henter i fra en POST. $home1-12/$out1-12 hentes først fra en mySQL db og smides ind i et input felt.
Så den får vel ikke dataen i første omgang? :)
Avatar billede jakoba Nybegynder
26. april 2004 - 18:51 #12
Det er korrekt, vi formodede begge at dat kom fra en html formular brugeren havde udfyldt. Det er ligesom det mest almindelige.

Hvis data kommer et andet sted fra vil jeg bede dig fortælle hvorfra de kommer. ellers er det svært at være hjælpsom :-)
Avatar billede knocker Nybegynder
26. april 2004 - 18:53 #13
De kommer ud i variabler, som jeg skrev: $home1, $home2, osv. og samme med $out1 .. Troede jeg også at jeg havde beskrevet :/
Avatar billede knocker Nybegynder
26. april 2004 - 18:57 #14
Det vil sige, det er data jeg trækker ud af db'en. De bliver også smidt i en form, men ikke kaldt via den, i første omgang. Derfor vil POST ikk lige virke :/
Avatar billede dennismp Nybegynder
26. april 2004 - 18:59 #15
Er det så 12 rækker med home og 12 med out? Eller er det 1 række med 12 felter?
Avatar billede knocker Nybegynder
26. april 2004 - 19:07 #16
12 rækker med home og 12 med out! :)

Idéen som jakoba skrev i første omgang, var sådan set helt iorden. Lige udover at jeg ikke kan hive det ud af formen, men får dataen fra db'en, som sagt før. :)
Avatar billede jakoba Nybegynder
26. april 2004 - 19:10 #17
så lad os prøve med viriable variable:

for ( $i=1; $i <= 12; $i++ ) {
    $temp = ${"home".$i};
    $data_array = explode(":",$temp);
    echo "$data_array[0]<br>";
    echo "$data_array[1]<br>";

    $temp = ${"out".$i};
    $data_array = explode(":",$temp);
    echo "$data_array[0]<br>";
    echo "$data_array[1]<br>";
}
Avatar billede jakoba Nybegynder
26. april 2004 - 19:11 #18
Avatar billede knocker Nybegynder
26. april 2004 - 19:27 #19
Det var perfekt det der, jakoba - Præcis hvad jeg havde brug for. Det virker nu! :) Er du point liderlig, så ved du vist hvad du skal gøre ;)
Avatar billede jakoba Nybegynder
26. april 2004 - 19:43 #20
never let it be said that I am not :-)
Avatar billede coderdk Praktikant
27. april 2004 - 22:23 #21
for ($i = 1; $i <= 12; $i++)
{
    echo $_POST["home$i"] . "<br>";
}

?
Avatar billede coderdk Praktikant
27. april 2004 - 22:24 #22
For out kan man bare erstatte home med out ;P
Avatar billede coderdk Praktikant
27. april 2004 - 22:24 #23
gah, nevermind ;)
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