Avatar billede tlunde Nybegynder
31. august 2002 - 23:16 Der er 28 kommentarer og
1 løsning

database optælling

Hejsa,
Jeg har en tabel i min database, der indeholder brugerne til min forum, og kolonnen hedder fortatter. Det jeg gerne vil have lavet, er sådan at man kan se hvor mange indlæg de forskellige personer har lavet i forummet. Lige nu har john lavet 3 indlæg...Hvordan for jeg det talt sammen ud fra min database?

Venlig hilsen
Thomas Lunde
www.thomaslunde.dk
Avatar billede tlunde Nybegynder
31. august 2002 - 23:21 #1
Måske lidt dårligt formuleret, men kort fortalt, hvordan tæller jeg så hvor mange gange det samme navn fremkommer i kolonnen forfatter??

Jeg tror at det har noget med dette stykke kode at gøre når jeg skal have det printet det ud: $row[forfatter]
Avatar billede dmcn Praktikant
31. august 2002 - 23:25 #2
$foo = mysql_query("SELECT COUNT(forfatter) FROM tabel WHERE forfatter = '$forfatter'");
$bar = mysql_result($foo,0);
print($bar);
Avatar billede disky Nybegynder
01. september 2002 - 00:15 #3
normality:
Dette er en MYSQL gruppe, og PHP kode hører IKKE hjemme her !
Avatar billede dmcn Praktikant
01. september 2002 - 00:49 #4
disky : Så længe det ikke er muligt at crossposte i to eller flere kategorier bliver vi nødt til at acceptere en hvis sammenblanding. Vil du også henvise en person med Win2k-problemer der kommer af en serv-u-installation til Programmer : Generelt i stedet for Styresystemer : Windows 2000?
Drop dit brok over PHP/MySQL i kategorien - du må leve med det indtil crosspostings bliver mulige.
Avatar billede disky Nybegynder
01. september 2002 - 09:36 #5
normality:
Nix det må jeg ikke, problemmet er du ikke kan skille php og mysql, det korrekte svar havde været:
SELECT COUNT(forfatter) FROM tabel WHERE forfatter = 'forfatter'

resten er unødvendigt spam, som IKKE hjælper til svaret på opgaven

Forresten er din løsning ikke god hvis 2 forfattere hedder det samme, den korrekte måde ville være

SELECT COUNT(forfatter) FROM tabel WHERE forfatterID = 17
Vi siger den forfatter du vil undersøge har unik ID 17

Så som du kan se kan man sagtens svare i denne gruppe UDEN at blande unødvendig spam ind i det. I modsætning til hvad MANGE herinde tror er Mysql en database der SAGTENS kan bruges af andet en det script sprog der hedder PHP
Avatar billede tlunde Nybegynder
01. september 2002 - 10:29 #6
Min løsning endte med at se sådan ud:
$indlaeg = mysql_query("SELECT COUNT(forfatter) FROM indlaeg WHERE forfatter='$bruger'")

