Avatar billede Slettet bruger
17. april 2001 - 14:57 Der er 44 kommentarer og
1 løsning

Checkboxe --> PHP --> MySQL

Jeg har en række checkboxe der arbejder sammen med et danmarkskort, og derfor har ens navne. De ser cirka sådan ud alle sammen:

<INPUT name=\"amt\" onclick=\"count_checked();\" type=\"checkbox\" value=14>Bornholms amt<br>

<INPUT name=\"amt\" onclick=\"count_checked();\" type=\"checkbox\" value=10>Frederiksborg amt<br>

Da de har ens navne kan jeg ikke finde ud af at få deres værdi hevet ud med PHP.

Checkboxenes navne kan ikke ændres, da koden til kortet fucker op.

Men de har jo forskellige værdier, og jeg har forsøgt mig med if (document.form.amt[10])

og med if (document.form.amt[1].checked) osv.

Jeg bliver tosset!

Det må squ da være nemt at hive deres værdier ud!?
Avatar billede Slettet bruger
17. april 2001 - 14:58 #1
Avatar billede nute Nybegynder
17. april 2001 - 14:59 #2
har du kopiert des database ?
Avatar billede nute Nybegynder
17. april 2001 - 15:03 #3
ahhh.....sorry....jeg leste ikke ditt spm korrekt...

men du sier at du ikke kan finne ut av å hente ut deres verdi med PHP...og du poster under Javascript...hva er det du skal ha hjelp til ? PHP eller JavaScript ?
Avatar billede erikjacobsen Ekspert
17. april 2001 - 15:07 #4
Du skal nok bare kalde dem name=\"amt14\" og \"amt10\". Du får altid værdien
\"on\" med over hvis en checkbox er sat.
Avatar billede Slettet bruger
17. april 2001 - 15:08 #5
Tjae, jeg kan godt finde ud af PHP, men min idé var at lave en

<?PHP $checkbox1 = \"<SCRIPT TYPE=\'text/javascript\'>document.write(amt[i])</script>\"; ?>

eller noget lign...
Avatar billede nute Nybegynder
17. april 2001 - 15:08 #6
e.j. >> når man forespør etter \'amt\', så får man en array av verdier. Man kan jo bare iterere gjennom denne for å få tak i verdiene...
Avatar billede Slettet bruger
17. april 2001 - 15:09 #7
Aaaah, men jeg forsøger at undgå at omdøbe dem, da jeg har 20 km kode der hænger sammen med mit imagemap der er klikbart...

Øøh, værdien \"on\"? Hvordan kan jeg udnytte den bedst?
Avatar billede erikjacobsen Ekspert
17. april 2001 - 15:21 #8
Jamen, så vi os hvordan, nute.
Avatar billede nute Nybegynder
17. april 2001 - 15:24 #9
jeg venter fremdeles på et svar fra min posting @ 17/04 2001 15:03:45. Hvis det er PHP, så kan jeg ikke si mer enn det jeg har sagt allerede, hvis det er en Javascriptløsning han er ute etter, så er det en helt annen sag...

*/nute
Avatar billede erikjacobsen Ekspert
17. april 2001 - 15:29 #10
Ok - men du har ret, jeg skulle bare lige lave et eksperiment. Og el_barto, helt
uden at lave om på navnet kan du ikke klare det, men kald dem amt[], og så
har du også adgang til value:

<html>
<head>
<title> New Document </title>
</head>

<body>
<?
for ($i=0;$i<count($amt);$i++) {
    echo \"$amt[$i] \";
}
?>

<br>


<form method=\"get\">
<input type=\"checkbox\" name=\"amt[]\" value=\"11\">
<input type=\"checkbox\" name=\"amt[]\" value=\"33\">
<input type=\"submit\">
</form>


</body>
</html>
Avatar billede Slettet bruger
17. april 2001 - 15:29 #11
Jamen så siger vi at det er JavaScript!

En nem løsning ville være:
At få værdierne på checkboxene smidt over i nogle skjulte input felter, som har unikke navne. Så kan jeg nuppe værdierne derfra i PHP...

så hvis man kan lave en onClick = \"smid værdi op i input felt();\" der tilknyttes submit knappen.
Avatar billede Slettet bruger
17. april 2001 - 15:31 #12
Hvis jeg laver om på dem så de kommer til at hedde amt[] kan en af jer så lave mit lange landkort script om? Selvf. for flere point...
Avatar billede nute Nybegynder
17. april 2001 - 15:32 #13
ej >> så vidt jeg kjenner til PHP så trenger du kun å spesifisere $amt[] på din requestside for at det skal fungere...*uten* å kalle dem amt[] (som navn på checkboxene)
Avatar billede erikjacobsen Ekspert
17. april 2001 - 15:36 #14
Jaaah, el_barto, læg 1 point oveni :)
Avatar billede Slettet bruger
17. april 2001 - 15:47 #15
Nu har jeg selv forsøgt mig.. Men stinker til JavaScript..

