Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1

Проблемы с мускулом

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#1
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
<?php $q mysql_query("SELECT * FROM `"$mess_tb ."` WHERE `update` is NULL");
    
$r mysql_fetch_array($q);
    while (
false !== ($messages $r)) {
        
$messt['title'] = $messages['title']; 
        
$messt['content'] = $messages['content'];
        
$messt['flogin'] = $messages['flogin'];
        
$messt['fmail'] = $messages['fmail'];
        
$messt['date'] = $messages['date'];
        
$messtpl $messt['date'].$messt['title'].$messt['content'].$messt['fmail'].$messt['flogin']; 
    }
?>

Code:
Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\\www\cms_p\sengine\modules\support\messeger.php on line 24

 1 
 2 
<?php $messt['date'] = $messages['date'];?>
На эту строку ругается. Не могу понять почему

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#2
чувак ты не то сделал) while будет делать итерации до тех пор пока условие внутри него истино. А в твоем случае оно всегда истино. Так как $message всегда можно присвоить значение $r. Понимаешь? Надо так
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
<?php $q mysql_query("SELECT * FROM `"$mess_tb ."` WHERE `update` is NULL");
    while (
false !== ($messages mysql_fetch_array($q))) {
        
$messt['title'] = $messages['title']; 
        
$messt['content'] = $messages['content'];
        
$messt['flogin'] = $messages['flogin'];
        
$messt['fmail'] = $messages['fmail'];
        
$messt['date'] = $messages['date'];
        
$messtpl $messt['date'].$messt['title'].$messt['content'].$messt['fmail'].$messt['flogin']; 
    }
?>

Добавлено 2011.01.31 20-41

то есть mysql_fetch_array должно быть в условии while тогда ты пройдешь по каждой записи. А в первом случае ты бесконечно проходил по первой записи:)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#3
ыыы. Точно) Спасибке

Добавлено 2011.01.31 22-17

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
<?php while (false !== ($messages mysql_fetch_array($q))) {
        
$messt['title'] = '<td>'.$messages['title'].'</td>'
        
$messt['content'] = '<td>'.$messages['content'].'</td>';
        
$messt['flogin'] = '<td>'.$messages['flogin'].'</td></tr>';
        
$messt['fmail'] = '<td>'.$messages['fmail'].'</td>';
        
$messt['date'] = '<tr><td>'.$messages['date'].'</td>';
        
$messt['fmail'] = '<td><a href="#"> Ответить </a></td>';
        
$messtpl $messt['date'].$messt['title'].$messt['content'].$messt['fmail'].$messt['links'].$messt['flogin']; 
    }
?>

Возвращает пустоту. Запрос проверил, работает.

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#4
в этом примере, не зависимо от количества итераций , в результате будет строка, содержащая данные только из последней записи в базе. По тому что ты всегда заново присваиваешь значение переменной $messtpl, а надо бы ее дозаписывать. Например так

 1 
 2 
<?php $messtpl .= $messt['date'].$messt['title'].$messt['content'].$messt['fmail'].$messt['links'].$messt['flogin'];?>

Но для этого ее надо предварительно где то объявить)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#5
точняк. я уже 2 дня искал эту мелочь))

Добавлено 2011.02.03 16-52

Странно. Все равно пустой возвращает. Запрос верный

Добавлено 2011.02.03 16-53

Омг. Прикинь, я тупо поменял местами строчки в присвоении и стало показывать)

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#6
skad0 пишет:
Омг. Прикинь, я тупо поменял местами строчки в присвоении и стало показывать)
;) Бывает со всеми

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#7
Как UPDATE'ом обновить только определенные поля в таблице?

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#8
ну он вообщето только определенные и обновляет)))

UPDATE `table` SET `поле`=`значение``поле`=`значение` WHERE `поле`=`значение`;

Например так

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#9
/vfgfg

Отредактировано автором 6 Фев 2011

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#10
skad0 пишет:
/vfgfg
И че это? Может стоит все таки хоть немного по теме писать. Такое откровенное "Г" не надо :stranno:

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)
1
Сейчас online: 12. Зарегистрированных: 0. Гостей: 12.