Shoot2Kill
10-24-2006, 01:11 AM
OK so i am very new to PHP and MySQL, and i challenged myself to make a Page Counter (simple i know) but i got an error i can not figure out, it probably something simple like a quote in wrong place, but i cant get it working....
here is my problem:
using the code below, i manually enter a number into my MySQL table, and when the page loads, i want the counter to increment, however the PHP program changes the data to "$counu" i think this is because i have set the length of the field to max at 6, and when it increments a string, it changes the t in counter to a u.. dunno...
here is the code...
<?
//Set Variables
$host = 'localhost';
$user = 'xxxxx';
$pass = 'xxxxx';
$connect = mysql_connect($host, $user, $pass);
$database = mysql_select_db("usr_net18_1");
$result = mysql_query('SELECT `counter` FROM `site_counter` WHERE `1`=1 ');
$answer = mysql_result($result, 0);
//End of Variables
//Connect & Query Database
if (!$connect) {
die('Could Not Connect To Server: ' . mysql_error());}
if (!database) {
die('Could Not Connect To Database: ' . mysql_error());}
if (!$result) {
die('Could Not Query Server: ' . mysql_error());}
if (!$answer) {
die('Could Not Get Answer: ' . mysql_error());}
//End Query
//Replace Counter Numbers With Coresponding Images
$patterns[0] = '/0/';
$patterns[1] = '/1/';
$patterns[2] = '/2/';
$patterns[3] = '/3/';
$patterns[4] = '/4/';
$patterns[5] = '/5/';
$patterns[6] = '/6/';
$patterns[7] = '/7/';
$patterns[8] = '/8/';
$patterns[9] = '/9/';
$replacements[0] = '<img src="./images/crt/0.gif">';
$replacements[1] = '<img src="./images/crt/1.gif">';
$replacements[2] = '<img src="./images/crt/2.gif">';
$replacements[3] = '<img src="./images/crt/3.gif">';
$replacements[4] = '<img src="./images/crt/4.gif">';
$replacements[5] = '<img src="./images/crt/5.gif">';
$replacements[6] = '<img src="./images/crt/6.gif">';
$replacements[7] = '<img src="./images/crt/7.gif">';
$replacements[8] = '<img src="./images/crt/8.gif">';
$replacements[9] = '<img src="./images/crt/9.gif">';
//End Replacements
//Increment Counter & Make New Table With It
$counter = $answer++;
echo $counter
$update = mysql_query('UPDATE site_counter SET counter = $counter WHERE 1 ="1"');
if (!$update) {
die('Could Not Increment Counter: ' . mysql_error());}
//End Increment
//Echo <img> strings, to correct Counter
echo preg_replace($patterns, $replacements, $counter);
//End Echo
?>
any help would be much appreciated.. thanks...
----------------
EDIT.... Ok i got it workin, kind of.. lol...
it now dislays the numbers, not the "$counu".. but it knocks of the leading zero's, and it doesnt increment to the MySQL DB....
here is my problem:
using the code below, i manually enter a number into my MySQL table, and when the page loads, i want the counter to increment, however the PHP program changes the data to "$counu" i think this is because i have set the length of the field to max at 6, and when it increments a string, it changes the t in counter to a u.. dunno...
here is the code...
<?
//Set Variables
$host = 'localhost';
$user = 'xxxxx';
$pass = 'xxxxx';
$connect = mysql_connect($host, $user, $pass);
$database = mysql_select_db("usr_net18_1");
$result = mysql_query('SELECT `counter` FROM `site_counter` WHERE `1`=1 ');
$answer = mysql_result($result, 0);
//End of Variables
//Connect & Query Database
if (!$connect) {
die('Could Not Connect To Server: ' . mysql_error());}
if (!database) {
die('Could Not Connect To Database: ' . mysql_error());}
if (!$result) {
die('Could Not Query Server: ' . mysql_error());}
if (!$answer) {
die('Could Not Get Answer: ' . mysql_error());}
//End Query
//Replace Counter Numbers With Coresponding Images
$patterns[0] = '/0/';
$patterns[1] = '/1/';
$patterns[2] = '/2/';
$patterns[3] = '/3/';
$patterns[4] = '/4/';
$patterns[5] = '/5/';
$patterns[6] = '/6/';
$patterns[7] = '/7/';
$patterns[8] = '/8/';
$patterns[9] = '/9/';
$replacements[0] = '<img src="./images/crt/0.gif">';
$replacements[1] = '<img src="./images/crt/1.gif">';
$replacements[2] = '<img src="./images/crt/2.gif">';
$replacements[3] = '<img src="./images/crt/3.gif">';
$replacements[4] = '<img src="./images/crt/4.gif">';
$replacements[5] = '<img src="./images/crt/5.gif">';
$replacements[6] = '<img src="./images/crt/6.gif">';
$replacements[7] = '<img src="./images/crt/7.gif">';
$replacements[8] = '<img src="./images/crt/8.gif">';
$replacements[9] = '<img src="./images/crt/9.gif">';
//End Replacements
//Increment Counter & Make New Table With It
$counter = $answer++;
echo $counter
$update = mysql_query('UPDATE site_counter SET counter = $counter WHERE 1 ="1"');
if (!$update) {
die('Could Not Increment Counter: ' . mysql_error());}
//End Increment
//Echo <img> strings, to correct Counter
echo preg_replace($patterns, $replacements, $counter);
//End Echo
?>
any help would be much appreciated.. thanks...
----------------
EDIT.... Ok i got it workin, kind of.. lol...
it now dislays the numbers, not the "$counu".. but it knocks of the leading zero's, and it doesnt increment to the MySQL DB....