Avatar billede sorthvid Nybegynder
21. april 2004 - 22:58 Der er 21 kommentarer og
1 løsning

Simpel simpel tæller funktion

Hvordan få jeg en tæller til at tælle i den samme row via php. Jeg kan kun finde scripts der tilføjer rows, men jeg skal bare have en spimpel værdi der tællerop hver gang den bliver kaldt:
Starter med Side 1 - value 0... når man så går ind på siden så...
Side 1 - value 1... og nå man går ind på siden igen så...
Side 1 - value 2...

Hele tiden i samme row. Det må da kunne lade sig gøre... eller?
Avatar billede dennismp Nybegynder
21. april 2004 - 23:00 #1
UPDATE table SET value=value+1 WHERE id = 42;
Avatar billede sorthvid Nybegynder
21. april 2004 - 23:34 #2
Jeg er newbie så hvordan skal MySQL så se ud i Field, Type, Attributes, Null, Default og Extra?

Og vil php'en være noget lignende?:
<?
$DBhost = "host";
$DBuser = "database";
$DBpass = "password";
$DBName = "sorthvid_com";
$table = "counter";
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");
@mysql_select_db("$DBName") or die("Unable to select database $DBName");

$sqlquery = UPDATE table SET value=value+1 WHERE id = 42;

$results = mysql_query($sqlquery);
mysql_close();
?>
Avatar billede dennismp Nybegynder
21. april 2004 - 23:47 #3
Lidt små rettelser
<?
$DBhost = "host";
$DBuser = "database";
$DBpass = "password";
$DBName = "sorthvid_com";
$table = "counter";
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");
@mysql_select_db($DBName) or die("Unable to select database $DBName");

$sqlquery = "UPDATE table SET value=value+1 WHERE id = 42";

$results = mysql_query($sqlquery);
mysql_close();
?>
Avatar billede dennismp Nybegynder
21. april 2004 - 23:47 #4
Hvad skal tabellen hedde?
Avatar billede sorthvid Nybegynder
21. april 2004 - 23:52 #5
Tabellen hedder counter
Avatar billede sorthvid Nybegynder
21. april 2004 - 23:53 #6
$table = "counter";
Avatar billede sorthvid Nybegynder
21. april 2004 - 23:55 #7
Der hvor du har skrevet "WHERE id = 42", er 42 et tilfældigt tal... og burde det være et eller 0 i mit tilfælde`?
Avatar billede dennismp Nybegynder
22. april 2004 - 00:06 #8
ID'et skal bare være id'et på en række der findes (ellers skal scriptet opdateres en smule)

Smid det her ind i phpmyamdin under sql:
CREATE TABLE counter (
id int primary key not null auto_increment,
value int default 0
);
Avatar billede dennismp Nybegynder
22. april 2004 - 00:06 #9
Hvis du opretter tabellen, laver en række (den får værdien 1, hvis du ikke selv angiver et id) og retter 42 til det id du nu har givet, så burde det virke.
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:21 #10
Altså:
SQL-query : [Edit]
CREATE TABLE `counter` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`value` INT DEFAULT '0' NOT NULL
);
Avatar billede dennismp Nybegynder
22. april 2004 - 00:23 #11
jep
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:27 #12
Det virker sku ikke?!?!?!??! ok Jeg har det her i SQL'en:
SQL-query : [Edit]
CREATE TABLE `counter` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`value` INT DEFAULT '0' NOT NULL
);

Og det her i PHP'en:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
$DBhost = "DBhost";
$DBuser = "DBUser";
$DBpass = "DBPass";
$DBName = "DBName";
$table = "counter";
mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database");
@mysql_select_db($DBName) or die("Unable to select database $DBName");

$sqlquery = "UPDATE table SET value=value+1 WHERE id = 1";

$results = mysql_query($sqlquery);
mysql_close();
?>
Siden er talt
</body>
</html>

Bortset fra de rigtige login ting :)
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:28 #13
Er det sådan det skal være... for den tæller ikke?!??!?!?!?
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:29 #14
Skal det være:
$sqlquery = "UPDATE $table SET value=value+1 WHERE id = 1";
Istedet for:
$sqlquery = "UPDATE table SET value=value+1 WHERE id = 1";

??
Avatar billede dennismp Nybegynder
22. april 2004 - 00:30 #15
ja. Har du oprettet en række?
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:35 #16
Jamen nu virker det på fuld drøn! Jeg er en lykkelig mand :) Kan du ikke skrive et svar så du kan få point.

Og lige for at presse citronen... Hvis jeg nu opretter et field til jeg kalder sidste dato... hvordan får jeg så datoen med ind i denne?:
$sqlquery = "UPDATE $table SET value=value+1 WHERE id = 1";
Avatar billede dennismp Nybegynder
22. april 2004 - 00:39 #17
Du presser skam ikke :-)

$sqlquery = "UPDATE $table SET value=value+1,datofelt=now() WHERE id = 1";

now() er en mysql funktion der returnere dagsdato/tid.
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:44 #18
Er MySql linien så:
`datofelt` INT DEFAULT '0' NOT NULL
?
Avatar billede dennismp Nybegynder
22. april 2004 - 00:45 #19
Nej, int er kun heltal. Brug fx. datetime
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:53 #20
Det er så fedt! 1.000.000.000 tak!

Af en eller anden grund accepterer den ikke dit svar når jeg trykker "Accepter"? Prøver igen i morgen
Avatar billede sorthvid Nybegynder
22. april 2004 - 00:55 #21
Der var den :)
Må jeg skrive direkte til dig næste gang jeg støder på et spørgsmål? Du lader til at have styr på det
Avatar billede dennismp Nybegynder
22. april 2004 - 01:00 #22
Det gør du bare :-)

jeg vil iseng, godnat.
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