Avatar billede raan Nybegynder
08. november 2005 - 17:23 Der er 23 kommentarer og
1 løsning

Slet knap og næste side ?

hej.
Er der en der kan hjælpe mig med at ændre lidt i mit php her, for kan ikke finde ud at lave en slet knap udfor hver besked, også vil jeg også gerne have så den kun viser 10 beskeder pr. side?

Håber på noget hjælp.

<?php
include("connect.php");
$query = mysql_query("SELECT * FROM bornholmgb ORDER BY id DESC")or die(mysql_error());
echo "<table border=0>";
if(mysql_num_rows($query)>0)
{
while($row = mysql_fetch_assoc($query))
{
echo "<tr><td><br><b>Navn:</b></td><td><br> " . $row["navn"] . "</td></tr><tr><td><b>Brugernavn: </b></td><td><a href=http://".$row['brugernavn'].".arto.dk target=_blank>".$row['brugernavn']."</a></td></tr><tr><td><b>Besked: </td><td></b>" . $row["besked"] . "</td></tr>";
}
}
else
{
echo "Ingen beskeder.";
}
echo "</table>";

include("ban.php");
?>
Avatar billede udvikler Nybegynder
08. november 2005 - 17:51 #1
Slet knap:

mysql_query("DELETE FROM tabelnavn where id='blabla'")or die(mysql_error());

vis næste 10:

$antal_pr_side = 5;

$offset = (isset($_GET['offset']) && is_numeric($_GET['offset'])) ? $_GET['offset'] : 0;

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM tabelnavn"),0);
if ($offset >= $antal_pr_side) {
$forrige = $offset-$antal_pr_side;
echo "<a href='?offset=$forrige'>Forrige</a> | ";
}

if ($antal > $offset+$antal_pr_side) {
$naeste = $offset+$antal_pr_side;
echo "<a href='?offset=$naeste'>Næste</a>";
}
Avatar billede raan Nybegynder
08. november 2005 - 18:05 #2
hvor skal jeg sætte: mysql_query("DELETE FROM tabelnavn where id='blabla'")or die(mysql_error()); ind henne ?
Avatar billede raan Nybegynder
08. november 2005 - 18:11 #3
men den der side ting virker ikke.

www.randersen.dk/privat/test/vis.php
Avatar billede udvikler Nybegynder
08. november 2005 - 18:12 #4
Altså selve linien sletter noget fra tabellen, så det er vel op til dig selv hvor du vil sætte den :)
Avatar billede jakobdo Ekspert
08. november 2005 - 18:14 #5
Prøv lige at smid:
echo "<hr>";
show_source(__FILE__);
i bunden af din kode, så kan vi se hvordan du har gjort.
Avatar billede raan Nybegynder
08. november 2005 - 18:19 #6
så kan du se . :)

jamen hvis jeg sætter den ind? laver den så en slet knap ?
Avatar billede udvikler Nybegynder
08. november 2005 - 18:21 #7
Du har jo smidt min kode i bunden uden <? og ?> hehe

så bliver det jo ikke opfattet og computeren, derfor virker det ikke
Avatar billede raan Nybegynder
08. november 2005 - 18:26 #8
se nu ?
Avatar billede hmortensen Nybegynder
08. november 2005 - 18:36 #9
Du skal ha de her linier øverst:
$antal_pr_side = 5;

$offset = (isset($_GET['offset']) && is_numeric($_GET['offset'])) ? $_GET['offset'] : 0;

Så kan du sætte en limit på dit udtræk:
LIMIT $offset, $antal_pr_side
Avatar billede jakobdo Ekspert
08. november 2005 - 18:47 #10
Prøv lige: <?php
include("connect.php");

$antal_pr_side = 10;

$offset = (isset($_GET['offset']) && is_numeric($_GET['offset'])) ? $_GET['offset'] : 0;

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM bornholmgb"),0);
if ($offset >= $antal_pr_side)
{
    $forrige = $offset-$antal_pr_side;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
}

if ($antal > $offset+$antal_pr_side)
{
    $naeste = $offset+$antal_pr_side;
    echo "<a href='?offset=$naeste'>Næste</a>";
}

$query = mysql_query("SELECT * FROM bornholmgb ORDER BY id DESC LIMIT $offset, $antal_pr_side")or die(mysql_error());
echo "<table border=0>";
if(mysql_num_rows($query)>0)
{
    while($row = mysql_fetch_assoc($query))
    {
        echo "<tr><td><br><b>Navn:</b></td><td><br> " . $row["navn"] . "</td></tr><tr><td><b>Brugernavn: </b></td><td><a href=http://".$row['brugernavn'].".arto.dk target=_blank>".$row['brugernavn']."</a></td></tr><tr><td><b>Besked: </td><td></b>" . $row["besked"] . "</td></tr>";
    }
}
else
{
    echo "Ingen beskeder.";
}
echo "</table>";

include("ban.php");

?>
Avatar billede hmortensen Nybegynder
08. november 2005 - 18:53 #11
Det her skal så nederst hvis du ønsker navigations linksne under indlæggene:
if ($offset >= $antal_pr_side)
{
    $forrige = $offset-$antal_pr_side;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
}

