Avatar billede kirsten Nybegynder
28. maj 2003 - 10:57 Der er 12 kommentarer og
2 løsninger

Hive indtastede data ud i checkboxe!?

Hej,
jeg har en form med forskellige checkboxe:
<form action="gem.php" method="post" name="kompetence_add" onSubmit="return Checkform(this);">

<br>
<h3>outlook</h3>
<br>
<b>hvordan er oplæringen forgået?</b>
<br>
e-learning <input type="checkbox" name="outlook[]" value="1"><br>
sidemandsoplæring <input type="checkbox" name="outlook[]" value="2"><br>
klasseundervisning <input type="checkbox" name="outlook[]" value="3"><br>
har ikke fået undervisning <input type="checkbox" name="outlook[]" value="4"><br><br>
<b>hvor go er du mester?</b><br>
go <input type="checkbox" name="outlook[]" value="5"><br>
ok <input type="checkbox" name="outlook[]" value="6"><br>
mangler uddannelse <input type="checkbox" name="outlook[]" value="7"><br><br>
<h3>ie</h3>
<br>
<b>hvordan er oplæringen forgået?</b>
<br>
e-learning <input type="checkbox" name="ie[]" value="1"><br>
sidemandsoplæring <input type="checkbox" name="ie[]" value="2"><br>
klasseundervisning <input type="checkbox" name="ie[]" value="3"><br>
har ikke fået undervisning <input type="checkbox" name="ie[]" value="4"><br><br>
<b>hvor go er du mester?</b><br>
go <input type="checkbox" name="ie[]" value="5"><br>
ok <input type="checkbox" name="ie[]" value="6"><br>
mangler uddannelse <input type="checkbox" name="ie[]" value="7"><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">

Den smider de forskellige values i tabellen
<?php
extract($_POST);

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

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

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

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


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


mysql_close();

?>

problemet er nu at jeg vil hive de forskellige checkboxe ud på en ny side med flueben i dem som er valgt!
det fatter jeg vist ik lige hvorn man gør?
Avatar billede andy Nybegynder
28. maj 2003 - 11:15 #1
Det kan du ikke. Du skal gemme hver checkbox value i hver sit felt i mysql.
Avatar billede sostack Nybegynder
28. maj 2003 - 11:22 #2
Prøv:
<?php
$query = "SELECT * FROM knoxtest WHERE num=$num";
$data = mysql_query($query);
$overskrifter = Array(e-learning, sidemandsoplæring, klasseundervisning, har ikke fået undervisning, go, ok, mangler uddannelse);
$outlook_data = mysql_fetch_array($data);
$outlook = explode(",", $outlook_data[1]);
$ie = explode(",", $outlook_data[1]);
$out = 0;
echo "<b>hvordan er oplæringen forgået?</b>";
for($i = 1; $i < 8; $i++)
{
echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"outlook[]\" value=\"$i\"";
if($out == $i)
{
echo " checked><br />";
$out++;
}
else
{
echo "><br>";
}
}
echo "<b>hvordan er oplæringen forgået?</b>";
$out = 0;
for($i = 1; $i < 8; $i++)
{
echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"ie[]\" value=\"$i\"";
if($out == $i)
{
echo " checked><br />";
$out++;
}
else
{
echo "><br>";
}
}
?>

//sostack
Avatar billede sostack Nybegynder
28. maj 2003 - 11:24 #3
$ie = explode(",", $outlook_data[1]);
skal self. være $ie = explode(",", $outlook_data[2]);

