26

Re: Проблемы с запуском PHPMyAdmin

Этот код

include ($field['inc_path']);

работает, если в ячейке БД написан такой путь к файлу: somefolder/some.php
А втрой вариант почему то не сработал... Но цель достигнута, раз первый вариант работает.

Спасибо!

27

Re: Проблемы с запуском PHPMyAdmin

Koba
Во втором варианте, если между корнем хоста и каталогом somefolder есть что-то еще, то надо добавить к пути между $_SERVER['DOCUMENT_ROOT'] и $field['inc_path'].

28

Re: Проблемы с запуском PHPMyAdmin

Здравствуйте!

У меня такая проблема:

Есть БД и таблица "data" с данными. Одно поле из них "text" , где хранится допустим медицинские статьи (с тэгами абзаца и линками изображении). Всего 6 статьи. ПОЛЕ "TEXT" ИНДЕКСИРОВАЛ. В phpmyadmin (MAMP) такое пишет:

Indexes:

Keyname - PRIMARI
Type - BTREE

Keyname - text
Type - FULLTEXT

Создал php файл с формой ПОЙСКА. Форма передает запрос другому файлу обработчику -  "search.php" В этом файле я написал такой код: (розумеется, что в начале есть связь с БД и преобразование глобальных переменных в локальные)
---------------------------------------
<?php
$result = mysql_query("SELECT title, id, mini_img, description, author, view, date FROM data WHERE MATCH(text) AGAINST('$search')", $db);
if (!$result)
{
echo "Не удается связаться с БД";
exit (mysql_error());
}
if (mysql_num_rows($result) >0 )
{
$myrow = mysql_fetch_array($result);

do
{
printf("<table>
       <tr>
       <td>
       <p><img src='%s'><a href = 'view_post.php?id=%s'>%s</a></p>
       <p><em>Добавлено: </em> %s</p>
       <p>Автор: %s</p>
       </td>
       </tr>
      
       <tr>
       <td>
       <p>%s</p>
       <p>Количество посетителей: %s</p>
       </td></tr></table>", $myrow['mini_img'], $myrow['id'], $myrow['title'], $myrow['date'], $myrow['author'], $myrow['description'], $myrow['view']);
}
while ($myrow = mysql_fetch_array($result));
}         
else
{
echo "Запрос не выполнен, в базе нет записей";
exit ();
}
?>     
-------------------------

Проблема в том что:
1) По некоторым словам или фразам ищет а по некоторым нет.
2) Даже перехожу на статью и копирую маленькую фразу и даю пойск по нее, но не находит. Некоторые слова копирую (или набираю) даю пойск и нормально находит
3) Но в результате пойска какое слово бы не было, больше двух статьи не показывает. А знаю точно, что такое слово во всех статьях есть!
4) Которых не находит, пишет "Запрос не выполнен, в базе нет записей"

В чем причина, где допускаю ошибку?
Спасибо  заранее!

29

Re: Проблемы с запуском PHPMyAdmin

Koba
Попробуйте перехватить значение переменной $search до отправки запроса, чтобы посмотреть что именно отправляется MySQL.
exit($search);

Попробуйте выполнить данный SQL запрос в phpMyAdmin, чтобы сравнить возвращаемые данные.

30

Re: Проблемы с запуском PHPMyAdmin

Доброе утро!

До отправки запроса перехватил $search и показывает тоже самое, что в форме пойска пишу.
В базе у меня текст в основном на грузинском языке, может что то с кодировкой? Но в броузере текст нормально показывает через эту команду -mysql_query('SET NAMES utf8');- Даже в таблице специально добавил и русский и английский текст, но из новодобавленных вообще ничего не находит... (может новая индексация нужна, я пока не знаю ньюансы баз данных...)

31

Re: Проблемы с запуском PHPMyAdmin

Koba
Попробуйте составить SQL запрос и выполнить его в phpMyAdmin, иначе сложно понять работает ли он. То, что переменная $search в порядке - это уже хорошо.

SELECT title, id, mini_img, description, author, view, date FROM data WHERE MATCH(text) AGAINST('искомый текст')

32

Re: Проблемы с запуском PHPMyAdmin

И еще такой вопрос если можно: На моем сайте посетитель может оставить свой коментарии. В форме ввода текста пишу определенный  текст, допустим:
-------------------------------------------------
Здравствуйте!

