CREATE TABLE IF NOT EXISTS `stats` (
`good` int(11) NOT NULL DEFAULT '0',
`bad` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Dumping data for table `stats`
--
INSERT INTO `stats` (`good`, `bad`) VALUES
(0, 0);
Хз как я сделал, но меня интересует чтобы в бд была таблица (stats), в ней 2 колонки (good, bad) и в них значение 0. Смысл в том чтобы просто php смотрел значение которое сейчас в колонках, выводил его, и если пользователь нажимает на кнопку увеличивал это значение на 1 и и обновлял запись в колонках.
<?php include('bd_config.php');
$good = mysql_query("SELECT * FROM `stats` ORDER BY `good`");
$bad = mysql_query("SELECT * FROM 'stats' ORDER BY 'bad'");
?>
вот две строчки то кода, дальше там идёт хтмл и вывод переменных и форма (две кнопки).
помогите кто-нибудь) знаю что в интернете можно найти как это сделать, но поиски мои безуспешны.
Спустя 2 часа, 26 минут, 30 секунд (7.01.2011 - 18:45) inpost написал(а):
Зачем 2 запроса? Сортировка и так и так?
Так в тексте, если выводится, то должна быть надпись типо такой:
while($row = mysql_fetch_assoc($good))
или просто:
$row = mysql_fetch_array($good);
Это лишь запрос к базе данных, но не выборка. Если ты говоришь, что они выводятся, то покажи весь код страницы.
И ещё, ты хочешь, чтобы мы сделали это на халяву или рассказали тебе, какие команды надо выучить и почитать в книге по ПХП? Или на крайняк хочешь за деньги?
Так в тексте, если выводится, то должна быть надпись типо такой:
while($row = mysql_fetch_assoc($good))
или просто:
$row = mysql_fetch_array($good);
Это лишь запрос к базе данных, но не выборка. Если ты говоришь, что они выводятся, то покажи весь код страницы.
И ещё, ты хочешь, чтобы мы сделали это на халяву или рассказали тебе, какие команды надо выучить и почитать в книге по ПХП? Или на крайняк хочешь за деньги?
Спустя 8 минут, 8 секунд (7.01.2011 - 18:53) Игорь_Vasinsky написал(а):
<?php
mysql_query("UPDATE `table` SET `count` = `count`+1 WHERE `id`= ". $id);
?>
вот с омощью акого шаблона ( с сайта http://inpost.dp.ua/lessons/lessons.php?id=4) - происходит увеличение значения в пле без дополнительной выборки из БД
вот - развивай мысль.
Спустя 13 минут, 28 секунд (7.01.2011 - 19:07) VolDroN написал(а):
оО) нечего не понял, что-то я сегодня не соображаю.
пчп:
бд_конфиг.пчп:
// копирайты и.т.п.
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `smileandsad`
--
-- --------------------------------------------------------
--
-- Table structure for table `stats`
--
CREATE TABLE IF NOT EXISTS `stats` (
`good` int(11) NOT NULL DEFAULT '0',
`bad` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Dumping data for table `stats`
--
INSERT INTO `stats` (`good`, `bad`) VALUES
(0, 0);
пчп:
<HTML>
<HEAD><TITLE>SmileAndSad</TITLE></HEAD>
<body>
<?php include('bd_config.php');
mysql_select_db("stats");
// сдесь надо сделать так, чтобы переменные гуд и бад были = значению в колонке,
?>
<br>
<br>
<br>
<br>
<br>
<br>
<center>
<h1><b>Сегодня:</b></h1>
</center>
<br>
<div align = 'center'>
<table border="1" width="50%" cellpadding="5">
<tr>
<th>:)</th>
<th>:(</th>
</tr>
<tr>
<th><?php echo $good; ?></th>
<th><?php echo $bad; ?></th>
</tr>
</table>
<br>
<centr>
<form action="good.php" method="post"> //на гуд.пчп скрипт просто увеличивает значение на 1.
<input type="submit" name="good" value="У меня хорошее настроение!">
<center>
</form>
<form action="bad.php" method="post"> //на бад.пчп тоже самое
<input type="submit" name="bad" value="У меня плохое настроение!">
</form>
</div>
</body>
</HTML>
бд_конфиг.пчп:
<?php
//MySql
$bd_host = "localhost";
$bd_username = "smileandsad";
$bd_password = "***";
$bd_base = "smileandsad";
$url = "http://voldron.test/";
$con = mysql_connect($bd_host, $bd_username, $bd_password) or die (mysql_error());
mysql_select_db($bd_base, $con);
?>
Спустя 3 минуты, 55 секунд (7.01.2011 - 19:11) VolDroN написал(а):
Я так понимаю, что главная проблема в бд. Т.к. я в mysql нехрена незнаю, таблица и колонки были созданы на бум.
Спустя 5 минут, 55 секунд (7.01.2011 - 19:16) inpost написал(а):
VolDroN
А пароль, у тебя, не "smileandsad" ?
Вообще, этот код у тебя работает? Выводит хоть что-то? Кроме (resurse#6) ?
А пароль, у тебя, не "smileandsad" ?

Вообще, этот код у тебя работает? Выводит хоть что-то? Кроме (resurse#6) ?
Спустя 2 минуты, 38 секунд (7.01.2011 - 19:19) VolDroN написал(а):
inpost о. экстрасенс?
нет) хотя можно было бы и не стирать его.. всё равно на локалхосте...
...
именно этот - таблицу и два коментария которые в форме
нет) хотя можно было бы и не стирать его.. всё равно на локалхосте...
...
именно этот - таблицу и два коментария которые в форме
Спустя 1 минута, 31 секунда (7.01.2011 - 19:21) Игорь_Vasinsky написал(а):
нах те 2 страницы *? goog.php и bad.php ????
допстим весь скрипт у тя на index.php, тогда
допстим весь скрипт у тя на index.php, тогда
//если poll не пусто и равно goodт.е. мы просто создадим GET переменную poll - она же $_GET['poll'], проверим её - и взависимости от её значения - перезапишим то или иное поле в таблице.
if(isset($_GET['poll']) & $_GET[poll] === "good"){
mysql_query("UPDATE `stats` SET `good`+1");
}
//если poll не пусто и равно bad
elseif(isset($_GET['poll']) & $_GET[poll] === "bad"){
mysql_query("UPDATE `stats` SET `bad`+1");
}
<form action="index.php?poll=good" method="post">
//на гуд.пчп скрипт просто увеличивает значение на 1.
<input type="submit" name="good" value="У меня хорошее настроение!">
</form>
<form action="index.php?poll=bad" method="post">
//на бад.пчп тоже самое
<input type="submit" name="bad" value="У меня плохое настроение!">
</form>
Спустя 2 минуты, 9 секунд (7.01.2011 - 19:23) Игорь_Vasinsky написал(а):
этим один раз в таблу нули запиши и закоментируй - а то чё каждый раз переписываешь на нуль то..
INSERT INTO `stats` (`good`, `bad`) VALUES(0, 0);
Спустя 1 минута, 18 секунд (7.01.2011 - 19:24) Игорь_Vasinsky написал(а):
Цитата |
// сдесь надо сделать так, чтобы переменные гуд и бад были = значению в колонке, |
ну эт те про вывод из БД надо почитть - это уж бональные и повседневные вещи.. о них даж стыдно писать
Спустя 1 минута, 47 секунд (7.01.2011 - 19:26) VolDroN написал(а):
Vasinsky
спасибо) както недумал об этом %)
спасибо) както недумал об этом %)
Спустя 1 минута, 15 секунд (7.01.2011 - 19:27) Игорь_Vasinsky написал(а):
этот скрипт - тока добаляет значения в поля таблицы - а ввод уж додумай
Спустя 2 минуты, 7 секунд (7.01.2011 - 19:29) VolDroN написал(а):
Vasinsky биг фэнкью (:
Спустя 17 минут, 27 секунд (7.01.2011 - 19:47) Игорь_Vasinsky написал(а):
не за что.
Спустя 29 минут, 58 секунд (7.01.2011 - 20:17) VolDroN написал(а):
как не пишу, постоянно выводится
Цитата |
Resource id #4 |
сами нули нехотят %)
Спустя 5 минут, 50 секунд (7.01.2011 - 20:22) inpost написал(а):
VolDroN
Ч.т.д.
Читай про команду: mysql_fetch_assoc, mysql_fetch_array для работы с БД.
Ч.т.д.
Читай про команду: mysql_fetch_assoc, mysql_fetch_array для работы с БД.
Спустя 4 минуты, 23 секунды (7.01.2011 - 20:27) Игорь_Vasinsky написал(а):
покажи код вывода, а асиыиаивны массив то зачем ? там 2 поля с одним значением
Спустя 2 минуты, 59 секунд (7.01.2011 - 20:30) inpost написал(а):
Спустя 7 минут, 57 секунд (7.01.2011 - 20:38) Игорь_Vasinsky написал(а):
да да я слышал за неё...
н чё усложнять то - если эта функция загоняет значения стоки (всех полей) - в массив,а поле то одно в двух строках! можно же по проще...
н чё усложнять то - если эта функция загоняет значения стоки (всех полей) - в массив,а поле то одно в двух строках! можно же по проще...
Спустя 1 час, 49 минут, 9 секунд (7.01.2011 - 22:27) VolDroN написал(а):
$result = mysql_query("SELECT good, bad FROM stats");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$good = $row[0];
$bad = $row[1];
разобрался (:
Спустя 24 минуты, 3 секунды (7.01.2011 - 22:51) Игорь_Vasinsky написал(а):
ток смайл в другую сторону......
Спустя 8 минут, 22 секунды (7.01.2011 - 22:59) VolDroN написал(а):
хорошо :)
прибавление единицы немного по другому сделал:
только не прибавляет.. :/ наверно там другой запрос должен быть.
прибавление единицы немного по другому сделал:
<?php include('bd_config.php');
mysql_select_db("smileandsad");
if (count($_POST[good]) > 0)
{
mysql_query("UPDATE `stats` SET `good`+1");
$_POST[good] = "";
}
elseif (count($_POST[bad]) > 0)
{
mysql_query("UPDATE `stats` SET `bad`+1");
$_POST[bad] = "";
}
?>
только не прибавляет.. :/ наверно там другой запрос должен быть.
Спустя 12 часов, 34 минуты, 21 секунда (8.01.2011 - 11:34) VolDroN написал(а):
mysql_query("INSERT INTO stats VALUES(+1,0)");
вот нашёл чтото, но она не обновляет а делает новую запись в таблице. И не +1 а просто значение 1. %)
Спустя 2 часа, 56 минут, 31 секунда (8.01.2011 - 14:30) VolDroN написал(а):
ппц) всётаки разобрался.
но почему-то если нажать на кнопку и обновить страницу, то после обновления прибавиться ещё 1.
и если нажать например на хорошее настроение, потом на плохое, то изменится хорошое, а если ещё раз нажать то уже плохое. %)
...ох и нафлудил я)
<?php
if (count($_POST['good']) > 0)
{
mysql_query("UPDATE stats SET good=".($good+1)."");
unset($_POST['good']);
}
elseif (count($_POST['bad']) > 0)
{
mysql_query("UPDATE stats SET bad=".($bad+1)."");
unset($_POST['bad']);
}
?>
но почему-то если нажать на кнопку и обновить страницу, то после обновления прибавиться ещё 1.
и если нажать например на хорошее настроение, потом на плохое, то изменится хорошое, а если ещё раз нажать то уже плохое. %)
...ох и нафлудил я)
Спустя 2 минуты, 53 секунды (8.01.2011 - 14:33) Игорь_Vasinsky написал(а):
а потому что в адресной строке GET то остаётся.
делай редирект на страницу без GET
делай редирект на страницу без GET
Спустя 1 минута, 48 секунд (8.01.2011 - 14:35) Игорь_Vasinsky написал(а):
а... ты с POST - всё равно редирект чтоб POST очисить
через header location () тока пиши в самой первой строке этот редирект
через header location () тока пиши в самой первой строке этот редирект
Спустя 23 минуты, 17 секунд (8.01.2011 - 14:58) ИНСИ написал(а):
Цитата |
<form action="index.php?poll=good" method="post"> //на гуд.пчп скрипт просто увеличивает значение на 1. <input type="submit" name="good" value="У меня хорошее настроение!"> </form> |
пипец .... Отправляете через POST и в параметр передаете GET...
вот:
<form action="index.php" method="post">
<input type="submit" name="poll" value="У меня плохое настроение!">
<input type="hidden" name="what" value="bad" >
</form>
if($_POST['poll'] && $_POST['what'] != '') {
mysql_query("
UPDATE `stats`
SET `{$_POST['what']}` = `{$_POST['what']}` + 1
");
echo 'OK';
//header('Location: http://site.ru');
}
Спустя 2 минуты, 43 секунды (8.01.2011 - 15:01) VolDroN написал(а):
Игорь_Vasinsky
непонял. зачем?
а
unset($_POST['bad']);
она же по идеи чистит.
welbox2 щас немогу разобраться, как приду прочитаю ваш пост
непонял. зачем?
а
unset($_POST['bad']);
она же по идеи чистит.
welbox2 щас немогу разобраться, как приду прочитаю ваш пост
Спустя 4 часа, 58 минут, 48 секунд (8.01.2011 - 20:00) VolDroN написал(а):
welbox2
мм.. действительно, рабочий)
щас буду разбирать ваш код. спасибо)
только как заголовки уже в середине страницы отправлять? или там можно что-нибудь придумать? %)
мм.. действительно, рабочий)
щас буду разбирать ваш код. спасибо)
только как заголовки уже в середине страницы отправлять? или там можно что-нибудь придумать? %)
Спустя 22 часа, 35 минут (9.01.2011 - 18:35) ИНСИ написал(а):
Цитата |
мм.. действительно, рабочий) |
конечно же рабочий