Ellers tak for hjælpen...Og rolig nu disky. Jeg er meget godt tilfreds med det forslag n0rmality kom med...og skidt pyt med den lille smule PHP kode der er...Der er set det der er værre
Avatar billede dmcn Praktikant
01. september 2002 - 14:00 #7
disky : I starten svarede jeg som du foreslår, udelukkende med SQL - og allerede efter 1 eller 2 svar begyndte jeg at svare med PHP-koden skrevet med det samme. Problemet er, at folk ikke fatter nok SQL/PHP til selv at kode hele skidtet, og så kan jeg ligeså godt gøre det for dem fra starten. På den måde skærer jeg kraftigt ned i antallet af indlæg der er nødvendige før folk er tilfredse og accepterer. I nogen få tilfælde er det unødvendigt, men langt fra i alle.
Derudover har vi diskuteret din opførsel med voldsom brok, så snart der er PHP involveret, internt blandt coadmins, og vi er blevet enige om at det *ikke* er acceptabelt. Betragt dette som en advarsel: Får vi flere anmeldelser, der direkte kommer af dit brok/spam i MySQL-kategorien, så deaktiveres din bruger.
- n0rmality, coadmin
Avatar billede dmcn Praktikant
01. september 2002 - 14:00 #8
tlunde : Godt du kunne bruge det - du får et svar.
Avatar billede lundsfryd Nybegynder
01. september 2002 - 18:58 #9
n0rmality >> Jeg må sige, at jeg også hører til dem, der er trætte af kodesammenblanding. I dette tilfælde kunne man oprette spørgsmålet her i kategorien, få en brugbar løsning på SQL-problemet og dernæst gå over i PHP-kategorien og få hjælp til at sætte det hele sammen.
Avatar billede dmcn Praktikant
01. september 2002 - 19:08 #10
lundsfryd : Og bruge dobbelt antal point? Dobbelt mængde tid? Er vi her ikke for at hjælpe?
Derudover står der i reglerne kun, at man skal vælge den kategori der passer bedst til ens spørgsmål - ikke at det er ulovligt at lave blandede svar hvis kategorien ikke passer 100%.
Avatar billede lundsfryd Nybegynder
01. september 2002 - 19:12 #11
Man kunne for min skyld give det halve antal points i hvert spørgmål. Det ville muligvis give et lidt højere tidsforbrug, men det ville gøre det meget mere overskueligt, hvilket må være det vigtigste (spørger du mig, er de tidligere spørgsmål og deres svar mindst ligeså værdifulde som muligheden for at oprette nye, og det er vigtigt, at de er forstålige og grupperet ordentligt i kategorierne, så de er til at finde).
Avatar billede dmcn Praktikant
01. september 2002 - 19:14 #12
Med henblik på senere brug af spørgsmål er det da netop bedre at holde hele svaret samlet i et spørgsmål i stedet for at fordele det på flere?
Avatar billede lundsfryd Nybegynder
01. september 2002 - 19:18 #13
Nu er det her ikke det værste eksempel, men MySQL har ikke noget med PHP at gøre, og jeg mener at det skal være muligt at forstå svarene i denne gruppe uden at kendskab til PHP skal være en forudsætning. "Hele svaret" er i dette tilfælde det, disky kommer med.
Avatar billede Slettet bruger
01. september 2002 - 22:26 #14
Eftersom 90% af brugerne herinde kun bruger MySQL fordi de gerne vil arbejde lidt med PHP, er det da ligegyldigt.

Jeg er her personligt ikke for at holde kategorierne vandtæt adskilt, men for at hjælpe. At disky kun er her for at brokke sig er ærgeligt..
Avatar billede lundsfryd Nybegynder
01. september 2002 - 22:37 #15
Den med de 90% må stå for egen regning, men selvfølgelig er vi her for at hjælpe, ingen tvivl om det. Jeg kan bare ikke se hvad fordelen skulle være i at spørge om/hjælpe med PHP-kode i MySQL-forummet. Det er vel netop grunden til, at der findes en PHP-kategori. Med over 200.000 spørgsmål er det nødvendigt med bare en lille smule styr på tingene :)

Det er rigtigt, at disky ofte brokker sig, men ind i mellem har han ret ;-)
Avatar billede Slettet bruger
01. september 2002 - 22:48 #16
n0rmality kom jo også med svaret.

Eftersom Thomas Lunde er igang med at lære PHP(at dømme efter hans mange spm. for tiden i samme kategori) er det nærliggende at koble mellem MySQL og PHP med det samme.

$foo = mysql_query("SELECT COUNT(forfatter) FROM tabel WHERE forfatter = '$forfatter'");
$bar = mysql_result($foo,0);
print($bar);

Gør jo netop dette.

Skulle n0rmality så have sagt, "ja og så skal du trække det ud med det scriptsprog du bruger, eller den MYSQL frontend du bruger, og iøvrigt spørge i den relevante kategori"

Nej vel?

