Добрый день! Не поможете решить проблему с кодировкой на сайте?
У нас есть сайт http://www.40auto.ru. написан на HTML. Подгрузил форум phpBB. Решил сделать поиск по сайту, а заодно и по форуму с помощью Яндекс. Для вставки полученного от Яндекса кода на сайт решил пересохранить все страницы сайта с расширением .php, а в требуемом месте как раз и вставил код Яндекса. Но при выводе страниц вместо русского текста появляются вопросительные знаки. Вот та же самая начальная страница, но уже с расширением .php http://www.40auto.ru/index.php.
В коде страницы пробовал менять кодировку: charset="utf-8" поменял на charset="Windows-1251". Не помогает. Причем, если после открытия страницы в браузере устанавливаю кодировку Windows-1251, то вместо вопросительных знаков появляется русский текст. Заранее спасибо!
Спасибо за подсказку! Почитал тут литературу. Вот, что получается:
Есть две таблицы - одна с прайс-листом (kuzov), содержит 5 полей: cat_num, descr, amount, price, company. Другая таблица (order) с заказами содержит поля такого же типа с префиксом order_.
Не могли бы пояснить поподробнее приведенный код? Как я понимаю, 2. INSERT INTO tbl_name - в моем случае tbl_name это order; 3. SELECT t1.bla,t1.bla,t1.bla -здесь оставляем t1, а вместо bla пишем название поля; 4. FROM tbl_name t1 - здесь tbl_name будет order. В строке 5. INNER JOIN tbl_name t2 ON t1.id=t2.id сравниваем значения по ключам; в строке 6. WHERE t1.bla = value AND t2.bla <> value) проверяем соответствие значений. Не понял значение символов последней строки
<>.
Мне нужно, чтобы из таблицы kuzov вставлялись значения в таблицу order при отсутствии такой же записи там, в случае нахождения подобной записи новая запись не производится, а просто изменяется значение одного из полей совпадающей записи (в данном случае числовое значение поля order_amount увеличивается на требуемую величину).
По прочитанной литературе составил запрос SELECT `cat_num` , COUNT( * )
FROM kuzov
JOIN order ON ( `cat_num` = `order_cat_num` )
LIMIT 0 , 30
Этот код работает, совпадающие позиции находятся. Не пойму, как теперь все это применить. (Добавление)
Также нашел еще один код. INSERT INTO order (`order_cat_num`,`order_descr`, `order_amount`, `order_price`, `order_company`)
SELECT 'RA1475', 'ПРУЖИНА ПОДВЕСКИ K-FLEX', '4', '915,11', 'KYB'
FROM dual
WHERE NOT EXISTS (SELECT `order_cat_num` FROM order
WHERE `order_cat_num` = 'RA1475');
У меня он работает. В данном коде поиск происходит по полю `order_cat_num` таблицы order. Сам каталожный номер я вручную записал в код 'RA1475'. Но я хочу сделать, чтобы этот номер брался из поля cat_num таблицы kuzov.
Вот меня и интересует, можно ли в последнюю строчку (или в какую потребуется) данного кода вместо вручную вписанного значения 'RA1475' подставить значение переменной, содержащей этот код?
Добрый день! В одной из таблиц БД загружен прайс-лист. Если при поиске по этой таблице обнаруживается нужная позиция, то она переписывается в другую таблицу (таблица с заказами). Теперь мне нужно несколько усложнить процесс, т. е. перед записью в таблицу с заказами необходимо проверить, а не существует ли уже такая запись в таблице с заказами. Если существует, то запись не производится, а просто увеличивается количество деталей. Если записи нет, то только тогда происходит запись в таблицу с заказами.
Как я понимаю, необходимо произвести поиск сперва в таблице с прайс-листом (это уже сделано), затем для записи в таблицу с заказами необходимо осуществить в этой таблице поиск этой детали. Далее, если запись есть, то ее количество увеличивается на требуемую величину. Иначе производится запись в таблицу с заказами.
Не подскажете, как можно это реализовать? С помощью функций и т. д.? Например, результаты поиска по разным таблицам можно записать в разные переменные и потом их сравнить? Я начинающий. Был бы признателен за примерную схему кода (что нужно реализовывать с помощью функций, может вообще можно обойтись без функций)? Спасибо!
Добрый день! Требуется загружать прайс их Excel в MySQL. Для этого я открываю Excel, сохраняю его как CSV файл. При этом русские буквы заменяются на краказябры, а, если в каталожном номере первым стои 0 (ноль), то он удаляется. Вот примера из файла Excel: 08669 Бампер передний \ ALFA ROMEO 156 (97-02).
Вот, что получается при сохранении его в формате CSV:
1) вместо 08669 записано 8669;
2) вместо Бампер передний \ ALFA ROMEO 156 (97-02). записано ?я?ф? ф? ?э?р? \ ALFA ROMEO 156 (97-02).
Соответственно, из CSV формата в базу русский текст записывается в виде краказябр (и выводится обратно тоже). Мне советовали включать в код строчку для правильной кодировки mysql_query('SET NAMES utf8');. При включении такого кода на второй же строке выдает ошибку Incorrect string value: '\xF2?\xF7?? ...' for column 'descr' at row 1.
Кодировку для столбцов в базе я пробовал применять и cp_1251, и utf8. Результат тот же самый. Да и кодировку я определяю уже для файла с краказябрами.
Не подскажете, как можно решить эту проблему? Спасибо!
При восстановлении обратно в .xls краказябры так ими и остаются. С ними думаю позже разобраться. Но в большей степени меня сейчас интересует запись данных из .xls в MySQL. Нашел в одной книге описание функции php explode. Думаю это мне помогло бы. Вот пример, который там был рассмотрен: $str = "user:password:/home/user";
$info = explode (":", $str);
print_r($info);
Вывод будет следующим: Array
(
[0] => user
[1] => password
[2] => /home/user
)
Насколько я понял, такой массив загрузить в MySQL уже несложно?
У меня есть прайс в excel с пятью столбцами. При сохранении в формате CSV поля разделяются с помощью ;. Количество строк - несколько тысяч. Не подскажете, как присвоить переменной (в данном случае $str) необходимый файл .csv? Также в данном примере есть только одна строка, а в реальном файле несколько тысяч строк и 5 полей. Как можно все это реализовать? Спасибо!
Добрый день! Необходимо предусмотреть загрузку файла Excel файла в базу данных MySQL.
Нашел информацию, что можно сохранить файл Excel в формат CSV, а затем уже можно загружать его в MySQL. После сохранения файла в CSV формате русский текст меняется на краказябры. Вот пример: Ѓ®Є®ў®Ґ §ҐаЄ «® ¬Ґе ЁЄ «Ґў®Ґ 388-ADD006-C0-2T \ Audi-100 (C4) (91-94)
Не подскажите, при извлечении данных из MySQL краказябры заменятся на русский текст или нужно что-то изменить?
Также уточню на всякий случай, файл Excel -> Сохранить как -> CSV (MS-DOS). Там еще можно было выбрать CSV(Macintosh). Насколько я понял, для Windows нужно было выбирать CSV (MS-DOS)?
Добрый день! Изучаю php по книге. Там есть одна тема, посвященная написанию скрипта для проверки валидности введенного номера банковской карты. Код перепечатал из книги. Создал 2 файла: один html для ввода номера карты, а другой php. Html окно открывается без всяких проблем. Ввожу туда номер карточки, жму Ок. Php скрипт не работает, выдает ошибку в строке с preg-match. Вот часть кода: foreach ($cards as $reg_ex => $type) {
if (preg_match($reg_ex, $cc_num)) { //это и есть строка 20 $card_type = $type;
break;
}
}
Текст ошибки: Warning: preg_match() [function.preg-match]: Compilation failed: unmatched parentheses at offset 20 in C:\Apache2\htdocs\php6\4\ccard.php on line 20
Согласно записи получается, что есть не парные круглые скобки, но в коде я не вижу такого.Далее жму на preg_match(), открывается сообщение: The requested URL /php6/4/function.preg-match was not found on this server.
Как я понял, функция preg-match не найдена. Подумал, что не все правильно настроил на локальном сервере, выгрузил на хостинг. Там выдает точно такую же ошибку и так же не находит данную функцию.
Не подскажите, что сделано не так? Заранее спасибо!
Добрый день! Пытаюсь создать веб страницу для проверки правильности введенного e-mail. Попробовал использовать <input type=email>. Сделал все в одном файле. Вот код между тегами body
<input type="email" name="email" method="post">
<input type="button" value="Проверить">
<?php
function is_email($email) {
if (! preg_match( '/^[A-Za-z0-9!#$%&\'*+-/=?^_`{|}~]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+[A-Za-z]$/', $email)) {
return false;
} else {
return true;}
}
if (is_email($email)) echo "E-mail правильный";
else echo "Введите правильный e-mail";
?>
Понимаю, что что-то не так делаю, но не могу понять что именно. Где связь между введенным email и переменной $email? Как то же в эту переменную должен записываться введенный email?
Добрый вечер! У меня есть сайт www.40auto.ru.
1) при отображении главной страницы в Firefox (у меня стоит 13.0.1, пишут, что последняя версия) не отображается целый блок adbox. Причем, как то списывался с одним человеком, он сказал, что у него 13 версия Firefox стоит, по его словам все нормально работает. Не могу понять, что с этим блоком не так. В других браузерах все работает нормально.
2) хочу модернизировать главную страницу, добавить туда случайный вывод текста (рекламы услуг, будет выводиться часть текста или его начало) с тем, чтобы при нажатии на него во всплывающем окне была изложена вся нужная информация. Такие всплывающие окна обычно используют для просмотра фотографий и т. д. Не скажете, как правильно называется данная функция? Не зная название не могу искать информацию о том, как это делается.
Спасибо заранее!