Avatar billede mtm Praktikant
07. februar 2006 - 11:43 Der er 13 kommentarer og
2 løsninger

tæller på en side. men vise det på en anden side.!

hej

Jeg søger et skript, der tæller på en en side eks. side1.php
men hvor jeg kan vise det den tæller på side1.php på eks. side2.php (har lavet side2.php) men hvordan får jeg det frem

skal helst være til en mysql database.

på forhånd tak.
MtM

Ps. vil lige sige at jeg er meget grøn i php/mysql så jeg undskylder hvis jeg stiller "dumme" spørgsmål.
Avatar billede jih Nybegynder
07. februar 2006 - 11:58 #1
når du laver en tæller er der ingen afhængighed af hvilken side du laver den i .. den kan enten laves sådan at den tæller i et tekstdokument (eller en anden fil for den sags skyld), og gemmes på serveren, hvor du så læser det tal, der står i den fil, på den side du vil have tælleren til at være.. Eller du kan (som du ønsker) få den til at tælle op i en database, hvor du så bare henter værdien, der hvor du vil have tælleren til at være. :-)

Du kan evt. skrive til databasen, hver gang nogen kommer på siden:
test med en if, om tallet er sat, og hvis det ikke er sat, sætter du det, vha. UPDATE statementet..
Avatar billede jih Nybegynder
07. februar 2006 - 12:13 #2
rettelse:

test med en if, om tallet er sat, og hvis det ikke er sat, sætter du det, vha. UPDATE statementet..

=

test med en if, om tallet er sat, og hvis det ikke er sat, sætter du det vha. INSERT statementet.. hvis det er sat, retter du det vha. UPDATE statementet..

mener bestemt det skulle virke.. arbejder ikke meget med php/sql, men kender lidt til php og lidt til sql.. bare ikke sammenhængen imellem.. ;-)
Avatar billede ellebaek Nybegynder
07. februar 2006 - 12:21 #3
tekst til side1.php

<?php
session_start();
if (!session['taeller']) {
  $conn = mysql_connect("dinserver", "ditbrugerid", "ditpassword");
  mysql_select_db("din database");

  $query = "UPDATE taeller SET antal = antal+1";
  mysql_query($query);
  session['taeller'] = true;
end if
?>

Og så skal du på side2.php have følgende tekst:
<?php
  $conn = mysql_connect("dinserver", "ditbrugerid", "ditpassword");
  mysql_select_db("din database");

  $query = "SELECT antal FROM taeller";
  $result = mysql_query($query);
  if (mysql_num_rows($result) > 0) {
    list($antal) = mysql_fetch_array($result);
    echo "Vi har haft " . $antal . " besøgende";
  end if
?>

Så skal du i din database oprette en tabel der hedder taeller. I denne tabel skal du have et felt med navn antal, og du skal have en række i tabellen, hvor antal blot er = 0,

Håber det kan bruges...
Avatar billede mtm Praktikant
07. februar 2006 - 12:32 #4
når jeg skal oprette tabelen er skal oprette hedder det så noget i stil med
CREATE TABLE taeller (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
antal VARCHAR(30) NOT NULL,
);

eller er jeg forkert på den ?
Avatar billede mtm Praktikant
07. februar 2006 - 12:33 #5
Spasser tastatur !!!!
"" når jeg skal oprette tabelen hedder det så noget i stil med ""
Avatar billede mtm Praktikant
07. februar 2006 - 13:07 #6
lavede en tabel sådan

CREATE TABLE taeller(
id INT( 11 ) NOT NULL AUTO_INCREMENT ,
PRIMARY KEY ( id ) ,
antal CHAR( 9 )
)

men side1 kommer med en fejl på line 3 ->unexpected '['
Avatar billede webstuff Nybegynder
07. februar 2006 - 14:52 #7
#Side1.php
<?php
session_start();
if (!$_SESSION['taeller']) {
  $conn = mysql_connect("dinserver", "ditbrugerid", "ditpassword");
  mysql_select_db("din database");

  $query = "UPDATE taeller SET antal = antal+1";
  mysql_query($query);
  $_SESSION['taeller'] = true;
end if
?>
-------------
Prøv med den :-)
Avatar billede ellebaek Nybegynder
07. februar 2006 - 15:11 #8
Hehe ja...

Det var lige en tastefejl fra min side :-)

Tak web...

Og mtm undskyld jeg ikke svarede på dine spørgsmål..
Men som sådan burde det være fint den måde du har lavet tabellen på..

Alternativt, så lav den som:
CREATE TABLE taeller(
antal INT(11)
)
Avatar billede mtm Praktikant
07. februar 2006 - 15:29 #9
nu siger den unexpected T_IF in line 10 ---> end if
????
Avatar billede jih Nybegynder
07. februar 2006 - 15:36 #10
end if ?? i php ...

<?php
session_start();
if (!$_SESSION['taeller']) {
  $conn = mysql_connect("dinserver", "ditbrugerid", "ditpassword");
  mysql_select_db("din database");

  $query = "UPDATE taeller SET antal = antal+1";
  mysql_query($query);
  $_SESSION['taeller'] = true;
}
?>
Avatar billede ellebaek Nybegynder
07. februar 2006 - 15:41 #11
Hehe...

det er vidst ikke så tit jeg koder php for tiden...
det skal rettes som jih skriver, og så skal side2.php rettes som:

<?php
  $conn = mysql_connect("dinserver", "ditbrugerid", "ditpassword");
  mysql_select_db("din database");

  $query = "SELECT antal FROM taeller";
  $result = mysql_query($query);
  if (mysql_num_rows($result) > 0) {
    list($antal) = mysql_fetch_array($result);
    echo "Vi har haft " . $antal . " besøgende";
  }
?>
Avatar billede mtm Praktikant
07. februar 2006 - 15:49 #12
nu virker det sku :o)
takker mange gange...
kan i ikke smide et par svar!!!
hvem skal have pointene?
eller kan i dele dem ?
Avatar billede ellebaek Nybegynder
07. februar 2006 - 15:50 #13
Jeg smider et svar...

så må jih og web selv bestemme om de vil have del i pointsene :-)
Avatar billede jih Nybegynder
07. februar 2006 - 16:01 #14
svar :)
Avatar billede mtm Praktikant
08. februar 2006 - 18:22 #15
lukker.
igen tak for hjælpen
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