webForumDet fria alternativet

Klurig SQL fråga ?

PHP

3 svar · 250 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#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)

Medlem 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

Medlem sedan maj 20023 372 inlägg
#3

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

Medlem 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?

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)