<SCRIPT language=JavaScript>
function soeg()
{
if( document.form1.amt[0].checked )
document.form1.Bornholm.value = 1;
}
</script>

sidder i HEAD delen

mine checkboxe hedder stadig name=\"amt\" value=\"11\"

Så har jeg i submit knappen en onclick=\"soeg();\"

Men hvad så? Det virker jo åbenlyst ikke...
Avatar billede nute Nybegynder
17. april 2001 - 15:54 #16
<SCRIPT language=JavaScript>
function soeg() {
for( i = 0; i < document.[formnavn].amt.length; i++ ){
  if( document.form1.amt[1].checked)
    alert( \"Nummer \" + i + \" er checked\";
  }
}
</script>

/nute
Avatar billede erikjacobsen Ekspert
17. april 2001 - 16:04 #17
Jeg vil gerne hjælpe med PHP-delen, hvis du vil have det. Lad bare nute
klare javascript-en :)
Avatar billede Slettet bruger
17. april 2001 - 16:09 #18
Hvad er det din kode skal gøre nute? Den virker i hertilfælde ikke...
Avatar billede nute Nybegynder
17. april 2001 - 16:12 #19
test denne...dette er prinsippet hvordan du tilgår de ulike checkboxes:

<script>
function soeg(){
  for( i = 0; i < document.form.amt.length ; i++){
      alert( document.form.amt[i].checked );
    }
}
</script>
<form name=\"form\">
<input type=\"checkbox\" name=\"amt\" value=\"1\"> 1<br>
<input type=\"checkbox\" name=\"amt\" value=\"2\"> 2<br>
<input type=\"checkbox\" name=\"amt\" value=\"3\"> 3<br>
<input type=\"checkbox\" name=\"amt\" value=\"4\"> 4<br>
<input type=\"checkbox\" name=\"amt\" value=\"5\"> 5<br>
<a href=\"java script:void( soeg() );\">Klikk</a>

</form>

*/nute
Avatar billede Slettet bruger
17. april 2001 - 16:16 #20
Aha! Nu brænder tampen vist! *S* 2 min. ok?
Avatar billede Slettet bruger
17. april 2001 - 16:22 #21
OK, nu virker JavaScript delen...Nu mangler vi at fjerne alertboxene, og hente variablerne i PHP.. :-)
Avatar billede nute Nybegynder
17. april 2001 - 16:24 #22
hvis du skal hente variablene i PHP så skal du jo ha en servertrip....hva er det egentlig du skal gjøre med dette ???
Avatar billede Slettet bruger
17. april 2001 - 16:26 #23
Sende en MySQL forespørgsel, og vise de rækker hvor amterne findes...
Avatar billede nute Nybegynder
17. april 2001 - 16:30 #24
så skal du bare submitte ditt formular *uten* dette javascript-halløjs og hente inn verdiene på din \"neste\" side... alle dine checkboxes blir submittet og ligger i en array du kan ta imot på \"neste\" side og løpe igjennom...

/nute
Avatar billede Slettet bruger
17. april 2001 - 16:31 #25
Og dette array hedder..? $amt[] eller ...?
Avatar billede nute Nybegynder
17. april 2001 - 16:35 #26
mener det....( som jeg sa litt tidligere...jeg er ikke en haj til PHP, men jeg mener det er den måten du skal hente dem inn på )

det kommer ikke noen checkboxes med som ikke er checked...
Avatar billede Slettet bruger
17. april 2001 - 16:40 #27
Har prøvet dette:

for($i=0;$i<count($amt);$i++) {
echo $amt[$i];

erikjacobsen!!I need u! :-)
Avatar billede erikjacobsen Ekspert
17. april 2001 - 17:28 #28
Ja, har du prøvet mit script? eller hvad... Prøv lige at sige hvad du vil :)
Avatar billede Slettet bruger
17. april 2001 - 19:05 #29
Jeg vil ikke lave dem om! :-( Jeg hader mine egne evner! Øv!

Nu har jeg brugt 7 timer på det skod her....
Avatar billede erikjacobsen Ekspert
17. april 2001 - 19:19 #30
Så du vil hellere lave det i JavaScript - samle de klikkede boxes værdier op
og putte dem i et hidden felt, og så bruge det i PHP-delen. Om jeg forstår
dig ret?
Avatar billede Slettet bruger
17. april 2001 - 19:25 #31
Ja! Nemlig :-)

Og det virker jo fint når alertboxene skriver true eller false på skærmen!

Men hvordan faen..smider jeg dem i deres respektive hidden fields..
Avatar billede Slettet bruger
17. april 2001 - 19:26 #32
Ja! Nemlig :-)

Og det virker jo fint når alertboxene skriver true eller false på skærmen!

Men hvordan faen..smider jeg dem i deres respektive hidden fields..
Avatar billede Slettet bruger
17. april 2001 - 19:26 #33
Ja! Nemlig :-)

Og det virker jo fint når alertboxene skriver true eller false på skærmen!

Men hvordan faen..smider jeg dem i deres respektive hidden fields..
Avatar billede Slettet bruger
17. april 2001 - 19:26 #34
øhhh 3 kloner med 1 tryk?
Avatar billede erikjacobsen Ekspert
17. april 2001 - 19:52 #35
Så\'n ?

<html>
<head>
<title> New Document </title>
<script language=\"JavaScript\">
<!--
  function samleop(f)  {
    f.amter.value=\"\";
    for (i=0;i<f.amt.length;i++) {
    if (f.amt[i].checked) {
      f.amter.value=f.amter.value+f.amt[i].value+\',\';
    }
    }
    return true;
}
//-->
</script>
</head>

<body>

<form method=\"get\" onsubmit=\"return samleop(this);\">
<input type=\"checkbox\" name=\"amt\" value=\"11\">
<input type=\"checkbox\" name=\"amt\" value=\"33\">
<input type=\"hidden\" name=\"amter\">
<input type=\"submit\">
</form>


</body>
</html>
Avatar billede Slettet bruger
17. april 2001 - 20:11 #36
You are the man erik!!!! :-)

Så kan jeg jo bare lave en split ting og smide det ind i en MySQL sætning..ikke?

Det tror jeg at jeg kan klare..*S*

Tusind tak, jeg sætter pris på din ihærdighed..

Hvis du kigger forbi http://www.eksperten.dk/spm/65289 så er der lidt godiser til din enorme samling..
Avatar billede erikjacobsen Ekspert
17. april 2001 - 20:21 #37
glem de point
Avatar billede Slettet bruger
17. april 2001 - 20:30 #38
ok, måske vil du alligevel have dem når du får følg lille opgave...

Jeg flikkede dette sammen..og det fungerer når alle checkbokse er valgt.. men fordi jeg splitter, burde alle amter få tildelt et nul når de ikke er valg. Forestiller mig at det er let hvis man kunne:

<script language=\"JavaScript\">
<!--
  function samleop(f)  {
    f.amter.value=\"\";
    for (i=0;i<f.amt.length;i++) {
    if (f.amt[i].checked) {
      f.amter.value=f.amter.value+f.amt[i].value+\',\';
    }
else tildel værdien nul??
    }
    return true;
}
//-->
</script>
Avatar billede Slettet bruger
17. april 2001 - 20:30 #39
hov, glemte min lille kode...

$amt = split (\",\", $amter);

if ($amt[0] == \'14\') {
$condition = \"$condition OR AdresseAmt = \'Bornholms amt\' \";
}

if ($amt[1] == \'10\') {
$condition = \"$condition OR AdresseAmt = \'Frederiksborg amt\' \";
}

if ($amt[2] == \'8\') {
$condition = \"$condition OR AdresseAmt = \'Fyns amt\' \";
}
Avatar billede erikjacobsen Ekspert
17. april 2001 - 20:46 #40
Hvis du vil gøre det på den måde, skal du vel bare skrive

else { f.amter.value=f.amter.value+\'0,\'; }

ellers kommer der jo kun det tal over der er afcheckede. Men så skal de jo
stå i den rækkefølge i HTML-dokumentet.....?
Avatar billede Slettet bruger
17. april 2001 - 20:55 #41
Nu virker det bare perfekt! Yes man! 8-)
Avatar billede erikjacobsen Ekspert
17. april 2001 - 21:00 #42
Så må jeg jo se om jeg kan finde et job.... hehe...næh, jeg kan ikke se
noget som helst i svaret på søgningen....nå os med Netscape kan ikke
få job :)
Avatar billede Slettet bruger
18. april 2001 - 08:43 #43
Netscape 4.7 virker altså hos mig....
Avatar billede erikjacobsen Ekspert
18. april 2001 - 09:20 #44
Det kan være det er når man ikke finder noget der matcher... Jeg fik
altså en blank svarside.
Avatar billede erikjacobsen Ekspert
18. april 2001 - 09:59 #45
Ok - i dag er der hul igennem - fik lige prøvet det igen.
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