Avatar billede wolstrup Nybegynder
12. juni 2006 - 11:24 Der er 23 kommentarer og
1 løsning

count as total from

Hvordan får jeg den til at udskrive det samlede antal istedet for en masse 1'taller?

while ($result_kunder = mysql_fetch_array($search_kunder)){

$spec_kunder = mysql_result(mysql_query("SELECT COUNT(*) as total FROM WebGuestComments WHERE id = '$result_kunder[id]'"),0);
echo $spec_kunder;
}
Avatar billede jakobdo Ekspert
12. juni 2006 - 11:31 #1
Er id ikke unikt?
Og derfor får du 1 hver gang?
Du har jo: WHERE id = '$result_kunder[id]'"
Avatar billede wolstrup Nybegynder
12. juni 2006 - 11:35 #2
Jo, men hvordan får jeg talt dem sammen?
Avatar billede michael_stim Ekspert
12. juni 2006 - 11:40 #3
GROUP BY "et eller andet" hvis det skal grupperes.
Hvis ikke fjerner du bare WHERE id=...
Avatar billede michael_stim Ekspert
12. juni 2006 - 11:41 #4
Det der et eller andet er selvf et felt. Var lidt utydlig før ;o)
Avatar billede wolstrup Nybegynder
12. juni 2006 - 11:49 #5
Mener du således:

$spec_kunder = mysql_result(mysql_query("SELECT COUNT(*) as total FROM WebGuestComments WHERE id = '$result_kunder[id]' GROUP BY id"),0);
echo $spec_kunder;

Så udskriver den stadig 1´taller :-)
Avatar billede jakobdo Ekspert
12. juni 2006 - 11:58 #6
Hvad er det helt præcist du vil tælle sammen?

Vil du tælle alle comments sammen?
SELECT COUNT(*) as total FROM WebGuestComments;

Vil du tælle noget specifikt:
SELECT COUNT(*) as total FROM WebGuestComments WHERE noget = nogetandet;
Avatar billede michael_stim Ekspert
12. juni 2006 - 11:59 #7
Som jakob har pointeret så vil du ALTID få ét-taller når du gør på den måde.
id 1
id 2
id 3

Der er én af hver.
Du kan heller ikke gruppere på id da du også vil få én af hver der. Glem id hvis du vil have dem samlet.
Avatar billede wolstrup Nybegynder
12. juni 2006 - 12:41 #8
$result_kunder[id] er id´er fra resultatet af en anden søgning, det jeg så gerne vil er at hive mere specifik data ud fra den forgående søgning. Men hvordan stiller jeg det op så jeg hiver det samlede antal ud af databasen, altså de data der matcher med id´erne i $result_kunder[id]?
Avatar billede wolstrup Nybegynder
12. juni 2006 - 12:46 #9
Har jo sådanset det jeg skal bruge hvis jeg lægger alle mine ettaller sammen, men hvordan gør jeg det :-)
Avatar billede jakobdo Ekspert
12. juni 2006 - 12:46 #10
Prøv at giv os et par rækker af de data du har i tabellen: WebGuestComments