Цитата |
спасибо) |
пожалуйста.
Цитата |
только как заголовки уже в середине страницы отправлять? или там можно что-нибудь придумать? %) |
а вот тут, я не совсем тебя понял.
Спустя 16 часов, 41 минута, 20 секунд (10.01.2011 - 11:16) VolDroN написал(а):
welbox2 ну заголовки же отправляются в начале страницы, а после того как человек нажмёт на кнопку его уже не перенаправить чтобы обнулился пост. (%
Спустя 14 минут, 16 секунд (10.01.2011 - 11:30) VolDroN написал(а):
ещё один вопрос.
Создал файл:
но всё равно ругается на сессии:
почему? старт ссесси в самом верху, до неё нечего не идёт, header после неё грузится.. %)
Создал файл:
<? session_start(); ?>
<? include("../include/header.php");
и.т.п.
но всё равно ругается на сессии:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\voldron.test\www\admin\index.php:1) in Z:\home\voldron.test\www\admin\index.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\voldron.test\www\admin\index.php:1) in Z:\home\voldron.test\www\admin\index.php on line 2
почему? старт ссесси в самом верху, до неё нечего не идёт, header после неё грузится.. %)
Спустя 2 часа, 3 минуты (10.01.2011 - 13:33) ИНСИ написал(а):
VolDroN дело не в этом. Покажи файл header.php
Спустя 3 часа, 52 минуты, 18 секунд (10.01.2011 - 17:26) VolDroN написал(а):
header.php:
bd_config.php:
<HTML>
<HEAD><TITLE>SmileAndSad</TITLE></HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<body>
<?php include ('bd_config.php');
bd_config.php:
<?php
//MySql
$bd_host = "localhost";
$bd_username = "smileandsad";
$bd_password = "***";
$bd_base = "smileandsad";
$url = "http://voldron.test/";
$con = mysql_connect($bd_host, $bd_username, $bd_password) or die (mysql_error());
mysql_select_db($bd_base, $con);
?>
Спустя 1 день, 1 час, 20 минут, 51 секунда (11.01.2011 - 18:46) VolDroN написал(а):
И 3ий или какой уже по счёту вопрос.
Как в условие в php вставить html?
тоесть мне нужно чтобы при выполнении условия, выполнялись теги хтмл.
если делать так:
php ругается.. :(
Как в условие в php вставить html?
тоесть мне нужно чтобы при выполнении условия, выполнялись теги хтмл.
если делать так:
<?php
if ($ololo = $ololo)
{
?>
<a href="ololo.php">dfdf<a>
<?php
}
?>
php ругается.. :(
Спустя 1 час, 36 минут, 42 секунды (11.01.2011 - 20:23) inpost написал(а):
VolDroN
header - посылается до любого вывода информации на экран! До любого! Так что начало общего скрипта делай: <?php session_start(); , а дальше -всё остальное!
header - посылается до любого вывода информации на экран! До любого! Так что начало общего скрипта делай: <?php session_start(); , а дальше -всё остальное!
Спустя 13 часов, 53 минуты, 39 секунд (12.01.2011 - 10:17) VolDroN написал(а):
<?php session_start();
?>
<HTML>
<HEAD><TITLE>......</TITLE><HEAD>
<BODY>
<? include("../include/bd_config.php");
if($_COOKIE["usNick"] == "" AND $_COOKIE["usPass"] == "")
{ ...... }
и так в самом вверху.
Спустя 1 день, 23 секунды (13.01.2011 - 10:17) VolDroN написал(а):
я вот подумал..
обязательно использовать открытую сессию? я же вроде просто её открыл и всё.. (проверку кукисов и.т.п. я пока закоментировал)
может надо принудительно закрывать сессию в конце? оО
обязательно использовать открытую сессию? я же вроде просто её открыл и всё.. (проверку кукисов и.т.п. я пока закоментировал)
может надо принудительно закрывать сессию в конце? оО
Спустя 2 часа, 50 минут, 43 секунды (13.01.2011 - 13:08) Игорь_Vasinsky написал(а):
Цитата |
обязательно использовать открытую сессию? |
ну не различается она на открытыеи закрытые
она либо есть - либо нет.
сессия либо сама уничтожиться - при закрытии страницы, либо ты сам её уничтожишь - если не нужно сессионные переменные использовать.
ты с ошибкой разобрался?
Спустя 1 час, 36 минут, 30 секунд (13.01.2011 - 14:44) VolDroN написал(а):
нет. всё равно ругается на заголовки которые я не отправлял :/
Спустя 1 час, 19 минут, 13 секунд (13.01.2011 - 16:04) VolDroN написал(а):
Ох.. ужос)
ещё 2 вопроса помимо сессий %):
1. в <meta> передаётся утф8.
вся бд в утф8
Но если хочу сохранить в колонке(значение) русский текст то при выполнении, на странице где он должен выводиться место него ��� �����.
2. Проверка авторизации. Но например если я ввожу неправильный логин и пароль. Цифрами, то всё нормально, выводит сообщение что типо неправильный пароль. Но если вводить логин или пасс буквами (и в русской и в английской расклаке) то невыводит нечего.
Сам скрипт:
ещё 2 вопроса помимо сессий %):
1. в <meta> передаётся утф8.
вся бд в утф8
Но если хочу сохранить в колонке(значение) русский текст то при выполнении, на странице где он должен выводиться место него ��� �����.
2. Проверка авторизации. Но например если я ввожу неправильный логин и пароль. Цифрами, то всё нормально, выводит сообщение что типо неправильный пароль. Но если вводить логин или пасс буквами (и в русской и в английской расклаке) то невыводит нечего.
Сам скрипт:
<?php
$login = $_POST['login'];
$password = $_POST['password'];
$login = htmlspecialchars($login); //anti xss
$password = htmlspecialchars($password); //anti xss
$login = mysql_real_escape_string($login);
$password = mysql_real_escape_string($password);
$query = ("SELECT id, login, password FROM users WHERE login ='{$login}' AND password='{$password}' LIMIT 1");
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) == 1)
{
setcookie("usNick",$login,time()+7776000);
setcookie("usPass",$password,time()+7776000);
?>
<meta http-equiv='Refresh' content='0'>
<?php
}
elseif($login !=0 AND $password !=0)
{
echo '<b>Неправильное имя или пароль</b>';
}
include("../include/footer.php");
?>
Спустя 1 час, 40 минут, 48 секунд (13.01.2011 - 17:44) VolDroN написал(а):
с сессиями разобрался, решение проблемы linker написал в соседней теме %)
Спустя 2 часа, 39 минут, 46 секунд (13.01.2011 - 20:24) Гость_Nikolay написал(а):
Подскажите пожалуйста, как сделать вывод значения из БД.
На сайте соед. с бд заранее установлено. Есть таблица "noname" есть поле "id", есть значение "test"
Как на странице php отобразить следующий текст:
Заголовок="test"? (test=значение)
И как можно сделать, что бы выдавался конкретный "test" (т.е. есть запись на ворд прессе, данной записи присваивается id, как можно вывести данный id? (на странице каждой записи её id))
На сайте соед. с бд заранее установлено. Есть таблица "noname" есть поле "id", есть значение "test"
Как на странице php отобразить следующий текст:
Заголовок="test"? (test=значение)
И как можно сделать, что бы выдавался конкретный "test" (т.е. есть запись на ворд прессе, данной записи присваивается id, как можно вывести данный id? (на странице каждой записи её id))
Спустя 1 час, 18 минут, 30 секунд (13.01.2011 - 21:43) ИНСИ написал(а):
VolDroN
Цитата |
1. в <meta> передаётся утф8. вся бд в утф8 Но если хочу сохранить в колонке(значение) русский текст то при выполнении, на странице где он должен выводиться место него ��� �����. |
1. Попробуй добавить вот это, после подключения и выбора БД:
mysql_query('SET NAMES UTF8');
2. Добавь в корневую директорию файл .htaccess и пропиши
AddDefaultCharset UTF-8
Спустя 40 секунд (13.01.2011 - 21:43) ИНСИ написал(а):
Гость_Nikolay создай отдельно тему....
Спустя 21 час, 25 минут, 13 секунд (14.01.2011 - 19:09) VolDroN написал(а):
welbox2
в htaccess уже есть эта запись
а mysql_query('SET NAMES UTF8'); - помогло (: спасибо
в htaccess уже есть эта запись
а mysql_query('SET NAMES UTF8'); - помогло (: спасибо