Gå til innhold

finne gentatt data i en rad ?


Anbefalte innlegg

Hei, jeg har en tabell i en mysql database som heter blomster.

På siden min har alle brukerne en egen id, og vær gang noen får/kjøper en blomst så blir det satt inn i blomster raden, men jeg vil altså finne ut hvordan bruker som har fått flest blomser, og sette en liste på dette med f.eks 5 stykker ? hvordan i huleste skal jeg gjøre det, jeg tenke på og kjøpe en while på alle bruker tabellen, og telle blomster for hvær eneste bruker og deretter returnere og gjøre ett eller annet ?

Jeg sitter rett og slett FAST!

Lenke til kommentar
Videoannonse
Annonse

den er utrolig enkel:

 

realid ( brukeren sin id )

tid ( når brukeren kjøpte den)

id ( joda hver rad har sin id )

 

så når jeg skulle finne brukeren sine blomster var det ikke værre en

$sql = mysql_query("SELECT id FROM blomster WHERE realid='$brukerid'");

$num = mysql_num_rows($sql);

echo "$brukerid har $num blomster";

 

enkelt og greit ^^ jeg satt bare inn en rad for hver gang han kjøpte/fikk en blomt, isdtedenfor og oppdatere bruker tabellen om hvor mange blomster han har, vet dette høres tungvindt ut, men kommer til nytte senere, når det kommer inn type osv ^^

Lenke til kommentar

Det du spør om gjøres veldig enkelt i MySQL, og hadde vært åpenbart hvis du hadde kunnet det skikkelig.

 

Følgende spørring teller hvor mange oppføringer det er av hver realid og presenterer det i en midlertidig kolonne kalt COUNT(*):

SELECT realid, COUNT(*) 
FROM blomster GROUP BY realid

 

For å hente ut de fem som har fått mest blomster bruker du følgende PHP-kode:

$sql = mysql_query("SELECT realid, COUNT(*)
 FROM blomster
 GROUP BY realid
 ORDER BY COUNT(*) DESC
 LIMIT 5");
while ($result = mysql_fetch_array($sql)) {
 echo "{$result['realid']} har fått {$result['COUNT(*)']} blomster";
}

 

Den samme metoden kan brukes til å finne hvor mange blomster én bruker har fått. Det er bare til å slenge inn en WHERE.

Endret av endrebjorsvik
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...