Re: Проблемы с запуском PHPMyAdmin
Этот код
include ($field['inc_path']);
работает, если в ячейке БД написан такой путь к файлу: somefolder/some.php
А втрой вариант почему то не сработал... Но цель достигнута, раз первый вариант работает.
Спасибо!
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум PHP-MyAdmin.RU → MySQL & phpMyAdmin → Проблемы с запуском PHPMyAdmin
Этот код
include ($field['inc_path']);
работает, если в ячейке БД написан такой путь к файлу: somefolder/some.php
А втрой вариант почему то не сработал... Но цель достигнута, раз первый вариант работает.
Спасибо!
Koba
Во втором варианте, если между корнем хоста и каталогом somefolder есть что-то еще, то надо добавить к пути между $_SERVER['DOCUMENT_ROOT'] и $field['inc_path'].
Здравствуйте!
У меня такая проблема:
Есть БД и таблица "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) Которых не находит, пишет "Запрос не выполнен, в базе нет записей"
В чем причина, где допускаю ошибку?
Спасибо заранее!
Koba
Попробуйте перехватить значение переменной $search до отправки запроса, чтобы посмотреть что именно отправляется MySQL.
exit($search);
Попробуйте выполнить данный SQL запрос в phpMyAdmin, чтобы сравнить возвращаемые данные.
Доброе утро!
До отправки запроса перехватил $search и показывает тоже самое, что в форме пойска пишу.
В базе у меня текст в основном на грузинском языке, может что то с кодировкой? Но в броузере текст нормально показывает через эту команду -mysql_query('SET NAMES utf8');- Даже в таблице специально добавил и русский и английский текст, но из новодобавленных вообще ничего не находит... (может новая индексация нужна, я пока не знаю ньюансы баз данных...)
Koba
Попробуйте составить SQL запрос и выполнить его в phpMyAdmin, иначе сложно понять работает ли он. То, что переменная $search в порядке - это уже хорошо.
SELECT title, id, mini_img, description, author, view, date FROM data WHERE MATCH(text) AGAINST('искомый текст')
И еще такой вопрос если можно: На моем сайте посетитель может оставить свой коментарии. В форме ввода текста пишу определенный текст, допустим:
-------------------------------------------------
Здравствуйте!
Меня зовут Давид, мне очень понравился ваш сайт.
Желаю удачи!
-------------------------------------------------
После добавления на сайте выводится таким образом:
-------------------------------------------------
Здравствуйте!Меня зовут Давид, мне очень понравился ваш сайт.Желаю удачи
-------------------------------------------------
В общем без форматирования...
Как и где надо указать коды форматирования?
Koba
Чтобы при выводе у текста переводы строки заменялись на тег <br />, необходимо к нему применить функцию nl2br().
1) Про nl2br() спасибо, получилось - новые строки создаются.
Но как можно еще отоброзить все лишные пробели вот так допустим? (у меня остается только один пробел) Одним словом посетитель как набирет, чтоб так и получилось визуально после отправки?
2) SELECT title, id, mini_img, description, author, view, date FROM data WHERE MATCH(text) AGAINST('искомый текст') Такой вариант пробовал и раньше - пишу определенное слово, а не переменную, но результат тот же самый что с переменной - некоторые слова или фразу находит, некоторые нет. Мне кажется, что в коде все нормально и вот в базу может кое какие операции нужны...
Тут можно выложить screenshot для наглядности?
Koba
Чтобы текст выводился со всеми пробелами надо его забрать в HTML тег <pre>.
Попробуйте добавить к запросу параметр:
...MATCH(text) AGAINST('искомый текст' IN BOOLEAN MODE)
Если не получится, покажите структуру таблицы, строку с данными и искомый текст, который в этих данных не находит.
IN BOOLEAN MODE - Помог, пока что проверил все находит, СПАСИБО!
И тэг <pre> тоже задействовал...
Теперь столкнулся с такой проблемой: Если в форме комментарии кто-нибуд напишет длинное слово (допустим специально) то моя таблица расстягивается пропорционально и мягко говоря некрасиво... Как разбыть пробелом длинные слова (допустим больше 40 символов)? Или какая нибуд другая конструкция сушествует?
Попробуйте сперва функции chunk_split() и wordwrap(). Если они не годятся, то приведите пример того, как должно быть.
Скорее всего мне другая функция нужна.
Есть форма для комментарии, в которой на одну строку помешается где то 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>
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);
?>
Добрый день!
В 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
Может из за заверсии не импортируется моя БД? Как решить это проблему?
Koba
Если никакой ошибки не видно, то попробуйте открыть дамп текстовым редактором и импортировать таблицы через окно выполнения SQL запросов, одну за одной.
На самом деле причина была в версиях. Более новая версия моя не расспознается более поздней весией сервера.
Открыл ехпортированную базу на моем компе в TextEdit и вручную изменил версии на серверские, в результате все ипортировалось! Гениально!
Спасибо!
Добрый день!
С новым годом!
Есть такой код (текст набран в utf-8, в основном я использую текст на грузинском):
$text = "Очень длинное слооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооово.";
$text = wordwrap($text, 20, "<br>", 1);
Вижу wordwap некорресктно работает с utf-8, разрывает строку не через 40 символов, а гораздо раньше, тогда как с английским текстом все впорядке!
Как можно корректно использовать wordwrap для грузинских текстов (utf-8)?
Koba
Функция wordwrap не работает с многобайтными кодировками. Посмотрите в пользовательских примерах, там есть множество вариантов данной функции для Юникода. http://php.net/manual/en/function.wordwrap.php
Спасибо за поздравление. Вас тоже с наступившим.
Добрый день!
У меня проблема с запуском phpmyadmin, то есть не могу входить в phpmyadmin. С БД работаю толко через MAMP (да еще не совсем гладко...)
В общем я хочу с нуля сконфигурировать систему для phpmyadmin (без MAMP-а)
Нинешнее положение:
Установил MacOS X Leopard;
Активировал APACHE (то есть включил Web Sharing)
Активировал PHP (через httpd.conf)
Если можно посоветуйте пошагово дальнейшие действия (цель - работать с БД в phpmyadmin)
Спасибо
Koba
Требуется установить MySQL. Если MySQL уже стоит, то настройку phpMyAdmin можно посмотреть здесь: http://php-myadmin.ru/learning/instrument-pma.html
Добрый день
К сожалению там не слова о 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? Может там тужен написать путь к сокету...??
У вас конфигурационный файл MySQL будет my.cnf, поищите его в системе. Пока его не трогайте, сразу после обычной установки там все уже должно работать.
Откройте php.ini и установите путь к сокету в следующих директивах:
mysql.default_socket = /private/tmp/mysql.sock
mysqli.default_socket = /private/tmp/mysql.sock
После внесения изменений, перезапустите Apache.
Доброе утро 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?
/* Сумма поля vote. */
SELECT SUM(`vote`) FROM `rating`;
/* Вычисление при выводе. */
SELECT `vote`, `points`, ROUND(`points` / `vote`, 2) AS `star` FROM `rating`;
Форум PHP-MyAdmin.RU → MySQL & phpMyAdmin → Проблемы с запуском PHPMyAdmin
Форум работает на PunBB, при поддержке Informer Technologies, Inc
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.