Меня зовут Давид, мне очень понравился ваш сайт.
   
                        Желаю удачи!
-------------------------------------------------

После добавления на сайте выводится таким образом:

-------------------------------------------------
Здравствуйте!Меня зовут Давид, мне очень понравился ваш сайт.Желаю удачи
-------------------------------------------------

В общем без форматирования...
Как и где надо указать коды форматирования?

33

Re: Проблемы с запуском PHPMyAdmin

Koba
Чтобы при выводе у текста переводы строки заменялись на тег <br />, необходимо к нему применить функцию nl2br().

34

Re: Проблемы с запуском PHPMyAdmin

1) Про nl2br() спасибо, получилось - новые строки создаются.
Но как можно еще отоброзить все лишные пробели            вот так допустим? (у меня остается только один пробел)  Одним словом посетитель как набирет, чтоб так и получилось визуально после отправки?
2) SELECT title, id, mini_img, description, author, view, date FROM data WHERE MATCH(text) AGAINST('искомый текст') Такой вариант пробовал и раньше - пишу определенное слово, а не переменную, но результат тот же самый что с переменной - некоторые слова или фразу находит, некоторые нет. Мне кажется, что в коде все нормально и вот в базу может кое какие операции нужны...
Тут можно выложить screenshot для наглядности?

35

Re: Проблемы с запуском PHPMyAdmin

Koba
Чтобы текст выводился со всеми пробелами надо его забрать в HTML тег <pre>.

Попробуйте добавить к запросу параметр:
...MATCH(text) AGAINST('искомый текст' IN BOOLEAN MODE)

Если не получится, покажите структуру таблицы, строку с данными и искомый текст, который в этих данных не находит.

36

Re: Проблемы с запуском PHPMyAdmin

IN BOOLEAN MODE - Помог, пока что проверил все находит, СПАСИБО!
И тэг <pre> тоже задействовал...
Теперь столкнулся с такой проблемой: Если в форме комментарии кто-нибуд напишет длинное слово (допустим специально) то моя таблица расстягивается пропорционально и мягко говоря некрасиво... Как разбыть пробелом длинные слова (допустим больше 40 символов)? Или какая нибуд другая конструкция сушествует?

37

Re: Проблемы с запуском PHPMyAdmin

Попробуйте сперва функции chunk_split() и wordwrap(). Если они не годятся, то приведите пример того, как должно быть.

38

Re: Проблемы с запуском PHPMyAdmin

Скорее всего мне другая функция нужна.
Есть форма для комментарии, в которой на одну строку помешается где то 70 символов. Если посетитель наберет преднамеренно длинное слово без пробелов, допустим так:

слооооооооооооооооооооооооооооооооооооооооооооооовввввввввввввввввввввввввввввввввввввооооооооо

то дизайн моего сайта расстягивается в ширину пропорционально.
Как можно добавить пробели через какое то определенное количество символов для переноса текста на другой строке?

Форма у меня такая:

<forma>
<p>Имя:<input name="author" type="text" size="30" maxlength="30" /></p>
<p>Комментарии:<br><textarea name="text" cols="39" rows="10"></textarea></p>
<p><input name="subm" type="submit" value="Отправить" /></p>
</forma>

39

Re: Проблемы с запуском PHPMyAdmin

Koba
Если не годится появление строки прокрутки с помощью css параметра overflow, то можно использовать такую функцию для разбивки длинных слов.

<?php

function InsertSpace($str) {
    $iChars = 40;
    $aStr = explode("\n", str_replace("\r", '', $str));
    foreach ($aStr as &$line) {
        $aLine = explode(' ', $line);
        foreach ($aLine as &$word) {
            if (strlen($word) > $iChars) $word = trim(chunk_split($word, $iChars, ' '));
        }
        $line = implode(' ', $aLine);
    }
    return implode("\n", $aStr);
}

echo InsertSpace($str);

?>

40

Re: Проблемы с запуском PHPMyAdmin

Добрый день!

В MAMP создал БД, в котором 8 таблиц, после экспорта (пока на локальном компьютере) вся БД занимает всего 500 Kb. Теперь хочу выложить на моем хостинге у проваидера. На проваидерском PhpMyAdmin даю команду Import, но не импортирует (буд-то покавывает что работает, но результата нет).

Моя версия:
MySQL Server Version: 5.1.37
Apache: 2.0.63(unix)
PHP: 5.2.11
phpMyAdmin Version: 3.2.0.1

