Synes godt om system, - angive et totalt

Tags:    mysqli php

Hej


Jeg arbejder lige pt på det sidste med at lave et lille "like" system på min brandmand hjemmeside,

Problemet; er sådan at Mig(Jesper) og mads, har valgt at synes godt om indlæg, så er det sådan at den ikke vil tag det total og lige sammen altså af dem som har valgt at synes godt om,

Skulle virker sådan her: Det er at den tag fat i alle dem som har "indhold_id" = 1 alle sammen og ligger dem samme, og så skal den komme frem med et totalt,

Database Indhold;
Fold kodeboks ind/udSQL kode 


Angiver alle det som har synes godt om;

Ved den her kode, angiver den det antal som har synes godt om indhold, altså det vil synes har 2 personer synes godt om det her indhold, så stå det sådan her "Synes godt om 1Synes godt om 1"
det vil sige at den ikke ligger det sammen men bare tag alle sammen og ligger dem frem,

Fold kodeboks ind/udPHP kode 


Den her kode angiver sådan her: "Synes godt om 1Synes godt om 1"


Hvis jeg gøre sådan her;

Hvis det er at jeg(Jesper) gøre sådan kommer der KUN mig frem som har valgt at synes godt om, med andre ord har jeg ikke synes godt om det men en anden har gjort det så stå der bare "0", men valger jeg at synes godt om indhold så kommer der KUN til at stå 1 kun selvom ham den anden også har synes godt om det indlæg.

Fold kodeboks ind/udPHP kode 



Du er velkommen til at spørger hvis du har nogle spørgsmål :)



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du fik næsten løst det i det sidste kode du poster:
Fold kodeboks ind/udPHP kode 


Det løser det, men er ikke optimalt. Det er langt hurtigere, at lade databaseserveren tælle det for os!

Fold kodeboks ind/udSQL kode 




hvor udlæsser du din SUM ?? (det nemmeste er at give den et alias)
hvorfor anvender du CHARSET=latin1 ?? det meste af www amvender utf8

jeg har prøvet at omskrive dit eks lidt

Fold kodeboks ind/udKode 


uden alias skulle denne linje
$stmt->bind_result($antal);
se ca sådan ud (utested)
$stmt->bind_result(SUM(`glike`));


tænkt på om jeg ikke kan gøre det letter ved at bruge "Facebook synes godt om"

er alle i din målgruppe på FB ??, jeg ville ikke bruge FB, men det er nok pga jeg ikke er aktiv FB bruger




Du fik næsten løst det i det sidste kode du poster:
Fold kodeboks ind/udPHP kode 


Det løser det, men er ikke optimalt. Det er langt hurtigere, at lade databaseserveren tælle det for os!

Fold kodeboks ind/udSQL kode 



Jeg har prøve at gøre sådan her;

Fold kodeboks ind/udPHP kode 



jeg har også prøveet sådan her

Fold kodeboks ind/udPHP kode 




Dog kommer der intet tal frem på siden!


tænkt på om jeg ikke kan gøre det letter ved at bruge "Facebook synes godt om"



Indlæg senest redigeret d. 23.06.2013 15:21 af Bruger #17136
hvor udlæsser du din SUM ?? (det nemmeste er at give den et alias)
hvorfor anvender du CHARSET=latin1 ?? det meste af www amvender utf8

jeg har prøvet at omskrive dit eks lidt

Fold kodeboks ind/udKode 


uden alias skulle denne linje
$stmt->bind_result($antal);
se ca sådan ud (utested)
$stmt->bind_result(SUM(`glike`));


tænkt på om jeg ikke kan gøre det letter ved at bruge "Facebook synes godt om"

er alle i din målgruppe på FB ??, jeg ville ikke bruge FB, men det er nok pga jeg ikke er aktiv FB bruger




tænkt på om jeg ikke kan gøre det letter ved at bruge "Facebook synes godt om"

er alle i din målgruppe på FB ??, jeg ville ikke bruge FB, men det er nok pga jeg ikke er aktiv FB bruger


Både og, det er ikke alle som bruger det, men det er ikke så vigtigt igen, ca 85% af de brandfolk som vi har bruger facebook :)

Fold kodeboks ind/udPHP kode 


Den virker 100%. og der er ingen problemer,

skal jeg angive
Fold kodeboks ind/udSQL kode 
til sidste i sql? eller hvad synes du??




skal jeg angive
Fold kodeboks ind/udKode 

til sidste i sql? eller hvad synes du??


du bør efter min mening køre UTF8 hele vejen rundt, på alle dine tabeller, samt dine sider
en del API'er på nettet understøtter ikke andet
en del php functioner understøtter ikke andre charset feks json_encode
ref http://php.net/manual/en/function.json-encode.php

value
The value being encoded. Can be any type except a resource.
This function only works with UTF-8 encoded data.



dit sql dump bør se sådan ud:
Fold kodeboks ind/udKode 

>`navn` varchar(200) COLLATE utf8_danish_ci NOT NULL,
her er COLLATE utf8_danish_ci ikke strengt nørvendigt, men jeg sætter det altid

læg mærke til de steder der står utf8_
danish_ci: er bare afh sorterings rækkefølgen, så æøå bliver sorteret rigtigt


nb: så er der vist en lille fejl i din php denne linje
echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;

skal vel være

echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
mangler this da din conne4ction er inde i classen




Det er her med blevet rette, og ved fejl så tilføj jeg $this før hvis jeg intet få frem på nogle måde. :)

Mange gerne tak for hjælpen.



t