Avatar billede nyhuus Nybegynder
08. december 2004 - 09:40 Der er 9 kommentarer og
1 løsning

Slette mondul til en gæstebog

Jeg skal bruge et php script til og ferjne tabeller i mysql, eller et "slette side" hvor jeg kan se emne og navne og bekseden fra alle sammen, også skal jeg kunne sætte et kryds ved dem der skal ferjnes og så trykke slet, og så skal den ferjne de indlæg fra databasen.

her er liuge min mysql database hvis det kan hjælpe lidt ;)
---------------------------
CREATE TABLE `tagwall` (
`id` INT NOT NULL ,
`navn` VARCHAR( 250 ) NOT NULL ,
`besked` TEXT NOT NULL ,
`mail` VARCHAR( 250 ) NOT NULL ,
`hp` VARCHAR( 250 ) NOT NULL ,
INDEX ( `id` )
);
Avatar billede Slettet bruger
08. december 2004 - 10:15 #1
Her er et utestet udkast som du selv må teste og bygevidere på :-)
Jeg har på fornemmelsen at det kan gøres meget mere optimalt, men prøv det her til at starte med...

<?php
if (isset($_POST)) {
$sql_part = "";
  foreach ($_POST AS $key => $value) {
    if ($value == "1") {
      if (!empty($sql_part)) {
        $sql_part .= " OR ";
      }
      $sql_part .= "id=".$key;
    }
  }
  if (!empty($sql_part)) {
    mysql_query("DELETE FROM tagwall WHERE ".$sql_part);
    header("Location: ".$_SERVER['PHP_SELF']);
    exit;
  }
}
?>
<html>
<head>
<title>Slet beskeder i tagwall</title>
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<table>
<tr>
<td><p>Id</p></td>
<td><p>navn</p></td>
<td><p>besked</p></td>
<td></td>
</tr>
<?php
$result = mysql_query("SELECT id, navn, besked FROM tagwall WHERE 1");
while ($row = mysql_fetch_array($result)) {
  echo "<tr>
<td>".$row['id']."</td>
<td>".$row['navn']."</td>
<td>".$row['besked']."</td>
<td><input type=\"checkbox\" name=\"".$row['id']."\" value="delete" /></td>
</tr>
";
}
echo "</table>";
?>
<input type="submit" value="slet markerede" name="submit1" />
</form>
</body>
</html>
Avatar billede nyhuus Nybegynder
08. december 2004 - 12:49 #2
jeg kan prøve, men jeg er lidt ny til php, jeg har fået hjælp til og lave denne tagwall
Avatar billede nyhuus Nybegynder
10. december 2004 - 14:33 #3
Den siger:
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in test/tagwall_slet.php on line 40
Avatar billede nyhuus Nybegynder
10. december 2004 - 14:49 #4
nogen der kan hjælpe med det?
Avatar billede nyhuus Nybegynder
10. december 2004 - 15:15 #5
<td><input type=\"checkbox\" name=\"".$row['id']."\" value="delete" /></td> < det er denne her der er linie 40
Avatar billede nyhuus Nybegynder
11. december 2004 - 03:09 #6
jeg har selv fixet linien men den vil ike slette noget

<td><input type=\"checkbox\" name=\"".$row['id']."\" value=\"delete\"/></td>
Avatar billede morteeart Nybegynder
11. december 2004 - 03:16 #7
prøv at højdeklikke på din side, og checke hvad html outputtet står til.
Hvis der f.eks. ikke er noget id, som name i checkboxe er der jo en fejl.

Det kan nemlig godt forekomme at der ikke er php fejl, men det stadig ikke virker :~)
Avatar billede frank-t Nybegynder
11. december 2004 - 03:34 #8
<?php

/**
*
* Delete from questbook
* by Frank 'knarf' Thomsen
* www.frankthomsen.net
**/

/*CREATE TABLE `tagwall` (
`id` INT NOT NULL ,
`navn` VARCHAR( 250 ) NOT NULL ,
`besked` TEXT NOT NULL ,
`mail` VARCHAR( 250 ) NOT NULL ,
`hp` VARCHAR( 250 ) NOT NULL ,
INDEX ( `id` )
);
*/

