Avatar billede michaelbn Juniormester
16. december 2005 - 17:39 Der er 15 kommentarer og
1 løsning

Kommando til reload af side

Findes der en kommando til at reloade en side? Jeg har en side, der viser indholdet af en tabel i MySQL. Noget af det er lavet som link, og trykker man på det, slettes den pågældende post i databasen. Og så vil det være smart, hvis siden derefter reloader, så den slettede post ikke bliver ved at stå på listen.
Avatar billede pidgeot Nybegynder
16. december 2005 - 17:46 #1
Reloader siden ikke alligevel når nu det er et link? Eller kalder linket blot en JavaScript-funktion?
Avatar billede jakobdo Ekspert
16. december 2005 - 18:10 #2
Når du klikker på et link, åbner det link så i ny side?
Avatar billede elskermad.dk Nybegynder
16. december 2005 - 18:41 #3
du skal nok have koden som sletter posten før hvor du udskriver html'en til siden, så er en reload ikke nødvendig... :)
Avatar billede jakobdo Ekspert
16. december 2005 - 18:54 #4
Det kommer jo lidt an på hvordan hele hant kode er sat sammen! :o)
Hvis nu det sker i eksternt link, som åbnes i ny side, så vil den side han står på jo kræve en reload!

Så lide kode som kan kilde ville nok være på sin plads!
Avatar billede pidgeot Nybegynder
16. december 2005 - 18:56 #5
Det vil ikke undre mig om det blot er det der skal til, men som jakobdo ganske rigtigt siger, så afhænger det helt af hvordan siden fungerer lige nu. :)
Avatar billede michaelbn Juniormester
16. december 2005 - 19:46 #6
Koden er her. Som man kan se, omdannes datoen til et link (formular.php?slet=$id). Altså et link til den samme side (siden hedder formular.php) men med en henvisning til funktionen 'slet'. Og den funktion står nederst på siden.

<?php
require_once("forbindelse.php");
$resultat = mysql_query(" SELECT * " . " FROM tvkampe " . "ORDER BY aar,maaned,dato ASC");

$num_rows = mysql_num_rows($resultat);

if  ( $num_rows == 0 ) {
echo "Der er ingen informationer om tv-kampe";
} else {
echo "<TABLE BORDER=\"0\" cellspacing=\"0\" cellpadding=\"3\">";
echo "<TR><TD><B>Dato</B></TD><TD><B>Kamp</B></TD><TD><B>Kanal</B></TD><TD><B>Tidspunkt</B></TD></TR>";

while($row = mysql_fetch_array($resultat)) {
$id=$row[id];
$kamp=$row[kamp];
$kanal=$row[kanal];
$dato=$row[dato];
$maaned=$row[maaned];
$aar=$row[aar];
$klokken=$row[klokken];
echo "<TR><TD><A HREF=\"formular.php?slet=$id\">$dato/$maaned -  $aar</A></TD><TD>$kamp</TD><TD>$kanal</TD><TD>$klokken</TD></TR>";
}
}

$slet = $_REQUEST["slet"];
if (isset($slet)) {
    $delete = mysql_query("DELETE FROM tvkampe WHERE id=$slet");
}

mysql_close();

echo "</TABLE>";
?>
Avatar billede jakobdo Ekspert
16. december 2005 - 19:52 #7
Flyt koden:
$slet = $_REQUEST["slet"];
if (isset($slet)) {
    $delete = mysql_query("DELETE FROM tvkampe WHERE id=$slet");
}
op under:
require_once("forbindelse.php");
Avatar billede pidgeot Nybegynder
16. december 2005 - 19:52 #8
Flyt

$slet = $_REQUEST["slet"];
if (isset($slet)) {
    $delete = mysql_query("DELETE FROM tvkampe WHERE id=$slet");
}

op lige før $resultat = mysql_query(" SELECT * " . " FROM tvkampe " . "ORDER BY aar,maaned,dato ASC"); - så virker den som du vil have.
Avatar billede pidgeot Nybegynder
16. december 2005 - 19:54 #9
Gah, 39 sekunder for sent på den :)
Avatar billede jakobdo Ekspert
16. december 2005 - 20:10 #10
Og en anden ting, smid lige:
$slet = mysql_real_escape_string($_REQUEST['slet']);

Ellers kan du udsættes for SQL injections.
Avatar billede michaelbn Juniormester
16. december 2005 - 20:19 #11
Hvad gør den kode i f.t. den nuværende?
Avatar billede jakobdo Ekspert
16. december 2005 - 20:27 #12
Avatar billede michaelbn Juniormester
16. december 2005 - 22:39 #13
Det blev jeg ærlig talt ikke meget klogere af....??
Avatar billede jakobdo Ekspert
17. december 2005 - 00:14 #14
Kan du engelsk?

mysql_real_escape_string() calls MySQL's library function mysql_escape_string, which prepends backslashes to the following characters: NULL, \x00, \n, \r, \, ', " and \x1a.
Avatar billede jakobdo Ekspert
17. december 2005 - 00:14 #15
Og et svar!
Avatar billede jakobdo Ekspert
17. december 2005 - 11:54 #16
Takker for point!
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