Версия провайдера:
MySQL Server Version: 5.0.87
MySQL Client Version: 4.1.22
Apache: 2.2.14(unix)
PHP: 5.2.11
phpMyAdmin Version: 2.11.9.5

Может из за заверсии не импортируется моя БД? Как решить это проблему?

41

Re: Проблемы с запуском PHPMyAdmin

Koba
Если никакой ошибки не видно, то попробуйте открыть дамп текстовым редактором и импортировать таблицы через окно выполнения SQL запросов, одну за одной.

42

Re: Проблемы с запуском PHPMyAdmin

На самом деле причина была в версиях. Более новая версия моя не расспознается более поздней весией сервера.
Открыл ехпортированную базу на моем компе в TextEdit и вручную изменил версии на серверские, в результате все ипортировалось! Гениально! smile
Спасибо!

43

Re: Проблемы с запуском PHPMyAdmin

Добрый день!

С новым годом!

Есть такой код (текст набран в utf-8, в основном я использую текст на грузинском):

$text = "Очень длинное слооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооово.";
$text = wordwrap($text, 20, "<br>", 1);

Вижу wordwap некорресктно работает с utf-8, разрывает строку не через 40 символов, а гораздо раньше, тогда как с английским текстом все впорядке!
Как можно корректно использовать wordwrap для грузинских текстов (utf-8)?

44

Re: Проблемы с запуском PHPMyAdmin

Koba
Функция wordwrap не работает с многобайтными кодировками. Посмотрите в пользовательских примерах, там есть множество вариантов данной функции для Юникода. http://php.net/manual/en/function.wordwrap.php

Спасибо за поздравление. Вас тоже с наступившим. smile

45

Re: Проблемы с запуском PHPMyAdmin

Добрый день!

У меня проблема с запуском phpmyadmin, то есть не могу входить в phpmyadmin. С БД работаю толко через MAMP (да еще не совсем гладко...)
В общем я хочу с нуля сконфигурировать систему для phpmyadmin (без MAMP-а)

Нинешнее положение:
Установил MacOS X Leopard;
Активировал APACHE (то есть включил Web Sharing)
Активировал PHP (через httpd.conf)

Если можно посоветуйте пошагово дальнейшие действия (цель - работать с БД в phpmyadmin)

Спасибо

46

Re: Проблемы с запуском PHPMyAdmin

Koba
Требуется установить MySQL. Если MySQL уже стоит, то настройку phpMyAdmin можно посмотреть здесь: http://php-myadmin.ru/learning/instrument-pma.html

47

Re: Проблемы с запуском PHPMyAdmin

Добрый день

К сожалению там не слова о MacOS X, точнее о взаимосвязке MySQL-PHP-Apache2 и их насткройках на Leopard-е...
Вот PHP и Apache у меня точно работают - создал PHP код и виводит в броузер, но вот с MySQL вижу у меня проблемы, точнее с настройками сокета - при запуске phpmyadmin выводит "#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured)"
Где находится сонфигурационный файл my.ini? Может там тужен написать путь к сокету...??

48

Re: Проблемы с запуском PHPMyAdmin

У вас конфигурационный файл MySQL будет my.cnf, поищите его в системе. Пока его не трогайте, сразу после обычной установки там все уже должно работать.

Откройте php.ini и установите путь к сокету в следующих директивах:
mysql.default_socket = /private/tmp/mysql.sock
mysqli.default_socket = /private/tmp/mysql.sock

После внесения изменений, перезапустите Apache.

49

Re: Проблемы с запуском PHPMyAdmin

Доброе утро Hanut!

Допустим есть таблица rating с полями id, vote, points, star, и много записей:

id    vote    points     star
1    4     17         4.25
2    5     22         4.5
3    8     26         3.25
.    .     .           .
.    .     .           .

1) Как произвести сложение всех значении vote для получения суммарного числа (на данный момент 4+5+8=17)?
2) как видно поле star=points/vote. Можно ли в самой таблице (а не в PHP коде, как у меня есть) указать такую директиву (star=points/vote) для автоматического заполнения поля star?

50

Re: Проблемы с запуском PHPMyAdmin

/* Сумма поля vote. */
SELECT SUM(`vote`) FROM `rating`;

/* Вычисление при выводе. */
SELECT `vote`, `points`, ROUND(`points` / `vote`, 2) AS `star` FROM `rating`;