Rene MySQL spm. i MySQL kategorien, rene PHP i PHP kategorien. Hvad med resten? Skal de deles op? Og i så fald, skal man så i det første spørgsmål linke til det andet i den anden kategori? Og hvad med krydslink tilbage?
Avatar billede lundsfryd Nybegynder
01. september 2002 - 22:56 #17
> Skulle n0rmality så have sagt, "ja og så skal du trække det ud med
> det scriptsprog du bruger, eller den MYSQL frontend du bruger, og
> iøvrigt spørge i den relevante kategori"
> Nej vel?

Jo :) Lige, præcis.

1. Det vil rydde op i MySQL-kategorien
2. Det vil samle PHP-relevante emner i PHP-kategorien
3. Det vil hjælpe tlunde præcis lige så meget som ellers

- og jeg har stadig svært ved at se problemet i at det gøres sådan (men fordelene står klart for mig).

Sammenlign med nyhedsgrupperne: Hvis jeg havde abbonneret på PHP-gruppen i 1 år, ville jeg blive meget skuffet, hvis jeg pludselig fandt ud af, at halvdelen af den PHP-relevante diskussion fandt sted i en af databasegrupperne.
Avatar billede lundsfryd Nybegynder
01. september 2002 - 22:57 #18
PS. Et krydslink tilbage ville være en fin løsning på problemet med "blandede" spørgsmål.
Avatar billede tlunde Nybegynder
09. september 2002 - 17:30 #19
Kunne ikke få det til at virke...sorry!
Avatar billede dmcn Praktikant
09. september 2002 - 17:33 #20
"Min løsning endte med at se sådan ud:
$indlaeg = mysql_query("SELECT COUNT(forfatter) FROM indlaeg WHERE forfatter='$bruger'")"

Gider du forklare? Du får en time - derefter deaktiveres din bruger. Det er absolut ikke første gang du laver det trick.
- n0rmality, coadmin og sur.
Avatar billede dmcn Praktikant
09. september 2002 - 17:59 #21
½ time tilbage.
Avatar billede tlunde Nybegynder
09. september 2002 - 18:04 #22
Til at forklare hvad?? Jeg får ikke den hjælp jeg bad om...
Avatar billede tlunde Nybegynder
09. september 2002 - 18:05 #23
Jeg har ikke fået hjælp i en uge...skal jeg så bare give points væk for et spørgsmål der ikke er besvaret??
Avatar billede dmcn Praktikant
09. september 2002 - 18:07 #24
Læs nu lige dit spørgsmål igennem før du dummer dig mere - du har skrevet at du kunne bruge min løsning, og udbad dig endda et svar. Det afviser du så, og siger du ikke kunne bruge det?
Avatar billede tlunde Nybegynder
09. september 2002 - 18:08 #25
er det de 30 points du gerne vil have, så skal det da ikke være noget problem...jeg opretter et spørgsmål til dig så!
Avatar billede tlunde Nybegynder
09. september 2002 - 18:09 #26
spørgsmål oprettet...mangler bare et svar fra dig nu!
Avatar billede dmcn Praktikant
09. september 2002 - 18:10 #27
Point er totalt ligegyldigt - jeg vil have at du respekterer de svar folk giver dig og den tid de bruger på at hjælpe dig. Kan du ikke bruge svaret er det fint at du tager point igen - men bruger du det skal folk dælme da belønnes. Kan du ikke følge denne tankegang, så kan du lige så godt afmelde din bruger med det samme, for så overlever du ikke meget længere herinde.
Avatar billede tlunde Nybegynder
09. september 2002 - 18:13 #28
Okay...sorry, jeg har vist accepteret spørgsmålet lidt for hurtigt! Du skal selvfølgelig have dine points..gider du acceptere det så: http://www.eksperten.dk/spm/255951
Avatar billede dmcn Praktikant
09. september 2002 - 18:14 #29
Husk lige at forklare mortenfn hvorfor du ikke kunne bruge hans svar.
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
Computerworld tilbyder specialiserede kurser i database-management

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