|
| |
|
|
| |
для: ronin
(04.09.2006 в 11:52)
| | | Грубо я бы так делал (в реале было бы все не в одно файле а каждое в своем php в php, js в js и т.д.)
<?php
$lcFile=strVal($_POST['txtFile']);
$lnRubr=intVal($_POST['cboRubr']);
if(!empty($lcFile) && $lnRubr>0)
{
$lcContent=file_get_contents($lcFile);
$laObyav=explode('.', $lcContent);
for ($i=0; $i < count($laObyav); $i++)
{
$lcQuery = "insert into table (text, rubrica) values ('".$laObyav[$i]."', '".$lnRubr."' )";
mysql_query($lcQuery)
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>пример</title>
<script language="javascript" type="text/javascript">
<!--
function _check(toForm)
{
if (toForm.txtFile.value == "") { alert('Укажите файл для обработки'); toForm.txtFile.focus(); return false;}
if (toForm.cboRubr.value == 0) { alert('Выберите рубрику!'); toForm.cboRubr.focus(); return false;}
return true;
}
//-->
</script>
<style type="text/css">
input.txt { width: 300px; }
select.cbo { width: 160px; }
</style>
</head>
<body>
<form method="post" action="file1.htm" onsubmit="_check(this)">
<input type="text" name="txtFile" class="txt">
<br />
<select name="cboRubr" size="1" class="cbo">
<option selected value="0">не выбрана</option>
<option value="1">Недвижимость</option>
<option value="2">Автомобили</option>
</select>
<br />
<input type="submit" value="обработка" name="cmdRun">
</form>
</body>
</html>
|
После выполнения:
$result = mysql_query("SELECT text, rubrica FROM table WHERE rubrica= '".$_GET['rubrica']."' ORDER BY LIMIT $start, $num");
$num_results = mysql_num_rows($result);
|
У вас в $num_results - количество объявлений в рубрике.
Хотя для получения просто кол-ва строк лучше использовать запрос типа
SELECT COUNT(*) AS count1 FROM table WHERE runbrica=1
|
| |
| |
|
|
| |
|
|
| |
для: targa
(01.09.2006 в 13:56)
| | | Т.е. при закидывание а БД Мускул, код приблизительно такой? можно сделать страницу администрирования, и указывать рубрику $rubrica.Но как это все объеденить? Помогите!
$lcContent=file_get_contents($text);
$laObyav=explode('.', $lcContent);
$query = "insert into table ( text,rubrica) values
('".$text."', '".$rubrica."' )";
|
При этом при выводе
$result = mysql_query("SELECT text, rubrica FROM table WHERE rubrica= '".$_GET['rubrica']."' ORDER BY LIMIT $start, $num");
|
$result = mysql_query("SELECT * FROM table WHERE rubrica= '".$_GET['rubrica']."'
$num_results = mysql_num_rows($result);
echo Количество объявлений : '.$num_results.'';?>
| |
| |
|
|
| |
|
|
| |
для: targa
(01.09.2006 в 13:56)
| | | я перевариваю информацию отвучу позже, спасибо! | |
| |
|
|
| |
|
|
| |
для: ronin
(01.09.2006 в 12:31)
| | | Ну общий принцип если на РНР то примерно так:
- в Ворде сохраняем нужный файл, как HTML или TXT (в принципе не особо важно);
- запускаем РНР-скрипт;
- скрипт открывает html/txt и читает содержимое в переменную
$lcContent=file_get_contents('my_file.htm');
|
- если это html, то функцией preg_Match_All разбираем содержимое (паттерны придется определять опытным путем);
- получившийся массив если нужно подчищаем, в цикле пробегаемся и загоняем в БД;
- если это txt (и вы не соврали насчет того, что все объявления заканчиваются на точку и каждое объявление состоит всего из одного предложения) то точно также читаем файл в переменную($lcContent=file_get_contents('my_file.htm'););
- теперь делаем так
$laObyav=explode('.', $lcContent);
|
- получившийся массив если нужно подчищаем, в цикле пробегаемся и загоняем в БД;
Вот примерно так.
Хотя может если у вас там объявления вводят в Ворд имеет смысл сменить организацию данных? Если делаете это постоянно, то имеет смысл написать простенькую программку для ввода данных, можно на чем-нибудь эээ простеньком типа МС Абсцесса.
Хотя даже переход с Word'f на Excel упростит жизнь - сделали экспорт в csv и дальше делайте с данными че хотите. | |
| |
|
|
| |
|
|
| |
для: targa
(01.09.2006 в 11:29)
| | | Я человек темный, подскажите насчет конвертера в ПХП, правда спасибо за помощь, буду хотя бы знать чего искать:) | |
| |
|
|
| |
|
|
| |
для: ronin
(01.09.2006 в 10:17)
| | | Вариантов может быть два.
Вариант 1.
Делаете SaveAs в Ворде, сохраняете файл как хтмл. Потом разбираете его регулярными выражениями. Можно попробовать Save As текст, и тоже разбирать регулярками.
Хорошо тем, что сможете закинуть такой html/txt на хостинг и там разбирать (т.е. сможете написать конвертер на РНР).
Вариант 2.
Пишете на Сях, Делфях или Васиках конвертер. В нем через COM создаете объект класса Word.Application и обходя коллекцию параграфов, вытаскиваете текст из ворда. В принципе такое и на JS можно сделать, но думаю тормозить будет не по-детски (работа через COM идет медленно, .DOC с 11000 параграфов, перегонялся в dbf почти 70 минут /Athlon 2600 512Mb WinXPSP2/).
Мне например такой вариант проще - больший контроль над входными данными (можно вообще через коллекцию chars работать и тащить побуквенно :)), но сделать такое сможете или у себя или если у вас Win-хостинг. | |
| |
|
|
| |
|
|
| |
для: targa
(31.08.2006 в 21:40)
| | | объявления храняться в ворде, потом их закидывают, к примеру в БД Мускул все вместе, из которой вытягивают на сайт, но как при этом проводить подсчет... Да, объявление начинается с болшой буквы и заканчиваються точкой. Сорри за сумбур, спасибо! | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(31.08.2006 в 19:21)
| | | >Во-первых, из Word'a объявления вытащить не получится, если вопрос в этом - там все зашифровано
Ничего там не зашифровано. Можно вытащить. Есть несколько вариантов.
>я чессн сказать не совсем понял суть вопроса
Я тоже :). Перечитал 2 раза но так токлом не понял в чем проблема. | |
| |
|
|
| |
|
|
| |
для: ronin
(31.08.2006 в 18:21)
| | | Во-первых, из Word'a объявления вытащить не получится, если вопрос в этом - там все зашифровано ... я чессн сказать не совсем понял суть вопроса :(
Есть файл (БД или еще чего), оттуда нужно взять текст (неразделенные объявления) и разледить их, так? Объявление - это текст от большой буквы и до точки?
// (первое слово, каждого объявления с большой буквы) | |
| |
|
|
| |
|
|
| | Здравствуйте! Представте себе ситуацию: нужен вывод объявлений газеты, объявления вносяться раз в неделю, все вместе, по рубрикам, , возможно ли подсчитывать объявления, которые вносяться группой(первое слово, каждого объявления с большой буквы), отделять объявления друг от друга. Те. мне понятно как это сделать если объявлению вносяться он-лайн, и отдельно, но когда админом и 20 объявлений. Прошу помощи. | |
| |
|
|
|