Gå til innhold

finne gentatt data i en rad ?


Anbefalte innlegg

Skrevet

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!

Videoannonse
Annonse
Skrevet (endret)

Hvordan ser tabellen/databasen din ut? Hvilke kolonner har den?

Kanskje du kunne satt opp databasen på en annen måte?

Endret av endrebjorsvik
Skrevet

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 ^^

Skrevet (endret)

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
Skrevet

herlig :D

nej jeg kan ikke så mye mysql at det gjør noe, har for det meste prøvd og lært meg grunnlegende php først, scanne mapper, laste opp bilder osv slike ting, så nå jobber jeg med databaser ;D

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å
×
×
  • Opprett ny...