Avatar billede cronaldo Nybegynder
22. januar 2006 - 11:27 Der er 12 kommentarer og
1 løsning

delete af flere ting fra MYSQL-database under samme klik?

Ja.
jeg vil have så der er en checkbox ud for hver besked, så hvis der fx er tjekket på id 1, 2, 3, 4 og 7, så sletter den dem
- hvordan kan dette gøres?

På forhånd tak.
Avatar billede polle007 Nybegynder
22. januar 2006 - 11:39 #1
Hvis du navngiver en mænge checkboxe som id[] kan du tilgå dem som et array
Noget i denne stil..

<?php
if(isset($_POST['id'])){
    $id = $_POST['id'];
    if(is_array($id)){
        $id2 = array();
        // kontroller at alle id'er er tal
        foreach($id as $value){
            if(is_numeric($value)){
                $id2[] = $value;
            }else{
                // id ikke numeric
                exit();
            }
        }
        $id = implode(",", $id2);
        $sql = "DELETE FROM tabel WHERE id IN ($id)";
        // mysql_query($sql);
    }
    header("Location: ".$_SERVER['PHP_SELF']);
    exit();
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input type="checkbox" name="id[]" value="1"> Besked 1<br>
<input type="checkbox" name="id[]" value="2"> Besked 2<br>
<input type="checkbox" name="id[]" value="3"> Besked 3<br>
<input type="submit">
</form>
Avatar billede hmortensen Nybegynder
22. januar 2006 - 11:40 #2
Hvis du navngiver dine checkboxe sådan her name="slet[]" så kan du fange dem som et array:
"DELETE FROM tabel WHERE id IN (".implode(",", $_POST['slet']).")"
Avatar billede cronaldo Nybegynder
22. januar 2006 - 12:00 #3
hvis hmortensensvirker ser det jo helt kanon ud :D
Avatar billede polle007 Nybegynder
22. januar 2006 - 12:01 #4
hvis det er en offentlig side, og gerne vil kode sikkert, så er hmortensens næsten for simpel
Avatar billede cronaldo Nybegynder
22. januar 2006 - 12:23 #5
polle007: no offense, men din fatter jeg heller ingen ting af?
Og det er kun administratorer der får dette at se :)
Avatar billede cronaldo Nybegynder
22. januar 2006 - 12:39 #6
Warning: implode() [function.implode]: Bad arguments. in /web/www/frac/users/** on line 766
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

linje 766: mysql_query("DELETE FROM tabel WHERE id IN (".implode(",", $_POST['slet']).")")
    or die(mysql_error());

<< hvad er fejlen ?? :S
Avatar billede cronaldo Nybegynder
22. januar 2006 - 13:31 #7
Ingen der er her til at svare?  :S
Avatar billede hmortensen Nybegynder
22. januar 2006 - 15:24 #8
Har du navngivet checkboxene som forslået ?
Avatar billede cronaldo Nybegynder
22. januar 2006 - 16:20 #9
det hedder name="slet[]" ? :)
Avatar billede hmortensen Nybegynder
22. januar 2006 - 19:07 #10
Prøv at vise hvordan du udskriver din form.
Avatar billede cronaldo Nybegynder
30. januar 2006 - 21:30 #11
<div id="kommentartable" style="display:none;">
                                               

                            <?
                                    $getpage1 = $_GET['page'];
                                   
                                    if($getpage1 == ""){
                                    $getpage1 = "news";
                                    } else {
                                    $getpage1 = $_GET['page'];
                                    }
                                   
                                   

                      $foresp = mysql_query("SELECT * FROM nyhedskommentarer WHERE tilid = \"$getid\" ORDER BY id DESC");
                      $num_rows = mysql_num_rows($foresp);
                    if($num_rows == "0"){
                    echo "
            <p style=\"font-family: tahoma,sans-serif; font-size: 8pt; color: #65845E;\">Der er endnu ikke skrevet nogle kommentarer til denne nyhed.
            </p>";
            if($_SESSION['status'] != "login"){ } else {
            echo "<p align=\"center\"><img src=\"/graphics/menu_line/green_line.png\" height=\"1\" width=\"95%\" style=\"align: center;\"></p>";
                    }
                   
                    } else {
                     
                      while ($data = mysql_fetch_array($foresp)){
                      $id1 = $data[id];
                      $emne1 = stripslashes($data[emne]);
                      $kommentar1 = stripslashes(nl2br($data[kommentar]));
                      $forfatter1 = $data[forfatter];
                      $dato1 = $data[dato];
                                           
                                                     
                      ?>
                     
        <table cellpadding="0" cellspacing="0" width="100%" height="2">
                <tr>
                    <td valign="top" height="4" width="274" style="font-size: 1pt; border-bottom: 1px solid #65845E;">&nbsp;</td>
                </tr>
            </table>
           
            <table cellpadding="0" cellspacing="0" width="100%" height="100%" style="background-color: #<?= ( $i++ % 2 ? 'E1E1E1' : 'C0C0C0' ) ?>">
                           
                           

            <tr>
            <td valign="top" height="21" style="padding:2px; font-family: tahoma,sans-serif; font-size:8pt; color: #65845E;">
            <b><? echo $emne1; ?></b></td>
                <td valign="top" rowspan="3" width="175" style="font-family: tahoma,sans-serif; font-size:8pt; color: #65845E; padding: 2px; border-bottom: 1px solid #65845E; border-left: 1px dotted #65845E;">
                    <?
                   
                   
                   
               
                    $forespGETUSERNAME = mysql_query("SELECT * FROM login WHERE id = \"$forfatter1\" LIMIT 1");
                      while ($data = mysql_fetch_array($forespGETUSERNAME)){
                      $brugernavn11 = $data[brugernavn];
                   
                    echo "<a href=\"index.php?page=users&show=profile&id=$forfatter1\" style=\"font-family: tahoma,sans-serif; font-size:8pt; color: #65845E;\">";
                    echo $brugernavn11;
                    echo "</a>";
                    echo "<span style=\"text-align:center;\">";
                    echo "<input type=\"checkbox\" name=\"slet[]\" value=\"<? echo $id1; ?>\">";
                    echo "</span>";
                   
                            }    ?><br />
                    <? echo date("d-m/Y H:i",$dato1); ?><br>
                    <?
                $foresp11 = mysql_query("SELECT * FROM login WHERE brugernavn = \"$forfatter1\" LIMIT 1");
                      while ($data = mysql_fetch_array($foresp11)){
                      $brugernavn = $data[brugernavn];
                      $billede = $data[billede];
                      $rang = $data[rang];
   
                if(!isset($rang)){
                    $res = mysql_query("SELECT count(*) AS antal_forumemner FROM forum_emner WHERE forfatter = \"$forfatter1\"");
                                       
                    while ($data = mysql_fetch_array($res)) {
                    $antalforumemner1 = $data[antal_forumener];
                   
                   
                    $res1 = mysql_query("SELECT count(*) AS antal_forumindlaeg FROM forum_indlaeg WHERE forfatter = \"$forfatter1\"");
                    while ($data = mysql_fetch_array($res1)) {
                   
                    $antalforumemner = $antalforumemner1;
                    $antalforumindlaeg1 = $data[antal_forumindlaeg];
                    $antalforumindlaeg = ($antalforumemner + $antalforumindlaeg1);
                   
                   
                    $foresp = mysql_query("SELECT * FROM forumrang WHERE minimum =< \"$antalforumindlaeg\" AND maximum >= \"$antalforumindlaeg\" LIMIT 1");
                      while ($data = mysql_fetch_array($foresp)){
                      $navn = $data[navn];
                     
                      echo "$navn";
                     
                      }
                      }
                      }
                     
                      } else {
                     
                      echo "$rang";
                      }


                ?>&nbsp;
                <p>
                <img border="0" src="../../<? echo $billede; ?>" width="100" height="120"></p>
                <? } ?></td>
            </tr>
            <tr>
                <td valign="top" style="color: #<?= ( $i2++ % 2 ? '808080' : '333333' ) ?>; font-family: tahoma,sans-serif; font-size:8pt;  padding-top: 8px; padding-bottom:2px; padding-right: 2px; padding-left:2px;">
                <? echo $kommentar1; ?> </td>
                </tr>
            <tr>
                <td valign="middle" height="6" width="558" style="font-size: 1px; border-bottom: 1px solid #65845E;">
                <p align="center">
                &nbsp;
                </p></td>
            </tr>
           
        </table>
                <? } ?>
               



<table cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td valign="top" width="80%">
        <p>&nbsp;</p>
                </td>
        <td valign="top" width="145">
                <form action="index.php?id=<? echo $getid; ?>" method="post" enctype="multipart/form-data">
                <input type="hidden" name="action" value="delete">
                <input type="submit" name="submit" value="Slet valgte">
                </form>
                </td>
        <td valign="top" height="23" width="167">
                <form action="index.php?id=<? echo $getid; ?>" method="post" enctype="multipart/form-data">
                <input type="hidden" name="action" value="deleteAll">
                <input type="submit" name="submit1" value="Slet alle">
                </form></td>
    </tr>
    <tr>
    <td valign="top" height="4">
        <p style="font-size:1pt;">&nbsp;</p>
                </td>
    </tr>
</table>




               
                <?
                if($num_rows == "0"){ ?>
                <p align="center"><img src="/graphics/menu_line/green_line.png" height="1" width="95%" style="align: center; padding-top: 5px;"></p>
                <? } else { ?>
               
                <? } ?>
                <? } ?>
           
               
                <? if($_SESSION['status'] == "login" && $_SESSION['niveau'] >> "0"){
       
           
               
                $forespGETID2 = mysql_query("SELECT * FROM nyheder ORDER BY id DESC LIMIT 1");
                        while ($data = mysql_fetch_array($forespGETID2)){
                        $id = $data[id];
                         
                        if($getid == ""){
                        $getid1 = $id;
                        } else {
                        $getid1 = $_GET['id'];
                        }
}
echo "<form action=\"index.php?id=$getid1\" method=\"post\" enctype=\"multipart/form-data\">"; ?>
               
               
       
               
   
               
<input type="hidden" name="action" value="add" size="20">


<table cellpadding="0" cellspacing="0" width="674" height="20">
    <!-- MSTableType="layout" -->
    <tr>
        <td width="674" height="20" style="padding-top:2px; border-top: 2px solid #65845E;">
        <p style="font-size: 10pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;"><b>Tilføj kommentar</b></p></td>
    </tr>
</table>

<table cellpadding="0" cellspacing="0" width="674" height="200">
    <!-- MSTableType="layout" -->
    <tr>
        <td valign="top" width="80%" rowspan="3" style="padding: 5px;">
        <p style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;">Emne:
        <input type="text" name="emne" size="90" style="padding:2px; font-size:8pt; font-family: tahoma,sans-serif; color: #65845E; border: 1px solid #65845E;"></p>
        <p style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;">Kommentar:<br />
        <textarea rows="8" name="kommentar" style="padding:2px; font-size:8pt; font-family: tahoma,sans-serif; color: #65845E; border: 1px solid #65845E;" cols="102"></textarea>
        </p>
        </td>
        <td valign="top" height="175">
        <p style="font-size: 8pt; font-family: tahoma,sans-serif; color: #65845E;"><b>Hvem er du:</b><br>
        <? echo $_SESSION['brugernavn']; ?></p>
        <p style="font-size: 8pt; font-family: tahoma,sans-serif; color: #65845E;">
        <b>Hvornår bliver denne kommentar tilføjet:</b><br />
        Nu(<? echo date('d/m-Y H:i'); ?>)
        </p>
        </td>
    </tr>
    <tr>
        <td valign="bottom" height="40%"><input type="submit" value="Kommentér" style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;"><p>
        <input type="reset" value="Nulstil" style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;"></td>
    </tr>
    <tr>
        <td valign="top" height="10%">
        &nbsp;</td>
    </tr>
</table>


<< Det er vist det der jeg bruger, sådan gør jeg det, hvis du kan se noget ud af det? :)
Avatar billede cronaldo Nybegynder
03. december 2006 - 01:13 #12
smid svar :)
Avatar billede cronaldo Nybegynder
26. december 2008 - 12:14 #13
lukker..
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