if ($antal > $offset+$antal_pr_side)
{
    $naeste = $offset+$antal_pr_side;
    echo "<a href='?offset=$naeste'>Næste</a>";
}
Avatar billede raan Nybegynder
08. november 2005 - 18:57 #12
Brugte jakobdo's . :)
men hvad med slet knappen ? :)
Avatar billede hmortensen Nybegynder
08. november 2005 - 19:06 #13
Ændre din while løkke til noget i den her retning:
while($row = mysql_fetch_assoc($query))
    {
        echo "<tr><td><br><b>Navn:</b></td><td><br> " . $row["navn"] . "</td></tr><tr><td><b>Brugernavn: </b></td><td><a href=http://".$row['brugernavn'].".arto.dk target=_blank>".$row['brugernavn']."</a></td></tr><tr><td><b>Besked: </td><td></b>" . $row["besked"] . "</td></tr>";
  echo '<a href="del.php?id='.$row['id'].'&&offset='.$offset.'">Slet</a>';
    }

Og så lave en side der hedder del.php med flg.:
<?php
if (isset($_GET['id']) && is_nummeric($_GET['id']))
{
  mysql_query("DELETE FROM bornholmgb WHERE id = ".$_GET['id']." LIMIT 1");
}
header("location: vis.php?offset=".$_GET['offset']);
exit;
?>
Avatar billede raan Nybegynder
08. november 2005 - 22:03 #14
der kommer bare hvid side :s
Avatar billede jakobdo Ekspert
08. november 2005 - 22:33 #15
Et svar!
Avatar billede raan Nybegynder
08. november 2005 - 22:33 #16
hmortensen ogjakobdo et svar.
Avatar billede jakobdo Ekspert
08. november 2005 - 22:34 #17
hmortensen: Nu har jeg rodet med den kode 30 minutter!
Og så var fejlen: is_nummeric -> is_numeric :o)
Avatar billede raan Nybegynder
08. november 2005 - 22:37 #18
vis.php

<?php
include("connect.php");

$antal_pr_side = 10;

$offset = (isset($_GET['offset']) && is_numeric($_GET['offset'])) ? $_GET['offset'] : 0;

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM bornholmgb"),0);
if ($offset >= $antal_pr_side)
{
    $forrige = $offset-$antal_pr_side;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
}

if ($antal > $offset+$antal_pr_side)
{
    $naeste = $offset+$antal_pr_side;
    echo "<a href='?offset=$naeste'>Næste</a>";
}

$query = mysql_query("SELECT * FROM bornholmgb ORDER BY id DESC LIMIT $offset, $antal_pr_side")or die(mysql_error());
echo "<table border=0>";
if(mysql_num_rows($query)>0)
{
    while($row = mysql_fetch_assoc($query))
    {
        echo "<tr><td><br><b>Navn:</b></td><td><br> " . $row["navn"] . "</td></tr><tr><td><b>Brugernavn: </b></td><td><a href=http://".$row['brugernavn'].".arto.dk target=_blank>".$row['brugernavn']."</a></td></tr><tr><td><b>Besked: </td><td></b>" . $row["besked"] . "</td>";
        echo "<td><a href=\"del.php?id=".$row["id"]."\">Slet</a></td></tr>";
    }
}
else
{
    echo "Ingen beskeder.";
}
echo "</table>";

if ($offset >= $antal_pr_side)
{
    $forrige = $offset-$antal_pr_side;
    echo "<a href='?offset=$forrige'>Forrige</a> | ";
}

if ($antal > $offset+$antal_pr_side)
{
    $naeste = $offset+$antal_pr_side;
    echo "<a href='?offset=$naeste'>Næste</a>";
}

include("ban.php");

?>

-------------------------------------

del.php

<?php
include("connect.php");

if (isset($_GET['id']) && is_numeric($_GET['id']))
{
  mysql_query("DELETE FROM bornholmgb WHERE id = ".$_GET['id']." LIMIT 1") or die(mysql_error());
}
header("location: vis.php");
exit;
?>
Avatar billede steven_ Nybegynder
08. november 2005 - 22:41 #19
Du kan lige smide lidt sikkerhed på ved at indsætte din IP-adresse i scriptet.

del.php

<?php
include("connect.php");

if ($_SERVER['REMOTE_ADDR'] == "000.000.000.00" && isset($_GET['id']) && is_numeric($_GET['id']))
{
  mysql_query("DELETE FROM bornholmgb WHERE id = ".$_GET['id']." LIMIT 1") or die(mysql_error());
}
header("location: vis.php");
exit;
?>

Så vil den kun slette hvis besøgerens ip-adresse er "000.000.000.00", som du selvfølgelig retter til din egen.

--
din ip-adresse kan findes på www.myip.dk!
Avatar billede hmortensen Nybegynder
09. november 2005 - 08:06 #20
jakobdo, har jeg nogensinde sagt at jeg kan stave ? ;)
Avatar billede jakobdo Ekspert
09. november 2005 - 09:21 #21
:o)

Og takker for point!
Avatar billede raan Nybegynder
09. november 2005 - 17:15 #22
det er meget smart . :)
men har flere brugere der skal kunne slette og bruger også et loginsystem ;)
Avatar billede jakobdo Ekspert
09. november 2005 - 18:33 #23
Så skal du lave nogle rettigheder!
Så du skal teste om en bruger må være på en side eller ej!
Avatar billede hmortensen Nybegynder
09. november 2005 - 19:49 #24
Så kan du sætte en session med brugerniveau, og så udskrive sletteknappen hvis niveuaet passer, og huske at lave tjekket på slette siden også, så den ikke kan kaldes direkte.
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