Avatar billede clausberg Nybegynder
16. oktober 2006 - 20:54 Der er 5 kommentarer og
1 løsning

94 minus 100

Jeg er ved at lave en funktion, der viser antallet af gratis pladser der er tilbage. Et eksempel:

6 personer har alle reserveret en plads (og registreret i en database), og der udloves 100 gratis pladser. Så jeg skal altså have lavet en funktion, der ender med at skrive: 94 pladser tilbage.

Først skal jeg vel connecte til min database og læse i tabellen.

mysql_connect("localhost","xxx","xxx")or die(mysql_error());
mysql_select_db("xxx")or die(mysql_error());
$q = mysql_query("SELECT count.... - 100
...et eller andet??????

Er der nogen der kan regne det ud? :-)
Avatar billede jensgram Nybegynder
16. oktober 2006 - 21:56 #1
$q = mysql_query('SELECT (100-COUNT(*)) AS freeSeats FROM table');
print "Der er " . mysql_result($q, 0) . "plads(er) tilbage.";
Avatar billede jensgram Nybegynder
16. oktober 2006 - 21:57 #2
Eller også kan du lave selve udregningen i PHP:

$q = mysql_query('SELECT COUNT(*) AS freeSeats FROM table');
$cnt = 100 - mysql_result($q, 0);
print "Der er " . $cnt . "plads(er) tilbage.";
Avatar billede clausberg Nybegynder
17. oktober 2006 - 20:46 #3
Begge forslag virker :-) Fedt !

Men hvilken skal jeg vælge - jeg tænker på, om der måske er en der er hurtigere eller mere driftsikker?

Så har du skrevet freeseats - hvad er det for en slags kommando?
Avatar billede jensgram Nybegynder
17. oktober 2006 - 21:34 #4
Jeg ville foretrække den første, da man bør lade databasen foretage så meget datamanipulation som muligt (har jeg hørt, måske gælder det ikke i alle tilfælde).

" AS freeSeats" er ligegyldigt i dette tilfælde. Det betyder blot, at denne "kolonne" får et alias:

ex: SELECT id, name, COUNT(*) AS total FROM ... -> Så kan du hente COUNT(*)-værdien med noget lignende $row['total'] afhængigt af din implementation.

Det er vist ligegyldigt her, så du kan nok bare bruge:

$q = mysql_query('SELECT (100-COUNT(*)) FROM table');
print "Der er " . mysql_result($q, 0) . "plads(er) tilbage.";
Avatar billede jensgram Nybegynder
17. oktober 2006 - 21:34 #5
Svar
Avatar billede clausberg Nybegynder
17. oktober 2006 - 22:24 #6
Konge - så lærte jeg også noget, mens jeg fik en smart funktion ind på siden. Takker og værsgo 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