$prefix = "";
$table = $prefix."tagwall";

    // Display delete sektion
    print "<TABLE align=\"center\"><TR><TD>";
    print "
    <TABLE align=\"left\" width=\"450\" cellpadding=\"0\" cellspacing=\"0\">
    <TR>
    <TD class=\"newstop\">&nbsp;</TD>
    </TR>
    <TR>
    <TD class=\"newsborder\"><DIV style=\"margin: 10px 5px 5px 10px;\">";
   
        // Connect to the database and display the entries
        $guestbook_result = mysql_query("SELECT id,navn FROM $table ORDER by 'id' DESC") or die(mysql_error());
        print"
        <form action=\"?delete=true\" method=\"POST\">\n
        <TABLE width=\"100%\">\n
        <TR>\n
        <TD width=\"10px\"><b>#</b></TD>\n
        <TD><b>Navn</b></TD>\n
        <TD><b>Dato</b></TD>\n
        <TD><b>Delete</b></TD>\n
        </TR>\n
        ";
       
        $id = "";
       
        while($row = mysql_fetch_array($guestbook_result)){

            $i = $i + 1;
            print"
            <TR>\n
            <TD>".$i."</TD>\n
            <TD>".$row[1]."</TD>\n
            <TD>".date("d/m/Y - H:i",$row[0])."</TD>\n
            <TD><input type=\"checkbox\" name=\"delete-".$row["id"]."\" value=\"".$row["id"]."\"/></TD>\n
            </TR>\n
            ";
           
            $id = $id.",".$row["id"];
        }
        print "
        </TABLE>\n
        <input name=\"submit\" type=\"submit\" value=\"Submit\"/>\n
        </form>\n
        ";

   
    print "
    </DIV></TD>
    </TR>
    <TR>
    <TD class=\"newsbottom\">&nbsp;</TD>
    </TR>
    </TABLE>
    ";
    print "</TD></TR></TABLE>";
   
    if ($_GET["delete"] == "true") {

        $id = substr($id,1);
        $id = explode(",", $id);
        $x = count($id);

        for    ($i=0;$i<=$x;$i++){
            if ($_POST["delete-".$id[$i]] != "") {

                $mysqldelete = "DELETE FROM $table WHERE id = '$id[$i]'";
                mysql_query($mysqldelete) or die(mysql_error());
               
            }
        }
//        header("Location: ?admin=news");
        exit;
        }

    }
?>

hmmm ca. det der :) har ikke testet det, men ja :)
Avatar billede frank-t Nybegynder
11. december 2004 - 04:04 #9
hov, det var sq da en forkert c/p
-----------------------------
<?php

/**
*
* Delete from questbook
* by Frank 'knarf' Thomsen
* www.frankthomsen.net
**/

/*CREATE TABLE `tagwall` (
`id` INT NOT NULL ,
`navn` VARCHAR( 250 ) NOT NULL ,
`besked` TEXT NOT NULL ,
`mail` VARCHAR( 250 ) NOT NULL ,
`hp` VARCHAR( 250 ) NOT NULL ,
INDEX ( `id` )
);
*/
$host = "";            // the hostname
$user = "";            // the username
$pass = "";            // the password
$database = ""        // the databasename

mysql_connect("$host", "$user", "$pass");
mysql_select_db("$database");

$prefix = "";
$table = $prefix."tagwall";

    // Display delete sektion
    print "<TABLE align=\"center\"><TR><TD>";
    print "
    <TABLE align=\"left\" width=\"450\" cellpadding=\"0\" cellspacing=\"0\">
    <TR>
    <TD class=\"newstop\">&nbsp;</TD>
    </TR>
    <TR>
    <TD class=\"newsborder\"><DIV style=\"margin: 10px 5px 5px 10px;\">";
   
        // Connect to the database and display the entries
        $guestbook_result = mysql_query("SELECT id,navn FROM $table ORDER by 'id' DESC") or die(mysql_error());
        print"
        <form action=\"?delete=true\" method=\"POST\">\n
        <TABLE width=\"100%\">\n
        <TR>\n
        <TD width=\"10px\"><b>#</b></TD>\n
        <TD><b>Navn</b></TD>\n
        <TD><b>Dato</b></TD>\n
        <TD><b>Delete</b></TD>\n
        </TR>\n
        ";
       
        $id = "";
       
        while($row = mysql_fetch_array($guestbook_result)){

            $i = $i + 1;
            print"
            <TR>\n
            <TD>".$i."</TD>\n
            <TD>".$row[1]."</TD>\n
            <TD>".date("d/m/Y - H:i",$row[0])."</TD>\n
            <TD><input type=\"checkbox\" name=\"delete-".$row["id"]."\" value=\"".$row["id"]."\"/></TD>\n
            </TR>\n
            ";
           
            $id = $id.",".$row["id"];
        }
        print "
        </TABLE>\n
        <input name=\"submit\" type=\"submit\" value=\"Submit\"/>\n
        </form>\n
        ";

   
    print "
    </DIV></TD>
    </TR>
    <TR>
    <TD class=\"newsbottom\">&nbsp;</TD>
    </TR>
    </TABLE>
    ";
    print "</TD></TR></TABLE>";
   
    if ($_GET["delete"] == "true") {

        $id = substr($id,1);
        $id = explode(",", $id);
        $x = count($id);

        for    ($i=0;$i<=$x;$i++){
            if ($_POST["delete-".$id[$i]] != "") {

                $mysqldelete = "DELETE FROM $table WHERE id = '$id[$i]'";
                mysql_query($mysqldelete) or die(mysql_error());
               
            }
        }
//        header("Location: ?admin=news");
        exit;
        }
mysql_close();
?>
Avatar billede nyhuus Nybegynder
11. december 2004 - 04:07 #10
Jeg siger mange tak for hjælpen, og det virker som det skal :D
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