Hej! :)
Jag har denna kod, tanken är att alla poster( "companies") med en viss kategori måste vara borttagna först för att det ska gå att ta bort den kategorin. ( "category").
Men, nu raderas poster i båda fallen, alltså även om det finns poster med vald kategori att deleta kvar i databasen.
Tacksam för hjälp.
$dbh=mysql_connect ("localhost", "xxx", "xxxxx") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("xxx");
$Query = "SELECT * FROM categories WHERE `id`=$id";
$res = mysql_query($Query);
if(mysql_num_rows($res)==0){
echo "You have to delete all companies first in this category to be able to delete the category!";
}else{
$Query = "DELETE FROM categories WHERE `id`=$id";
$Result = mysql_query($Query) or die("Error: ".mysql_error()." in query: ".$Query);
echo "The category is now deleted";
}
UlfTMedlem sedan maj 20018 027 inlägg Utan att veta något om hur du har modellerat din bas, skulle jag vilja hävda att det enda du kontrollerar, är om kategorin du ska radera, överhuvudtaget finns. Det där med companies som du skriver om, verkar du inte kolla alls.
Hej! :)
Om:
SELECT * FROM categories WHERE `id`=$id
Ger några träffar så finns det företag i databasen med kategorin som ska bort, ursäkta att jag var otydlig.
Tänkte mer nu...du har nog rätt, jag ska få in "Companies" i den första SQL frågan, ska testa lite mer nu, återkommer....
Tack!!! :)
UlfTMedlem sedan maj 20018 027 inlägg
Pellefant skrev:
Hej! :)
Om:
SELECT * FROM categories WHERE `id`=$id
Ger några träffar så finns det företag i databasen med kategorin som ska bort, ursäkta att jag var otydlig.
Det känns som man skulle vilja veta hur du har modellerat. När jag ser en tabell som heter "categories", med kolumnen "id". Då tänker jag att tabellen innehåller just kategorier, och att "id" är kategoriernas primärnyckel. Själv tänker jag att företagen finns i en helt annan tabell, tex "companies", vilken i sin tur har en foreign key, säg "kategori_id", vilken refererar till tabellen "categories" primärnyckel. Då borde du kolla i "companies" om det finns några företag som refererar till den kategori som du vill radera. Men det är bara om man modellerar som jag skulle ha gjort.
Gjorde som så att jag deletar alla companies automatiskt i önskad deleta kategori nu istället, och skriver en varning till användaren om det innan. (pop-up med Ja, nej)
Tack så mycket för hjälpen UlfT, lite längre upp i tråden skrev jag att du var helt rätt i din tankegång. :)