Avatar billede lojmann Nybegynder
07. april 2003 - 16:11 Der er 2 kommentarer og
1 løsning

Check af enkelte check boxe ud fra data i 2 SQL tabeller?

Hej,

Jeg har nogle checkboxe som bliver genereret ud fra noget data i tabellen "interesser".
I tabelen "profilinteresser" står der listet hvilke profil-id som "abonere" på de forskellige interesse-id'er.
Når man så logger ind, vil jeg gerne have at de kategorier som man har "checket" tidligere, også er det når man vil rette sin profil...

Jeg har flg. kode til at liste boxene på, men kan ikke få dem checket ud fra data'en.

<?
$conn = sql_conn();
if (!$conn) echo (sql_error());
else {
$tael = 0;
$query = mysql_query("SELECT * FROM interesser ORDER BY navn");
while ($row = mysql_fetch_array($query)) {
if ($tael == "0") {
echo ("    <tr>\n");
}
elseif ($tael % 2 == "0") {
echo ("    </tr>\n");
echo ("    <tr>\n");
}
$id = $row["id"];
$navn = stripslashes($row["navn"]);
$webnavn = $row["webnavn"];
echo ("      <td width=\"200\" valign=\"top\"><input type=\"checkbox\" name=\"$webnavn\" value=\"$navn\">$navn</td>\n");
$tael++;
}
}
mysql_close($conn);
?>

Er der nogle som kan hjælpe?
Hurtigt svar kan evt. udløse flere point :)

På forhånd tak :)

/Thomas
Avatar billede n-link Nybegynder
07. april 2003 - 16:20 #1
Jeg kan ikke se hvilken variabel du kan se om brugeren har valgt interessen, men hvis vi nu siger den ligget i: $row[valgt] som et 0 hvis den ikke er valgt, eller 1 hvis den er valgt, skal din echo se sådan her ud:

echo ("      <td width=\"200\" valign=\"top\"><input type=\"checkbox\" name=\"$webnavn\" value=\"$navn\"");
if ($row[valgt] == 1) {
  echo ("checked=\"checked\">");
echo ("$navn</td>\n");
Avatar billede lojmann Nybegynder
07. april 2003 - 19:58 #2
problemet er bare at den kun står i tabellen hvis den er tilvalgt...
Avatar billede lojmann Nybegynder
07. april 2003 - 22:14 #3
Har fixet det!

                    <?
                        $conn = sql_conn();
                        if (!$conn) echo (sql_error());
                        else {
                            $tael = 0;
                            $allquery = mysql_query("SELECT * FROM interesser");
                            while ($allrow = mysql_fetch_array($allquery)) {
                                $row = mysql_fetch_array($query);
                                if ($tael == "0") {
                                    echo ("    <tr>\n");
                                }
                                elseif ($tael % 2 == "0") {
                                    echo ("    </tr>\n");
                                    echo ("    <tr>\n");
                                }
                                $aid = $allrow[id];
                                $navn = stripslashes($allrow["navn"]);
                                $webnavn = $row["webnavn"];
                                $query = mysql_query("SELECT * FROM interesser,profilinteresser WHERE profilinteresser.iid=interesser.id AND profilinteresser.pid = '$profilrow[id]'");
                                while ($row = mysql_fetch_array($query)) {
                                    $rid = $row[iid];
                                    if($rid == $aid) {
                                        $var = "checked";
                                    }
                                }
                                if(!isset($var)) {
                                    $var = "";
                                }
                                echo ("<td width=\"200\" valign=\"top\"><input type=\"checkbox\" name=\"$webnavn\" value=\"$navn\" $var>$navn</td>\n");
                                unset($var);
                                $tael++;
                            }
                        }
                        mysql_close($conn);
                    ?>

til dem som vil vide det :)
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