Avatar billede twiggy Nybegynder
27. maj 2005 - 19:24 Der er 10 kommentarer og
1 løsning

Slet flere på en gang

Jeg har denne gæstebog på mit community.

Og jeg ville gerne have brugere skulle kunne slette sine beskeder, altså flere på en gang ved at afkrydse en ckeckbox, her er min kode:

Den sletter ikke den sender bare en ud på index.php

<?php
include("includes/mysql.php");

if(!$_GET["id"])
{
header("Location: index.php");
}

$connn = mysql_query("SELECT * FROM users WHERE id = '$_GET[id]'");
$rsss = mysql_fetch_array($connn);

if(mysql_num_rows($connn) == 0) {

header("Location: index.php");

}

if($_SERVER["REQUEST_METHOD"] == "POST")
{

$cii = mysql_query("SELECT * FROM users WHERE id = '$_GET[id]'");
$rii = mysql_fetch_array($cii);

for ($i=0; $i < 10; $i++)
{
if ($_POST["mail" . "$i"])
{
$conn = mysql_query("SELECT * FROM gb WHERE id = '".$_POST["mail" . "$i"]."'") or die (mysql_error());

if (mysql_num_rows($conn))
{
mysql_query("DELETE FROM gb WHERE id = '".$_POST["mail" . "$i"]."'") or die (mysql_error());

}
}
}

$con = mysql_query("SELECT * FROM users WHERE brugernavn = '$_SESSION[brugernavn]'");
$rss = mysql_fetch_array($con);

$sql = "INSERT INTO gb (to_user, forum_user, date, besked)
values('".$_GET["id"]."',
'".$rss["id"]."',
'".date("Y-m-j H:i:s")."',
'".$_POST["besked"]."')";
mysql_query($sql) or die(mysql_error());

}

$conn = mysql_query("SELECT * FROM users WHERE brugernavn = '$_SESSION[brugernavn]'");
$rs = mysql_fetch_array($conn);

$conn2 = mysql_query("SELECT * FROM gb WHERE to_user = '$_GET[id]'");
$rs2 = mysql_fetch_array($conn2);

$conn3 = mysql_query("SELECT * FROM users WHERE id = '$_GET[id]'");
$rs3 = mysql_fetch_array($conn3);

include("includes/top.php");

include("includes/brugermenu.php");

?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="indhold-topbar-bg">Gæstebog for <?=$rs3["brugernavn"];?> | <?=mysql_num_rows($conn2);?> indlæg</td>
</tr>
</table>


<form name="submit" method="post" action="<?=$PHP_SELF?>">

<br />

<textarea cols="50" rows="8" name="besked"></textarea><br><br>

<input type="submit" name="submit" value="Skriv besked">

<input type="button" value="Smileys" onClick="Newwin=window.open('smileys.php','Newwin','height=500,width=500,toolbar=no,status=no,scrollbars=yes,resizable=yes'); ">

</form><br /><br />

<form action="<?=$_SERVER["PHP_SELF"];?>" method="post" name="form">

<? if(mysql_num_rows($conn2) == 0) { print "Der er desværre ingen beskeder i gæstebogen."; }

$conn5 = mysql_query("SELECT * FROM gb WHERE to_user = '$_GET[id]' ORDER BY id DESC");

while($rs5 = mysql_fetch_array($conn5))
{

$conn4 = mysql_query("SELECT * FROM users WHERE id = '$rs5[forum_user]'");
$rs4 = mysql_fetch_array($conn4);

$cunn = mysql_query("SELECT * FROM online_profiles WHERE brugernavn = '$rs4[brugernavn]'");
$ruu = mysql_fetch_array($cunn);

if($rs4["kon"] == "Dreng") { $kon = "D"; } elseif($rs4["kon"] == "Pige") { $kon = "P"; }

?>

<table width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="100%" class="text" style="background: <?=$rs4["bcolor"];?>; color: <?=$rs4["fcolor"];?>; border-top: 1px solid <?=$rs4["fcolor"];?>; border-bottom: 1px solid <?=$rs4["fcolor"];?>;">
<b><?php if(mysql_num_rows($cunn) == 1) { ?><span class="online"><a href="profil.php?id=<?=$rs4["id"];?>"><?=$rs4["brugernavn"];?></a></span><?php } else { ?><a href="profil.php?id=<?=$rs4["id"];?>"><?=$rs4["brugernavn"];?></a><?php } ?></b> <?=$kon?><?=$rs4["alder"];?> | <?=format_date("\\D\e\\n. j F Y - \\K\\l\\. H:i", $rs5["date"]);?>  |  <b><a href="java script:window.open('svar.php?id=<?=$rs4["id"];?>','Detaljer','toolbar=0,status=0,scrollbars=yes,resizable=no,width=400,height=240,top=50,left=50').focus();void(0)">Gb</a><b>,</b> <a href="profil.beskeder.php?action=sendbesked&id=<?=$rs4["id"];?>">Pb</a> | <a href="profil.gb.php?id=<?=$rs4["id"];?>">Se Gb</a></b>

<?php if($rs["id"] == $_GET["id"]) { ?> | <input class="checkbox" type="checkbox" name="mail<?=$nr;?>" value="<?=$rs5["id"];?>"><?php } ?>

</td>
</tr>

<tr>
<td width="100%" class="text" style="background: <?=$rs4["bcolor"];?>; color: <?=$rs4["fcolor"];?>;">
<?php if(file_exists("images/profiles/$rs4[id].jpg")) { ?><img src="images/profiles/<?=$rs4["bnavn"];?>" width="100" height="75" align="right"><?php } ?>

<? echo nl2br(smilies(nohtml($rs5[besked]))) ?>

</td>
</tr>
</table>

<?php

}

