Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) 1 [2]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> include, или куда копать?, Проблема со скриптом
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 10 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 10 дней


Цитата (boomber @ 30.09.2015 - 11:46)
Это?

наверное, тебе виднее, смотри по времени
если да - то смотри ответ от clocwerk выше


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




Цитата (clocwerk @ 30.09.2015 - 07:55)
Это значит что у тебя функция sortByPoints() уже есть и ты пытаешься определить еще одну фунцкию с таким же названием, возможно это из за 2х инклудов

Да, по времени это оно.
Но тогда, если я разобью файл на две функции, я все равно от этого не уйду.
А как-то можно завершить функцию, чтобы вызвать ее же еще раз?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




Гуглопоиск по ошибке предложил такой вариант решения:
if (!function_exists('sortByPoints'))
{
function sortByPoints()
{
........
}
}

Все сработало и обе таблицы отобразились.
Но пока не понимаю принцип действия. Не скажется ли это на работе функции сортировки при инклюде второй таблицы?

Добавлено позже: беглая проверка показала, что сортировка работает нормально. В любом случае, теперь можно двигаться дальше, оптимизировать скрипт, убрать кучу лишних вещей из него.

Буду благодарен, если кто-то в двух словах объяснит, что дает эта проверка на существование функции?

Это сообщение отредактировал boomber - 30.09.2015 - 13:59
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 10 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 10 дней


это неправильное решение
у тебя ошибка на уровне архитектуры, функция должна инклудится единожды


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




Цитата (Invis1ble @ 30.09.2015 - 09:56)
это неправильное решение
у тебя ошибка на уровне архитектуры, функция должна инклудится единожды

Я хочу в итоге разбить файл на три части: непосредственно функция сортировки; сбор и подсчет статистики; вывод в таблицу. Нужно это для того, чтобы при изменениях в регламентах соревнований я оперативно мог бы менять свойства сортировки. И вид таблицы. Тогда я буду функцию инклюдить один раз и вызывать ее для нужного количества разных таблиц. А сейчас у меня получается, если таблиц несколько, происходит несколько инклюдов и функции.

Это сообщение отредактировал boomber - 30.09.2015 - 14:03
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
clocwerk  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 36
Пользователь №: 41868
На форуме: 1 год, 2 месяца, 9 дней
Карма: 1




Цитата
Но тогда, если я разобью файл на две функции, я все равно от этого не уйду.


Почему не уйдешь, ты делаешь один единственный include_once в начале файла, и потом просто вызываешь функцию которая отображает таблицу, столько раз сколько тебе нужно, тебе не нужно делать инклуды несколько раз.

к примеру твой файл

<?php 
include_once(functions.php);
?>

//Какой то html код

//Вызываем функцию которая создает таблицу


<?php expample($tourn, $group /*И т.д. какие ты там перенные используешь*/); ?>

//Далее опять какой нибудь html
// И вот тебе нужно сформаровать 2 таблицу, ты изменяешь значения переменных $tourn,
//$group и снова вызываешь функцию example


<?php example($tourn, $group); ?>




Вот и все, зачем инклудить много раз?

А функция сортировки у тебя тоже один раз все обьявляется в файле с функциями, и вызывается в функции example

Цитата
Гуглопоиск по ошибке предложил такой вариант решения:
if (!function_exists('sortByPoints'))
{
    function sortByPoints()
    {
    ........
    }
}


Проверка на существование функции - ты проверяешь есть у тебя уже такая функция, если нету, то функция создается, если есть то соответственно не создается, проще наверно нельзя обьяснить

Это сообщение отредактировал clocwerk - 30.09.2015 - 14:15
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




Цитата (clocwerk @ 30.09.2015 - 10:11)
Проверка на существование функции - ты проверяешь есть у тебя уже такая функция, если нету, то функция создается, если есть то соответственно не создается, проще наверно нельзя обьяснить

Не, я понял, что происходит проверка на существование функции.
Мне непонятно вот что: В итоге второй проверки, скрипт видит, что функция есть, но при вызове он же ее все равно обрабатывает с новыми данными. Вот это мне немного непонятно.
Но это все от недостатка знаний ))

Насчет функций, я понял. При переработке скрипта учту. Спасибо.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
clocwerk  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 36
Пользователь №: 41868
На форуме: 1 год, 2 месяца, 9 дней
Карма: 1




Цитата
В итоге второй проверки, скрипт видит, что функция есть, но при вызове он же ее все равно обрабатывает с новыми данными


Все верно у тебя же уже изменились переменные $a и $b которые ты передаешь в функцию, т.е. функция создается один раз а вызывается сколько угодно раз
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




В любом случае, спасибо за помощь!
Это дает некоторый стимул в развитии.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




Цитата (clocwerk @ 30.09.2015 - 10:11)
//Вызываем функцию которая создает таблицу

<?php expample($tourn, $group /*И т.д. какие ты там перенные используешь*/); ?>

Вот здесь у меня случился затык.
Завернул в функцию сбор статистики:
function stat($tourn, $group, $sport, $year)
{

$points='SELECT home, away, home_score, away_score,home_town,away_town FROM table WHERE tourn="'.$tourn.'" AND tourn_g="'.$group.'" AND sport ="'.$sport.'" AND year ="'.$year.'"';
.........

}

вызываю функцию:
stat($tourn,$group,$sport,$year);

ничего не происходит.
Ошибка выдается следующая: PHP Warning: stat() expects exactly 1 parameter, 4 given
Не могу понять, в чем ошибка? При определении функции я задал, что будет 4 входных параметра.

Если убираю оформление функции и просто инклюдю скрипт, то все работает.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 10 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 10 дней




--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
boomber  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 52
Пользователь №: 29055
На форуме: 5 лет, 4 месяца
Карма:




Цитата (Invis1ble @ 29.10.2015 - 07:44)
https://secure.php.net/manual/ru/function.stat.php

Вот жеж!
Спасибо.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) 1 [2]  Ответ в темуСоздание новой темыСоздание опроса