php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.12.2004, 16:14  
Gast
 
Beiträge: n/a
Standard Zugriffszähler

Hallo,
Also ich hab mal probiert einen Zugriffszähler zu machen der sollte immer wenn die Seite aufgerufen wird in die MySQL Datenbank in der Tabelle counter das erste Feld in der Spalte calls um 1 erhöhehen, er macht das aber nicht, anstatt erstellt er immer neue Felder mit den einträgen null.

Hier mein Code:

Hier die install.php die richtet die Datenbank ein, hat nichts mit dem Problem zu tun aber naja:



Code:
<?php

include("db_connect.inc.php");

$sql=mysql_query(' DROP TABLE IF EXISTS `counter` ');
$sql=mysql_query(' CREATE TABLE `counter` ( 
`id` int(11) auto_increment PRIMARY KEY,
`calls` int(11) NOT NULL
);');

if($sql)
{
	echo "Datenbank wurde erfolgreich konfiguriert";
}
else
{
	echo "Es ist ein Fehler aufgetreten";
}

?>
Hier die counter.php, die baut den misst

Code:
<?php

include("db_connect.inc.php");


$sql=mysql_query(" SELECT * FROM `counter` WHERE id='1' ");
while($dat=mysql_fetch_assoc($sql))
{
	$calls=$dat['calls'];
}


$insert=mysql_query(' INSERT INTO `counter`( `calls` ) 
VALUES ( \'$calls+1\' );');

if($insert)
{
	echo "Alle Prozesse wurden erfolgreich ausgefürht

";
}
else
{
	echo "Fehler beim eintragen in die Datenbank

";
}

echo $end. " Besucher waren schon hier";


?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.12.2004, 16:25  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Wenn du INSERT verwendest wird auch was eingefügt, versuchs mal mit UPDATE



---> www.schattenbaum.net/php
----> Praktisches Tutorial für php und mysql

mfg
robo47
robo47 ist offline  
Alt 28.12.2004, 17:34  
Gast
 
Beiträge: n/a
Standard

Habe ich bereits versucht, geht nicht.
 
Alt 28.12.2004, 17:48  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

so leid es mir tut, aber dann machst du was falsch. Arbeite mal das Tutorial durch, spätestens danach müsstest du verstehen wie man mit UPDATE / INSERT / DELETE arbeitet.
Ausserdem wären eine genauere Definition des "geht nicht" ganz sinnvoll

ausserdem schau dir mal im handbuch foglendes an

www.php.net/mysql_error

das wird dir sicherlcih eine erleuchtende Fehlermeldung bescheren, da ihc schötze, dass du einfach INSERT durch UPDATE ersetzt hast, was aber nicht alles ist, weil UPDATE eine andere Syntax mit sich zieht als INSERT.

mfg
Robo47
robo47 ist offline  
Alt 28.12.2004, 19:22  
Gast
 
Beiträge: n/a
Standard

Wie wäre es mit einem Index?
 
Alt 28.12.2004, 21:18  
Gast
 
Beiträge: n/a
Standard

Nochmals, ich habe diesen Code, counter.php:

Code:
<?php

include("db_connect.inc.php");

$last=4;

 $sql = mysql_query('UPDATE `counter` SET `calls` = \'$last\' WHERE `id` = \'1\' '); 

?>
dann hier die install.php wo die Datenbank eingerichtet wird:

Code:
<?php

include("db_connect.inc.php");

$sql=mysql_query(' DROP TABLE IF EXISTS `counter` ');
$sql=mysql_query(' CREATE TABLE `counter` ( 
`id` int(11) auto_increment PRIMARY KEY,
`calls` varchar(11) NOT NULL
);');

if($sql)
{
	echo "Datenbank wurde erfolgreich konfiguriert";
}
else
{
	echo "Es ist ein Fehler aufgetreten";
}

?>
Er macht nun folgendes: Führe ich die counter.php aus schreibt er mir in die Datenbank $last und nicht die zahl die hinter $last steht, wenn ihr meint das es an der install liegt an dem varchar, ich habs auch mit int probiert geht auch nicht, was kanns da haben.
Ich möchte nur das er mir jedes mal wenn ich die counter.php ausführe den inhalt in derDatenbank um 1 erhöht.
 
Alt 28.12.2004, 21:57  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

das liegt an den einfachen anfuehrungszeichen. wenn du die durch doppelte ersetzt wirds gehen
__________________
Was ist validität?
fantast ist offline  
Alt 29.12.2004, 11:39  
Gast
 
Beiträge: n/a
Standard

Trotzdem gehts nicht.
 
Alt 29.12.2004, 11:57  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

fantast meint, dass du dieses hier:
Code:
'UPDATE `counter` SET `calls` = \'$last\' WHERE `id` = \'1\' '
änderst in
Code:
"UPDATE `counter` SET `calls` = '$last' WHERE `id` = '1' "
Dann geht es.
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline  
Alt 29.12.2004, 12:10  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Wenn du den Typ von robo47 angeschaut hättest, wärst du vielleich schon weiter. An den Anführungszeichen liegts wahrscheinlich nicht, obwohl die z.T. überflüssig sind. Teste den folgenden Code, und falls etwas nicht geht, wirst du auch eine entsprechende Fehlermeldung erhalten:
PHP-Code:
include("db_connect.inc.php");
$sql "UPDATE counter
           SET calls = calls + 1 
           WHERE id = 1"
;
mysql_query($sql) or die(mysql_error()); 
__________________
Gruss
L
lazydog ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php zugriffszähler, zugriffszähler php, zugriffszähler html code, html code zugriffszähler, zugriffszähler php code, zugriffszähler, zugriffszähler html, java zugriffszähler, zugriffszähler java, html zugriffszähler, php zugriffzähler, php zugriffszaehler, code für zugriffszähler, zugriffszähler mit php, html zugriffszähler code, php zugriffszähler mit sql, zugriffzähler php download, einfacher zugriffzähler php, http://www.php.de/php-tipps-2004-2/14908-zugriffszaehler.html, html code für zugriffzähler

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.