?>

<?php

if($rs["id"] == $_GET["id"]) { ?><br />
<b><a OnClick="return confirm('Er du sikker på at du vil slette de markerede beskeder?');" href="java script:form.submit();">Slet de markeret beskeder</a></b><?php } ?>

</form>

<?php

include("includes/bund.php");

?>


Jeg er villig til at give alle de points jeg kan give hvis jeg kan få dette problem løst
Avatar billede dulius Nybegynder
27. maj 2005 - 21:41 #1
Jeg gider ikke lige kigge hele din kode igennem, men her er et eksempel på hvordan noget i den stil ville kunne laves:

// Vis oversigt over oprettede indlæg fra bruger
echo '<form method="post" action="sletindlaeg.php">';
$sql="SELECT id, overskrift .... FROM indlaeg WHERE userid='$userid'";
while(@extract(@mysql_fetch_assoc(mysql_query($sql))))
{
echo "$overskrift: <input type=\"checkbox\" name=\"fjernes[]\" value=\"<?=$id;?>\" /><br />";
}
echo '<input type="submit" value=" Slet " /></form>';
</php
?>

sletindlaeg.php:

$fjernes=$_POST["fjernes"];
foreach($fjernes as $id)
{
    mysql_query("DELETE FROM indlaeg WHERE id='$id'");
}
Avatar billede dulius Nybegynder
27. maj 2005 - 21:41 #2
Kom lige til at trykke lidt for hurtigt på "Send"... Mit eksempel viser meget groft hvordan man gør det! Håber du forstår, ellers så sig til, så skal jeg nok forklare det.

Mvh. Julius
Avatar billede twiggy Nybegynder
27. maj 2005 - 23:49 #3
Skal while løkken se sådan her ud ?

while(@extract(@mysql_fetch_assoc(mysql_query($sql))))

kan den ikke bare se sådan her ud

while($rs = mysql_fetch_array($sql)) {

?
Avatar billede dulius Nybegynder
28. maj 2005 - 00:02 #4
joh kan den godt, jeg plejer bare at gøre det på den anden måde :)
http://dk2.php.net/extract

kunne du bruge mit eksempel til noget?
Avatar billede twiggy Nybegynder
28. maj 2005 - 00:08 #5
Kan jeg ikke få til at virke

Nogle andre der har noget jeg kan bruge ;o)?
Avatar billede sukos Juniormester
28. maj 2005 - 07:35 #6
Samme som dulius:

echo"<form action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";

for($i = 1; $i <= 5; $i++) {
echo"<input type=\"checkbox\" name=\"fjernes[]\" value=\"". $i ."\" id=\"l_". $i ."\"><label for=\"l_". $i ."\">checkbox ". $i ."</label><br>\n";
}

echo"<input type=\"submit\" value=\"Vis\">\n";
echo"</form>";


if(isset($_POST["fjernes"])) {
    foreach($_POST["fjernes"] as $vaerdi) {
    $sql = "DELETE FROM `tabel` WHERE `id` = ". intval($vaerdi) ." AND `ejer` = 'navn'";
    echo $sql ."<br />\n";
    }
}
Avatar billede twiggy Nybegynder
28. maj 2005 - 17:39 #7
Nu ved hvert indlæg kommer der bare en masse chekboxe i træk hvor der står chekbox og så et nummer ude foren dem :S

www.r-fritz.dk

Logind som

Bruger: test
pass: 3mobil
Avatar billede twiggy Nybegynder
28. maj 2005 - 17:47 #8
gå ind på gb'en

profil.gb2.php?id=44

og se selv.
Avatar billede nielle Nybegynder
24. juni 2005 - 19:08 #9
Bør dette spørgsmål ikke lukkes? Det er klaret i:

http://www.eksperten.dk/spm/621481
Avatar billede twiggy Nybegynder
31. oktober 2005 - 17:04 #10
Hvad skal jeg så gøre her :O?
Hvem skal jeg give disse points til ?
Avatar billede twiggy Nybegynder
02. november 2005 - 13:13 #11
Nå..
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