Altså indholdet at tabellen: WebGuestComments
Avatar billede jakobdo Ekspert
12. juni 2006 - 12:47 #11
Så skal du hellere lave COUNT på den SQL som laver: $result_kunder
Avatar billede jakobdo Ekspert
12. juni 2006 - 12:47 #12
eller:
echo mysql_num_rows($result_kunder);
Avatar billede wolstrup Nybegynder
12. juni 2006 - 12:53 #13
Men vil gerne kunne uddybe SQLen senere i mine kode hvor jeg søger på de resultater $result_kunder gav, og så f.eks. uddyber med WHERE nyhedsbrev = '1'
Avatar billede wolstrup Nybegynder
12. juni 2006 - 12:55 #14
Så ville det passe med antallet af ettaller ved:
$spec_kunder = mysql_result(mysql_query("SELECT COUNT(*) as total FROM WebGuestComments WHERE id = '$result_kunder[id]' AND nyhedsbrev = '1'),0);
Avatar billede jakobdo Ekspert
12. juni 2006 - 13:15 #15
Jeg tror ikke helt du forstår hvad det er du har gang i her.
Du må enten prøve at forklare dig lidt nærmere?
Eller også må du indse at de 1-taller du får i starten rent faktisk er det rigtige resultat.
Eller noget helt tredje.

Lige pt virker det ikke som om vi kommer nærmere på en løsning, jeg synes du er dårlig til at forklare hvad du præcist ønsker.
Avatar billede wolstrup Nybegynder
12. juni 2006 - 15:58 #16
Undskylder mange gange, har læst mine indlæg igennem en god, og kan godt forstå hvis ingen lige kan se hvor jeg vil hen, men kan sgu ikke rigtig formulere mig i den her hede. Men laver lige en ordentlig formulering af hvor jeg vil hen i aften, når det er en smule køligere...
Avatar billede jakobdo Ekspert
12. juni 2006 - 16:05 #17
Lyder som en god ide, så kigger vi på det i en aften! :o)
Avatar billede wolstrup Nybegynder
13. juni 2006 - 09:11 #18
Er vidst nød til at starte forfra, så prøver lige uden kode. Det jeg er i gang med at lave er en søge funktion, hvor brugeren kan vælge ca. 20 forskellige søge kriterier. 


1  Jeg laver en SQL sætning hvor jeg finder nogle bestemte kunder i min database (Denne SQL variere meget fra søgning til søgning, da sætning variere meget efter hvilke kriterier brugeren vælger at søge på)

2 Ud fra kunderne fundet i punkt 1 vil jeg gerne tæller hvor mange der f.eks. har værdien 1 i nyhedsbrev, værdien 4 i tilfredshedsgrad eller noget helt tredje.

Det er her mit problem opstår, ved ikke helt hvordan jeg skal søge i kun de kunder (id´er) som jeg finder i punkt et. Kan nemlig ikke bruge f.eks. WHERE nyhedsbrev = ’1’ direkte i SQL sætningen i punkt 1, da den variere. Ved ikke om det er muligt at lave en ny SQL sætning hvor jeg så søger på kun de kunder (id´er) fundet i punkt 1?

Håber jeg har gjort det lidt mere tydeligt nu. Tak for tålmodiheden.
Avatar billede jakobdo Ekspert
13. juni 2006 - 09:26 #19
I punkt 1, får du en sql, noget ala:

SELECT * FROM WebGuestComments WHERE noget1 = search1 OR noget2 = search2

For så at se hvem der har nyhedsbrev = 1, tilføjer du bare:

SELECT COUNT(*) FROM WebGuestComments WHERE noget1 = search1 OR noget2 = search2 AND nyhedsbrev = 1

Eller

SELECT COUNT(*) FROM WebGuestComments WHERE noget1 = search1 OR noget2 = search2 AND tilfredshedsgrad = 4

osv...
Kan du følge mig?
Avatar billede wolstrup Nybegynder
13. juni 2006 - 10:27 #20
Kan sagtens følge dig. Men nogle gange vil det blive tilfældet at nyhedsbrev allerede er denineret i min første SQL. Brugeren har sådanset mulighed for at søge på alle tænkelige kombinationer i databasen. Hvis alle søgemuligheder er udfyldt, vil det eneste jeg kan udskrive være et antal.

Men det jeg så gerne vil er at hvis brugeren ikke vælger at søge på dem der har tilvalgt eller ikke tilvalgt nyhedsbrev, så vil jeg gerne vise hvor mange af dem der bliver resultatet af søgningen der har 1 eller 0 i nyhedsbrev. Kan altså ikke bare indsætte AND nyhedsbrev = 1, da jeg kan komme ud for at brugeren vælger at søge på dem der ikke har tilvalgt nyhedsbrev, og AND nyhedsbrev = 0 vil så allerede være tilstede i sætningen.
Avatar billede jakobdo Ekspert
13. juni 2006 - 12:02 #21
Prøv at vis os din fulde kode.
For hvis din bruger laver en specifik SQL, kan du se hvor mange rækker han trækker ud med: mysql_num_rows();
Avatar billede wolstrup Nybegynder
15. juni 2006 - 11:21 #22
Har selv fundet en løsning, men i skal have mange tak for hjælpen. Smid et svar så i kan få nogle point :-)
Avatar billede jakobdo Ekspert
15. juni 2006 - 11:56 #23
Svar!
Avatar billede jakobdo Ekspert
15. juni 2006 - 12:05 #24
Takker for point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester