Avatar billede kirsten Nybegynder
27. maj 2003 - 22:38 Der er 21 kommentarer og
1 løsning

Problemer med INSERT og checkboxe

Har en form med flere checkboxe som hedder det samme, men har forskellige values.
Problemet er at den kun skriver en tilfældig value fra en af checkboxene ind og ikke dem alle hvis man sætter flueben i flere!

<------- indtast.php -------->
<form action="gem.php" method="post" name="kompetence_add" onSubmit="return Checkform(this);">

<br>
<h3>outlook</h3>
<br>
hvordan er oplæringen forgået?
<br>
e-learning <input type="checkbox" name="outlook" value="e-learning"><br>
sidemandsoplæring <input type="checkbox" name="outlook" value="sidemandsoplæring"><br>
klasseundervisning <input type="checkbox" name="outlook" value="klasseundervisning"><br>
har ikke fået undervisning <input type="checkbox" name="outlook" value="har ikke fået undervisning"><br><br>
<h3>hvor go er du mester?</h3><br>
go <input type="checkbox" name="outlook" value="go"><br>
ok <input type="checkbox" name="outlook" value="ok"><br>
mangler uddannelse <input type="checkbox" name="outlook" value="mangler uddannelse"><br><br>
<input type="hidden" name="num" value="<?php echo $num ?>">
<input type="submit" name="Submit" value="Submit"> &nbsp; <input type="reset" name="Reset" value="Reset">
<------- indtast.php -------->
<------- gem.php ------------>
<?php
extract($_POST);

mysql_connect("***","***","***");
mysql_select_db("***");

$insertSQL = "insert into knoxtest (loennummer, outlook) values('$num', '$outlook')" or die(mysql_error());
mysql_db_query("***", $insertSQL);

if(isset($num)) {
header("Location: http://index.php?num=$num");
}


mysql_close();

?>

En som gidder hjælpe?
Avatar billede schaefner Juniormester
27. maj 2003 - 22:46 #1
Skal der indsættes en ny række i databasen for hvert valg?
Avatar billede kirsten Nybegynder
27. maj 2003 - 22:55 #2
nej, det hele skal kastes i den samme row!
Avatar billede schaefner Juniormester
27. maj 2003 - 22:58 #3
Her bliver de valgte felter sepereret med et komma:

<form action="gem.php" method="post" name="kompetence_add" onSubmit="return Checkform(this);">

<br>
<h3>outlook[]</h3>
<br>
hvordan er oplæringen forgået?
<br>
e-learning <input type="checkbox" name="outlook[]" value="e-learning"><br>
sidemandsoplæring <input type="checkbox" name="outlook[]" value="sidemandsoplæring"><br>
klasseundervisning <input type="checkbox" name="outlook[]" value="klasseundervisning"><br>
har ikke fået undervisning <input type="checkbox" name="outlook[]" value="har ikke fået undervisning"><br><br>
<h3>hvor go er du mester?</h3><br>
go <input type="checkbox" name="outlook[]" value="go"><br>
ok <input type="checkbox" name="outlook[]" value="ok"><br>
mangler uddannelse <input type="checkbox" name="outlook[]" value="mangler uddannelse"><br><br>
<input type="hidden" name="num" value="<?php echo $num ?>">
<input type="submit" name="Submit" value="Submit"> &nbsp; <input type="reset" name="Reset" value="Reset">
<------- indtast.php -------->
<------- gem.php ------------>
<?php
extract($_POST);

mysql_connect("***","***","***");
mysql_select_db("***");

$str (",",$outlook);

$insertSQL = "insert into knoxtest (loennummer,outlook) values('$num','$str')" or die(mysql_error());
mysql_db_query("***", $insertSQL);

if(isset($num)) {
    header("Location: http://index.php?num=$num");
}
mysql_close();
?>
Avatar billede schaefner Juniormester
27. maj 2003 - 22:58 #4
ahh

$str (",",$outlook);
skal lige være:
$str = implode(",",$outlook);
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:10 #5
super :)
Lige et spm til!
hvad så hvis jeg vil lave flere checkboxe med andre navne?
Avatar billede schaefner Juniormester
27. maj 2003 - 23:11 #6
Hvordan mener du?
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:14 #7
lige nu er det kun checkboxe som hedder outlook!
hvis jeg nu vil putte flere på som feks hedder internet explorer osv..
Avatar billede schaefner Juniormester
27. maj 2003 - 23:17 #8
Som skal i samme række i databasen som det andet?
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:23 #9
De skal i samme tabel men i en ny row!
Avatar billede schaefner Juniormester
27. maj 2003 - 23:28 #10
Du kan lave noget ala det her:

$str1 = implode(",",$outlook);

$insertSQL = "insert into knoxtest (loennummer,outlook) values('$num','$str1')" or die(mysql_error());
mysql_db_query("***", $insertSQL);

$str2 = implode(",",$iexplorer);

$insertSQL = "insert into knoxtest (loennummer,outlook) values('$num','$str2')" or die(mysql_error());
mysql_db_query("***", $insertSQL);
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:37 #11
Den gir fejl:
Warning: Bad arguments to implode() in /usr/www/knox/gem.php on line 12
Avatar billede schaefner Juniormester
27. maj 2003 - 23:38 #12
Har du kaldt dine checboxe name="iexplorer" ?
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:38 #13
Jeg kan se den kaster det ind i tabellen men kun i den row som hedder outlook!
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:38 #14
flot!
jeg klapper mig lige en på skallen... ;)
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:45 #15
Hmm, den laver noget sjovt!
Den laver en ny række forhver ny checkbox med nyt navn.
eks 2 checkboxe:
outlook og ie
når dataerne bliver sat i tabellen laver den en ny række med loennummer og så de tilsvarende data fra checkboxene!
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:46 #16
dvs at man ender med en ny row med det samme loennummer for hver række checkboxe med nyt navn!
Avatar billede schaefner Juniormester
27. maj 2003 - 23:47 #17
Den forstod jeg ikke helt
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:49 #18
det gør jeg heller ikke selv!
det er også ved at være senge tid!

prøv engang at se tabellen:

loennummer  outlook  ie 
20469  e-learning,klasseundervisning,ok
20469 e-learning,go 

den laver dubletter!
Avatar billede schaefner Juniormester
27. maj 2003 - 23:51 #19
Hvordan ser den kode ud du indsætter med?
Avatar billede kirsten Nybegynder
27. maj 2003 - 23:53 #20
<?php
extract($_POST);

mysql_connect("bla","bla","bla");
mysql_select_db("bla");

$str1 = implode(",",$outlook);

$insertSQL = "insert into knoxtest (loennummer,outlook) values('$num','$str1')" or die(mysql_error());
mysql_db_query("supporterne_dk", $insertSQL);

$str2 = implode(",",$ie);

$insertSQL = "insert into knoxtest (loennummer,ie) values('$num','$str2')" or die(mysql_error());
mysql_db_query("bla", $insertSQL);

if(isset($num)) {
header("Location: index.php?num=$num");
}


mysql_close();

?>
Avatar billede kirsten Nybegynder
28. maj 2003 - 08:27 #21
fandt selv fejlen, lavede bare en enkelt insert!
sådan går det når det er sent og man er træt!

tak for hjælpen! :)
laver du ikke et svar?
Avatar billede schaefner Juniormester
28. maj 2003 - 16:45 #22
jo
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