lösung für kontrollfunktion gesucht
-
ich hab ein script wo man wörter eintragen kann.
nun möchte ich, wenn man ein wort einträgt das schon in der Liste existiert das da hinter dem existieren wort einfach nur eine zahl mitgezählt wird.
z.b.
einträge
1. klo
2. haus
3. baumwenn nun jemand baum einträgt solls so aussehen:
1. klo
2. haus
3. baum (2 x)also er soll halt doppelte irgendwie mitzählen.
denn nachher will ich auch so ne separate liste generieren mit "beliebtesten wörter:"wie würde ihr das angehen?
ich hatte folgende idee:
ich lege einfach ne weitere spalte "vorkommen" an und wenn eine eintragung gemacht wird, überprüfe ich vorher obs dieses wort schon gibt und wenn ja wird, die zahl in der spalte "vorkommen" einfach ++ addiert und hinter dem wort ausgegeben.
geht das so?
(wollte lieber paar erfahrende phpler nachfragen bevor ich hier alles zerschnipsel)
-
ich nochmal:
welche funktion würdet ihr für das kontrolliere ob das wort schon existiert nehmen?
-
geht es hier jetzt eher um sql oder speicherst du das in einer datei oder so?
ka obs das eleganteste ist, aber ich mach sowas auch immer:
$result = mysql_query("SELECT * FROM tabelle WHERE wort = $neuesWort"); if (mysql_num_rows($result)) == 1) { mysql_query("UPDATE SET vorkommen = vorkommen + 1 WHERE wort = $neuesWort"); } else { // hinzufuegen }
Mfg DerBaer
-
Hallo,
eine weitere Variante wäre
mysql_query("INSERT INTO table (`field`, `counter`) VALUES ('value', '1') ON DUPLICATE KEY UPDATE `counter`=`counter`+1");
LG