Avatar billede ellert Nybegynder
13. november 2003 - 13:11 Der er 9 kommentarer og
1 løsning

PHP post af array

Hej!

Jeg har mig et problem:
Jeg jeg er ved at lave en "To-Do"-liste. For hver række er der en checkbox. Rækkerne kan enten være sat til "t" - så er de gjort, eller "f" så mangler jeg at lave dem...

Tricket er, at man skal kunne checke de boxe af, hvis status (t eller f) man vil ændre til det modsatte .. Altså f til t og omvendt.

Jeg er indtil videre kommet frem til dette:

--- index.php -----------------------
        cns();
        $sql = mysql_query('SELECT * FROM todo ORDER BY dato');
        print '<H1>ToDo</H1>';
        print '<TABLE cellpadding="0" cellspacing="0">';
        print '<FORM action="skole/todo_opd.php" method="post" style="margin:0px;">';
        while($row = mysql_fetch_array($sql)) {
            $id = $row['id'];
            print '
                    <TR>
                        <TD>
                            <INPUT type="checkbox" name="ids[]" value="'.$id.'">
                        </TD>
                        <TD style="padding-left:2px;font-size:11px;">
                            ';?><a href="#" onclick="popup('todo_show.php','todo_win','250','200');"><?php
                                if($row['done'] == "f") {
                                print ''.$row['note'].'';
                            } else {
                                print '<FONT style="text-decoration:line-through;">'.$row['note'].'</FONT>';
                            }
                            print '
                            </A>
                            <BR>
                        </TD>
                    </TR>
            ';
        }
        print '</TABLE>';
        print '<INPUT type="submit" value="Opdatér">';
        print '</FORM>';
        cls();
---------------------------------------
--- todo_opd.php --------------------------
    if(isset($_POST['id']) && is_array($_POST['id'])) {
        $id[] = $_POST['id'];

        print $id;

        cns();
        foreach($id as $value) {
            $sql = mysql_query("SELECT * FROM todo WHERE id='$value'") or die(mysql_error());
            $row = mysql_fetch_array($sql);
            if ($row['id'] !== "t") {
                $update = "t";
            } else {
                $update = "f";
            }
            $sql = "UPDATE todo SET done='$update' WHERE id='$value'";
            mysql_query($sql) or die(mysql_error());
            print $sql;
        }
        cls();

//        header("location: ./../index.php");
    } else {
        header("location: ./../index.php?fel=jarh");
    }
------------------------------

cns() og cls() er til at connecte til databasen - tænk ikke på dem...

På forhånd tak!

// eLLERT
Avatar billede detox Nybegynder
13. november 2003 - 13:24 #1
Måske kunne du ændre din onclick(), til noget med 'submit.form' (eller hvordan det nu er), så du kan få dine select værdier med.
Avatar billede detox Nybegynder
13. november 2003 - 13:28 #2
document.formnavn.submit(); er det vidst jeg tænker på.
Avatar billede ellert Nybegynder
13. november 2003 - 13:40 #3
du læser det forkert .. OnClick-filuren åbner bare et vindue med info - det har ikke noget med det her spm. at gøre ...
ellers tak :)
Avatar billede detox Nybegynder
13. november 2003 - 14:13 #4
Ok, men hvad er så spørgsmålet?
Avatar billede ellert Nybegynder
13. november 2003 - 18:19 #5
Hvorfor ændrer den ikke de checkede rækker til det modsatte (t -> f osv.)
Avatar billede detox Nybegynder
13. november 2003 - 18:26 #6
Måske fordi du kalder den for $_POST['id'], når den hedder ids:
name="ids[]"
Avatar billede detox Nybegynder
13. november 2003 - 18:28 #7
Skal nok være:
name="id[]"
Avatar billede ellert Nybegynder
13. november 2003 - 22:58 #8
hehe, ja... Simpelt :)
Læg et svar..
Avatar billede ellert Nybegynder
15. november 2003 - 14:30 #9
hey?
Avatar billede ellert Nybegynder
16. november 2003 - 13:37 #10
så blir jeg nødt til at tage pointene selv, for at lukke?
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