Hej! Hej! Jo, Henrik, när jag kör scriptet finns både databasnamn och lösenord med och så långt funkar det. Och till Per, ja efter att jag tryckt på Radera-knappen så får jag meddelandet att ett datum har raderats. Så allt verkar fungera. Problemet är bara att posten ändå finns kvar. Jag förstår inte alls vad jag har skrivit för fel... Jättetacksam för hjälp!!! (Är i USA på semester, därför litet konstigt med tiderna - hoppas ni orkar hänga i ändå!) Har du rätt format på datumet, är det samma som det som står i databasen? Hämta och radera poster från db
Jag är novis och försöker mig på att radera utvalda poster ur en tabell i en sql-dabatabas (det är så enkelt står det överallt), men när jag skriver följande så händer ingenting. Jo, jag får fram sidan och jag kan välja post ur tabellen, men när jag trycker på radera händer ingenting. Är det någon som kan se varför. Så här ser det ut (filen är alltså döpt till: tidsradering.php):
<html>
<head>
<title>Radera tider</title>
</head>
<body>
<?php $connection = mysql_connect("localhost", "", "") or die("Kunde inte skapa koppling!");
mysql_select_db("") or die("Kunde inte välja databas");
?>
<?php if(!empty($_POST['datum']))
{
$datum = $_POST['datum'];
$del = "DELETE FROM Tabell WHERE datum = '$datum'";
mysql_query($del) or die("Det gick inte att radera från databasen!");
print("Raderade ett datum...<p/>");
}
?>
Välj ett namn som skall raderas...<br/>
<form method="POST" action="tidsradering.php">
<select name="datum">
<?php $hamta = "SELECT datum FROM Tabell ORDER BY datum";
$resultat = mysql_query($hamta) or die("Det gick inte att hämta information från databasen!");
while($rad = mysql_fetch_array($resultat))
print("<option value=" . $rad["datum"] . ">" . $rad["datum"]);
mysql_free_result($resultat);
?>
</select>
<input type="submit" value="Radera">
</form>
<?php mysql_close($connection);
?>
</body>
</html>
Jag är säker på att någon erfaren snabbt kan se vad jag har gjort för fel. Jag är jättetacksam för hjälp!!!
/ MikaelSv:Hämta och radera poster från db
TAck för tipset (jag borde självklart ha sett det själv!!!) - jag gjorde så, men får det ändå inte att fungera! Konstigt!Sv:Hämta och radera poster från db
Sv: Hämta och radera poster från db
För det verkar som om du inte hittar det datum du letar efter. Om sql frågan är rätt ställd får du inget felmedelande även om du inte hittar några datum. Använd mysql_affected_rows() för att ta reda på hur många poster som blivit borttagna.
Ett tips är att använda typ strtotime eller mktime som skapar ett Unix timestamp, det är antal sekunder från 1970-01-01 00:00:00, läs mer på http://www.php.net/manual/en/function.strtotime.php. Sen sparar du bara det värdet i databasen och använder det för att jämföra med. Fördelen är att du får ett numeriskt värde vilket är lättare att ta hand om.