webForumDet fria alternativet

Klurig SQL fråga ?

3 svar · 250 visningar · startad av Pellefant

PellefantMedlem sedan maj 20023 372 inlägg
#1

Hejsan!

Har denna(ofullständig):

$Query = "UPDATE songrequests SET artist='$artist', song='$song' ";

Detta är till en topplista, där sidbesökare kan önska en artist och låt. Jag skulle vilja att om artist och sång inte finns i tabellen innan så lägga till den på en ny rad, samt sätta kolumnen "amount" till 1 (Här räknas hur många gånger en låt blivit önskat), men om låten,artisten redan finns i tabellen, så bara öka amount med 1.

Tabellens samtliga kolumner är: id, artist,song och amount.

Någon kanske tänker att detta verkar ju väldigt konstigt för en låt, artist kan ju lätt stavas fel, men stavningen kollas av en admin innan det skickas in i denna tabellen.(innan ligger det i en "temp tabell" bara

Tacksam för hjälp.

(mySQL, PHP)

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det är mer PHP.

$Query = "UPDATE songrequests SET amount = amount + 1 where artist='$artist' and song='$song' ";

Anropa mysql_affected_rows efter update. Om den returnerar 0 så gör du en insert.

Flyttas från SQL

PellefantMedlem sedan maj 20023 372 inlägg
#3

Tack för hjälpen. Sorry för felpostningen.

K@llenMedlem sedan mars 20032 667 inlägg
#4

Anropa mysql_affected_rows efter update. Om den returnerar 0 så gör du en insert.

Skulle man inte kunna använda SQL-kommandot REPLACE INTO istället eftersom artist verkar vara unik?

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
137 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)