Avatar billede michaelbn Juniormester
14. december 2005 - 22:02 Der er 3 kommentarer

Slette data i database fra en hjemmeside

Mit problem er, at jeg har en tabel i min database, der indeholder nogle fodboldkampe, der vises i tv. En anden person skal fra en hjemmeside vedligeholde denne tabel. Jeg har lavet det sådan, han kan lægge nye kampe ind i tabellen, og det virker fint. Men han skal også gerne kunne slette kampe, og det kan jeg simelthen ikke få til at virke. Jeg har en fil, der viser alle kampe i tabellen. Datoen for en kamp er lavet til et link, og via dette link skal man kunne slette denne ene kamp. Når man trykker på linket, kaldes en side med følgende indhold:

<?php
require_once("../forbindelse.php");

$resultat = mysql_query(" SELECT * " . " FROM tvkampe " . " WHERE ID = $row_id ");

$num_rows = mysql_num_rows($resultat);

if  ( $num_rows == 0 ) {
echo "Der er ingen informationer om tv-kampe";
} else {

echo "<FORM METHOD=GET  ACTION=\"kalender_dato.slet.php\">";
while($row = mysql_fetch_array($resultat)) {
$kamp=$row["kamp"];
$dato=$row["dato"];
$maaned=$row["maaned"];
$aar=$row["aar"];
echo "<center><BR><P CLASS=\"headline\">Dato: <B>$dato/$maaned - $aar</B><BR><BR> ";
echo "Begivenhed: <B>$kamp</B></p>";
echo "<BR>";

}
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"ID\" value=$row_id>";

echo "<INPUT TYPE=\"SUBMIT\" class=\"button\" VALUE=\" Slet dato fra kalender !\">";
echo "</FORM>";

echo "<FORM METHOD=\"POST\" ACTION=\"kalender.aendre.php\">";
echo "<INPUT TYPE=\"SUBMIT\" class=\"button\" VALUE=\" Fortryd sletning !\">";
echo "</center></FORM>";
}
mysql_close();
?>

Problemet er, at uanset hvilken kamp man trykker på, vises sætningen "Der er ingen informationer om tv-kampe". Den skal kun vises, hvis tabellen er tom.

Jeg håber virkelig der er en, som kan hjælpe mig, for nu har jeg læst alle mulige hæfter og bøger og forsøgt og forsøgt, men det virker bare ikke!!!!
Avatar billede master_orion Nybegynder
14. december 2005 - 22:43 #1
Håber virkelig at det vil fungere for dig hvis du bruger understående kode..
$resultat = mysql_query("SELECT * FROM tvkampe WHERE ID = '$row_id'");
$row = mysql_fetch_array($resultat);   
if (mysql_num_rows($resultat) == 0){
echo "Der er ingen informationer om tv-kampe";
} else {
//kode
}
Avatar billede jaw Nybegynder
15. december 2005 - 00:02 #2
Hvor kommer $row_id fra? Sikker på, at den udtrækker det du tror den gør? Evt. udskriv:
echo " SELECT * " . " FROM tvkampe " . " WHERE ID = $row_id ";
og se om den er som den skal være.
Avatar billede michaelbn Juniormester
15. december 2005 - 10:05 #3
Det virker heller ikke med koden fra master_orion, desværre... :-(

Jeg ved ikke, om den udtrækker det rigtige. Den første fil, man åbner, har følgende indhold:

<?php
echo "<center><h1>Tv-kampe</h1></center>";
echo "<center>Tryk på datoen for at slette en kamp</p></center>";
require_once("../forbindelse.php");
$resultat = mysql_query(" SELECT id,kamp,kanal,dato,maaned,aar,klokken " . " 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=\"kalender.slet.php?row_id=$id\">$dato/$maaned -  $aar</A></TD><TD>$kamp</TD><TD>$kanal</TD><TD>$klokken</TD></TR>";
}
}
mysql_close();

echo "</TABLE>";
?>
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
Computerworld tilbyder specialiserede kurser i database-management

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