|
|
11.12.2006, 06:57
|
|
Гость
Гость
|
Подскажите как лучше написать в поле Шаблона добавления функцию замены данных в таблице MySQL из текстового файла. При этом записей может как увеличиваться так и уменьшаться.
Т.е. в результате нужно добиться чтобы при отсутсвии даных в шаблоне предлагало не форму для добавления а форму загрузки текстового файла, а при наличии данных в шаблоне обычную форму добавления.
Так напрмер в поле Альтернативная форма добавления объекта форма с одним полем:
".opt($warnText, "$warnText")."
<form name=adminForm method=post action=/netcat/add.php>
<input type=hidden name=admin_mode value=1>
<input name=catalogue type=hidden value=$catalogue>
<input name=sub type=hidden value=$sub>
<input name=cc type=hidden value=$cc>
<input type=hidden name=posting value=1>
<table border=0 cellpadding=2 cellspacing=0>
<tr valign=top>
<td>Добавление объекта:</td>
<td>".date("Y-m-d H:i:s")."<font size=-2><br>Пользователь: ".$AUTH_USER_ID." </font><br></td>
</tr>
</table>
<hr size=1><br>файл (*):<br><input name=f_file size=50 type=file><br><br>
<br<br>Звездочкой (*) отмечены поля обязательные для заполнения.
<hr size=1>
<div align=right>
<input value='Добавить' type=submit>
</div>
</form>
В поле Условия добавления объекта простенькая проверка на пустоту поля.
if (!$f_folder && !$f_file[tmp_name]) {
$posting = 0;
$warnText = "Укажите название файла";
}
А вот как описать загрузку данных из текстового фала в поле пока написал только вот энто.
";
mysql_query("DELETE FROM `Message12` WHERE `Subdivision_ID` = $sub && `Sub_Class_ID` = $cc"); // удаляет все данные которые были ранее введены.
".s_list_class($sub,$cc,"&isMainContent=1&parent=".$f_Parent_Message_ID)."
-------------------
И в принципе такое предложение сделать возможность загружать данные в шаблон, при добавлении раздела из текстового файла с полями информации, а то при наличии базы приходиться заливать её непосредственно в таблицу с указанием параметров, или набивать заново, что скажем так не совсем удобно.
И еще как указать название шаблона не прибегая к его непосредственному названию в таблице MySQL.
|
|
|
11.12.2006, 11:17
|
|
Bash
Х
Зарегистрирован: 2006-12-06
Сообщений: 23
|
Цитата:И еще как указать название шаблона не прибегая к его непосредственному названию в таблице MySQL.
Message$class
|
|
|
13.12.2006, 09:46
|
|
Гость
Гость
|
Подскажите, в чем причина: в MySQL есть такая команда LOAD
Я записал вид команды так, но она не выполняется нормально(не добавляет данные в таблицу) в логах ошибках пусто, что не так подскажите.
$query = "LOAD DATA LOCAL INFILE ". $f_textfile ." INTO TABLE `test` LINES TERMINATED BY 'n' (a,s)";
$result = MYSQL_QUERY($query);
Пришлось описать эту функцию через php, что вышло удобнее =), но все таки интересно, почему не работает .
$f_textfile - поле файла через протокол передается нормально, на странице усе вывел, а вот для команды не срабатывает.
|
|
|
13.12.2006, 11:01
|
|
Bash
Х
Зарегистрирован: 2006-12-06
Сообщений: 23
|
Нужно получить реальный путь файла, он хранится в переменной $f_textfile_url. Или его можно получить вот таким способом
Код:$path = $DOCUMENT_ROOT.str_replace("h_","",$f_textfile)
|
|
|
14.12.2006, 07:19
|
|
Гость
Гость
|
Цитата:Нужно получить реальный путь файла, он хранится в переменной $f_textfile_url. Или его можно получить вот таким способом
Можед дело и в реальном пути к файлу, но данная переменная работает при добавлении файла на сервер в неткэт, я же не хочу его добавлять.
К томуже у меня и так не заработало, да и если бы дело было только в пути то непосредственная ссылка на файл должна была его загрузить, а этого не происхдит.
Он просто не добавляет в базу энтой командой и усе, при этом к примеру в phpMyAdmin она работает, но там они энто делают создавая временный файл на сервере и потом делают на него ссылку, а у меня так не выходит.
Даже просто по записи php не вномит данные и усе.
|
|
|
14.12.2006, 10:43
|
|
Гость
Гость
|
Не Message$class, а Message$classID смотри в файле netcat/add.php
|