Перейти к содержанию

РНР


BearKing

Рекомендуемые сообщения

Всем здрасти). Вопрос возник с кодировками php+mysql. Вместо русского вопросы - при отображении названии полей

Часть кода. начинается так.

<?
 $conn=mysql_connect("localhost","root",""); 
		 // устанавливаем соединение
 $database = "client";
 $table_name = "all";
 mysql_select_db($database); // выбираем базу данных для 
		 // работы
 $list_f = mysql_list_fields($database,$table_name); 
		 // получаем список полей в базе
 $n = mysql_num_fields($list_f); // число строк в результате 
		 // предыдущего запроса (т.е. сколько всего 
		 // полей в таблице all)

Пробовал вставить <meta....... Ничего не изменилось. Может не туда засунул). Наверно в самом sql что-то, где-то...(

 

В phpmyadmin саму базу поставил в cp1251bin и таблицу также. (В пхпадм еще ошибка вот такая

Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.

вылазиет, какие пакеты надо установить, вроде сам mcrypt установил, ниче не изменилось)

post-14956-1233998721_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 168
  • Created
  • Последний ответ

Top Posters In This Topic

а вопрос в чем?

знаки вопроса - именования полей?

кодировка страницы зависит от:

кодировки исходных данных - видимо в твоем случае поля БД

кодировки страницы - которой отдает сервер

если чтото не совпадает - видим такой результат как у тебя.

прописывать кодировку через "meta" не рекомендуется

 

вместо этого

$n = mysql_num_fields($list_f); // число строк в результате

// предыдущего запроса (т.е. сколько всего

// полей в таблице all)

достаточно сделать

sizeof($list_f);

Ссылка на комментарий
Поделиться на другие сайты

  • 2 weeks later...

Возник вопрос по phpmyadmin.

Есть локальная база и удаленная.Мне нужно с локальной базы добавить в таблицу на удаленной базе строки.Как мне это сделать не удаляя табилицу на удаленной базе? Делал import(update),import(replace), но толку нет.Говорит,что успешно обновлено,но строки не добавляются.

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

Извиняюсь за тавтологию,но думаю суть понятна :)

Ссылка на комментарий
Поделиться на другие сайты

  • 1 month later...
  • 2 weeks later...
Всем здрасти). Вопрос возник с кодировками php+mysql. Вместо русского вопросы - при отображении названии полей

Часть кода. начинается так.

 

Лучше сразу после mysql_connect(); сделать

mysql_query( "SET NAMES cp1251" );

 

Это пояснит mysql-серверу в какой кодировке доставать данные.

iconv хорош, но не в этом случае. Представьте, каждый запрос нужно сопровождать iconv. Когда запросов 5 - не страшно, а если у вас тяжелое масштабируемое приложение с 1000 запросов? Лишняя нагрузка на сервер.

 

при выводе из таблицы кодируй текст функцией iconv. Например в utf: $text=iconv("cp1251bin","utf-8",$text);

 

Этот код нерабочий, точнее ведет себя на разных машинах нестабильно.

Лучше так:

$var = "Строка_в_нужной_кодировке";
$text=iconv("cp1251bin","utf-8",$var);
echo $text;

Ссылка на комментарий
Поделиться на другие сайты

  • 3 weeks later...

xct, подскажи пожалуйста, а как теперь сделать флешку ссылкой? Сделал вот так вот:

 

echo "<a href='http://www.site.ru/downloads.php?page_id=".$data4['download_id']."'><object type='application/x-shockwave-flash'  data='http://www.site.ru/downloads.php?cat_id=42&download_id=".$data4['download_id']."' width='106' height='142'></object></a>";

ссылку показывает, но она не кликабельна.

Ссылка на комментарий
Поделиться на другие сайты

  • 5 months later...

masterhost.ru - если сайт серьезный и требует серьезной производительности.

Да и саппорт у них там вменяемый.

Ссылка на комментарий
Поделиться на другие сайты

был 5 лет назад.

 

Ага. Пару аккаунтов клиентов в свое время были там. И все было плохо: непонятные запреты, туповатая служба поддержки по телефону. И самое веселое: они на неделю закрыли к сайтам доступ с серверов робота яндекса (по официальной версии - из-за слишком высокой нагрузки и трафика, генерируемого ботами). Это доконало.

Ссылка на комментарий
Поделиться на другие сайты

  • 5 weeks later...

Требуется вывести вместо всей фразы несколько слов. Если использую функцию substr то обрезает часто слова, что плохо. Кроме того, эта функция вставляет в конце непонятные символы, который в IE выводится как прямоугольник.

Подскажите как вывести определенное кол-во символов, при этом чтобы заканчивалось полным словом.

Пример моего неправильного кода:

while ($value = mysql_fetch_array($res)) {
$sub = substr($value['value'], 0, 77)."... ";
  print $i." <a href='/[~81~]&gid=".$value['dir_id']."&cardid=".$value['id_img']."'>".$sub."</a><br>";
  $i++;
}

Ссылка на комментарий
Поделиться на другие сайты

function get_subphrase($txt,$limit)
{
foreach(explode(" ",trim($txt)) as $t)
{
if(!$res){$res=$t;continue;}
if(strlen($res) < $limit && strlen($res." ".$t) < $limit){$res.=" ".$t;}
if(strlen($res) > $limit || strlen($res." ".$t) > $limit){break;}
}
return $res;
}

Ссылка на комментарий
Поделиться на другие сайты

Присоединиться к общению

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

Гость
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...



×
×
  • Создать...