Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 14:16   #1
Inkognitoo
 
Аватар для Inkognitoo
 
Регистрация: 13.04.2012
Сообщений: 9
По умолчанию PHP & mySQL

Решился изучить mySQL, взял в руки учебник, последовал инструкциям и ...
Нифига =)

Прилагаю screenshot интерфейса:



Код:

PHP код:
<?php
if($rc=mysql_connect("localhost""root""0001"))
{
    
$day=date("Y-m-d");
    
mysql_select_db("test1");
    
$tabl="Schetchik";
    
$map=mysql_query("SELECT * FROM $tabl");    
    
$k=mysql_fetch_array($map);
    
$k['vsego']=$k['vsego']+1;
        if(
$day !== $k['chislo'])
        {
            
$k['chislo']=$day;
            
$k['segodna']=1;    
        }     
        else
        {
            
$k['segodna']=$k['segodna']+1;    
        }                
    
mysql_query("UPDATE Schetchik SET vsego='$k[vsego]', segodna='$k[segodna]', chislo='$k[chislo]'");
    
    echo 
"<table border=2 bordercolor=orange><tr>
            <td colspan=2 align=center>Посещаемость</td></tr>
            <tr><td align=center>Всего</td><td align=center>Сегодня</td></tr>
            <tr><td align=center>
$k[vsego]</td>
            <td align=center>
$k[segodna]</td></tr></table>";        
}
else 
{
    echo 
"Error!";    
}
?>
И результат:


Код:
Notice: Undefined index: chislo in /home/inkognitoo/www/localhost/index.php on line 10
Посещаемость
Всего	Сегодня
1	1

Помогите, кто чем может =)
Изображения
Тип файла: jpg mySQL.jpg (267.9 Кб, 192 просмотров)

Последний раз редактировалось Inkognitoo; 20.05.2012 в 14:36.
Inkognitoo вне форума Ответить с цитированием
Старый 20.05.2012, 14:27   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
$k=mysql_fetch_array($map); 
var_dump($k); 
Что показывает вам?
Врядли одномерный массив...

В строке соединения с БД не хватает последней кавычки, на пароле:
PHP код:
if($rc=mysql_connect("localhost""root""0001)) 
Andkorol вне форума Ответить с цитированием
Старый 20.05.2012, 14:35   #3
Inkognitoo
 
Аватар для Inkognitoo
 
Регистрация: 13.04.2012
Сообщений: 9
По умолчанию

Andkorol, по поводу вывода:
PHP код:
bool(false
А кавычку в пароле я забыл поставить, когда менял его уже здесь, в сообщении.

Спасибо за отклик =)
Inkognitoo вне форума Ответить с цитированием
Старый 20.05.2012, 14:43   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Раз выводит FALSE - значит, ваш запрос не выполнился, произошла ошибка.
Читаем.
Делаем так:
PHP код:
$map=mysql_query("SELECT * FROM $tabl") or die(mysql_error()); 
Показываем ошибку.
Andkorol вне форума Ответить с цитированием
Старый 20.05.2012, 15:11   #5
Inkognitoo
 
Аватар для Inkognitoo
 
Регистрация: 13.04.2012
Сообщений: 9
По умолчанию

Спасибо большое за полезный материал.

Вывод всё тот же..

Код:
bool(false) 
Notice: Undefined index: chislo in /home/inkognitoo/www/localhost/index.php on line 14
Посещаемость
Всего	Сегодня
1	1
И на всякий случай, текст программы:

PHP код:
<?php
ini_set
('display_errors',1);
error_reporting(E_ALL);

if(
$rc=mysql_connect("localhost""root""0001"))
{
    
$day=date("Y-m-d");
    
mysql_select_db("test1");
    
$tabl="Schetchik";
    
$map=mysql_query("SELECT * FROM $tabl") or die(mysql_error());     
    
$k=mysql_fetch_array($map);
    
var_dump($k); 
    
$k['vsego']=$k['vsego']+1;
        if(
$day !== $k['chislo'])
        {
            
$k['chislo']=$day;
            
$k['segodna']=1;    
        }     
        else
        {
            
$k['segodna']=$k['segodna']+1;    
        }                
    
mysql_query("UPDATE Schetchik SET vsego='$k[vsego]', segodna='$k[segodna]', chislo='$k[chislo]'");
    
    echo 
"<table border=2 bordercolor=orange><tr>
            <td colspan=2 align=center>Посещаемость</td></tr>
            <tr><td align=center>Всего</td><td align=center>Сегодня</td></tr>
            <tr><td align=center>
$k[vsego]</td>
            <td align=center>
$k[segodna]</td></tr></table>";        
}
else 
{
    echo 
"Error!";    
}
?>

Последний раз редактировалось Inkognitoo; 20.05.2012 в 15:13.
Inkognitoo вне форума Ответить с цитированием
Старый 20.05.2012, 15:27   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Так это - а данные-то у вас в вашей таблице хоть есть..?
Andkorol вне форума Ответить с цитированием
Старый 20.05.2012, 15:34   #7
Inkognitoo
 
Аватар для Inkognitoo
 
Регистрация: 13.04.2012
Сообщений: 9
По умолчанию

Смотрите первое сообщение.
Данных нет, их, по задумке, должен создавать php-скрипт.
Inkognitoo вне форума Ответить с цитированием
Старый 20.05.2012, 15:43   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Причем тут первое сообщение - на скриншоте показана вкладка "Структура"(структура таблицы), а не "Обзор"(данные в таблице)...

Во втором запросе, который UPDATE, вы пытаетесь добавить в БД данные о текущей дате - $k['chislo'], которые являются строкой (date("Y-m-d")).
При этом тип поля в БД - указан INT (integer - целое число).
Строка в такое поле не добавится - потому у вас имеет место ошибка при обновлении информации в БД.
Andkorol вне форума Ответить с цитированием
Старый 20.05.2012, 15:49   #9
Inkognitoo
 
Аватар для Inkognitoo
 
Регистрация: 13.04.2012
Сообщений: 9
По умолчанию

При попытке клика на "Обзор" - получаю следующее сообщение на зелёном фоне:
Код:
MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0004 сек. )
По поводу 'chislo'; уже поправил int на date =)
Inkognitoo вне форума Ответить с цитированием
Старый 20.05.2012, 16:01   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Введите в таблицу стартовые значения - например, 0 для числовых полей и 0000-00-00 для даты.
Иначе нужен будет сначала INSERT, а уже при след. вызовах UPDATE.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
webmoney && php kakawkin PHP 0 03.10.2011 16:34
PHP test.php?a=1&b=1 не работает передача параметров бедный_студент PHP 5 25.08.2010 23:08
Проблема с кодиовкой? php & mysql Dimon88 PHP 10 12.02.2010 22:55
C++ && eval() in PHP Saniok Общие вопросы C/C++ 12 05.11.2008 17:55
mysql & php kkkggg PHP 1 08.08.2007 19:55