//sostack
Avatar billede kirsten Nybegynder
28. maj 2003 - 11:27 #4
det gir fejl på linie 6:
<?php
include ('./includes/connect.php');
$query = "SELECT * FROM knoxtest WHERE num=$num";
$data = mysql_query($query);
$overskrifter = Array(e-learning, sidemandsoplæring, klasseundervisning, har ikke fået undervisning, go, ok, mangler uddannelse);
$outlook_data = mysql_fetch_array($data);
$outlook = explode(",", $outlook_data[1]);
$ie = explode(",", $outlook_data[1]);
$out = 0;
echo "<b>hvordan er oplæringen forgået?</b>";
for($i = 1; $i < 8; $i++)
{
echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"outlook[]\" value=\"$i\"";
if($out == $i)
{
echo " checked><br />";
$out++;
}
else
{
echo "><br>";
}
}
echo "<b>hvordan er oplæringen forgået?</b>";
$out = 0;
for($i = 1; $i < 8; $i++)
{
echo $overskrifter[$i - 1] . "<input type=\"checkbox\" name=\"ie[]\" value=\"$i\"";
if($out == $i)
{
echo " checked><br />";
$out++;
}
else
{
echo "><br>";
}
}
?>

Parse error: parse error, expecting `')'' in /usr/www/knox/komp.php on line 6
Avatar billede kirsten Nybegynder
28. maj 2003 - 11:29 #5
har lige rettet $ie = explode(",", $outlook_data[1]); til $ie = explode(",", $outlook_data[2]);
Avatar billede avminarm Juniormester
28. maj 2003 - 11:31 #6
lav en foreach løkke

og indsæt dem i hver sine felter, med hvert sit id:

noget i den stil:

foreach($_POST as key){
$insertSQL = "insert into knoxtest (num,outlook, ie) values('$num','$str1', '$str2')" or die(mysql_error());
mysql_db_query("***", $insertSQL);
}
Avatar billede andy Nybegynder
28. maj 2003 - 11:32 #7
Dooh, havde ikke helt kigget ordentlig i din form. Det kan selvf godt lade sig gøre :D
Avatar billede kirsten Nybegynder
28. maj 2003 - 11:41 #8
nu gir den fejl på linie 5!!?
Avatar billede andy Nybegynder
28. maj 2003 - 11:58 #9
<?php
include ('./includes/connect.php');
$query = "SELECT * FROM knoxtest WHERE num=$num";
$data = mysql_query($query);
$overskrifter = Array("e-learning", "sidemandsoplæring", "klasseundervisning", "har ikke fået undervisning", "go", "ok", "mangler uddannelse");
$outlook_data = mysql_fetch_array($data);
$outlook = explode(",", $outlook_data[1]);
$ie = explode(",", $outlook_data[2]);

echo "<br><b>hvordan er oplæringen forgået?</b><br>";

for ($i=0; $i<sizeof($overskrifter); $i++) {
    $id = $i+1;
    if (in_array("$id", $outlook)) { $checked = "checked"; }
    else { $checked = ""; }
    echo "$overskrifter[$i] <input type="checkbox" name="outlook[]" value="$id" $checked><br>";
}

echo "<br><b>hvordan er oplæringen forgået?</b><br>";
for ($i=0; $i<sizeof($overskrifter); $i++) {
    $id = $i+1;
    if (in_array("$id", $ie)) { $checked = "checked"; }
    else { $checked = ""; }
    echo "$overskrifter[$i] <input type="checkbox" name="ie[]" value="$id" $checked><br>";
}
Avatar billede kirsten Nybegynder
28. maj 2003 - 12:04 #10
fik sostack's eksempel til ikke at lave fejl, men den returnere intet i checkboxene!?

andy -> er det hele scriptet? eller er det en del af det?
Avatar billede kirsten Nybegynder
28. maj 2003 - 12:12 #11
andy det virker nu med dit script! :)
laver du et svar så deler jeg point imellem jer?

takker mange gange for hjælpen.
Avatar billede andy Nybegynder
28. maj 2003 - 12:39 #12
weekend! næsten...!

:D
Avatar billede kirsten Nybegynder
28. maj 2003 - 12:44 #13
jes... mangler bare fredag.. :(

sostack-> laver du også et svar?
Avatar billede sostack Nybegynder
28. maj 2003 - 13:28 #14
Jo da!
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