Всем привет, перейдем сразу к делу: при добавлении новости меется форма (представлю ее часть): PHP: <select name="category">'; echo '<option value="99">-Выберите категорию-</option>'."\n"; while($razwi = mysql_fetch_assoc($razdel)) { echo '<option value="'.$razwi['id'].'">'.$razwi['category'].'</option>'."\n"; $racat = $razwi['id']; $cat = mysql_query("SELECT id,parent,category FROM categories WHERE parent='$racat'"); while($catwi = mysql_fetch_assoc($cat)) { echo '<option value="'.$catwi['id'].'">-'.$catwi['category'].'</option>'."\n"; } } echo '</select> тут выводятся категории в древовидном порядке, далее, есть обработчик формы: PHP: <? if(empty($_POST["title"])) {echo '<div id="space"> </div><div id="block2">Вы не указали название.</div>';} elseif(empty($_POST["text"])) {echo '<div id="space"> </div><div id="block2">Вы не указали текст новости.</div>';} elseif($_POST['category'] == 99) {echo '<div id="space"> </div><div id="block2">СВы не выбрали категорию.</div>';} elseif(empty($_FILES["filename1"]["name"])) {echo '<div id="space"> </div><div id="block2">Вы не выбрали файл.</div>';} elseif(empty($_FILES["filename2"]["name"])) {echo '<div id="space"> </div><div id="block2">Вы не выбрали изображение.</div>';} elseif($_FILES["filename1"]["error"] !== 0 ) {echo '<div id="space"> </div><div id="block2">Возникла проблема с загрузкой файла.</div>';} elseif($_FILES["filename2"]["error"] !== 0 ) {echo '<div id="space"> </div><div id="block2">Возникла проблема с загрузкой изображения.</div>';} elseif($_FILES["filename1"]["size"] > 1024*7*1024 ) {echo '<div id="space"> </div><div id="block2">Файл больше 7Mb.</div>';} elseif($_FILES["filename2"]["size"] > 1024*2*1024 ) {echo '<div id="space"> </div><div id="block2">Картинка больше 2Mb.</div>';} elseif($_FILES["filename2"]["type"] !== "image/jpeg" ) {echo '<div id="space"> </div><div id="block2">Формат картинки не поддерживается.</div>';} else { $title = htmlspecialchars($_POST['title']); $date = htmlspecialchars($_POST['date']); $author = htmlspecialchars($_POST['author']); $text = htmlspecialchars($_POST['text']); $category = $_POST['category']; $file = $_FILES["filename1"]["tmp_name"]; $file_name = $_FILES["filename1"]["name"]; $file_size = $_FILES["filename1"]["size"]; $file_type = $_FILES["filename1"]["type"]; $file_error = $_FILES["filename1"]["error"]; $img = $_FILES["filename2"]["tmp_name"]; $img_name = $_FILES["filename2"]["name"]; $img_size = $_FILES["filename2"]["size"]; $img_type = $_FILES["filename2"]["type"]; $img_error = $_FILES["filename2"]["error"]; # Тут пытаюсь расфасовать получаемые значения из формы function get_main_cat_from_subcat($subcatid){ $gcn=mysql_query("SELECT parent FROM categories WHERE id='$subcatid'"); $gcn_r=mysql_fetch_assoc($gcn); return $gcn_r['parent']; } $parent = mysql_query("SELECT id FROM categories WHERE parent='0'"); while($parent_array = mysql_fetch_assoc($parent)){ if($category == $parent_array['id']) {$razdel = get_main_cat_from_subcat($category);} else { $subcat= $category; } } $copy_file = copy($file,$_SERVER['DOCUMENT_ROOT']."/upload/files/".$file_name); if(isset($copy_file)) {$filedir ="/upload/files/".$file_name;$filesize = $file_size; $copy_img = copy($img,$_SERVER['DOCUMENT_ROOT']."/upload/img/".$img_name); $imgdir ="/upload/img/".$img_name; $res = mysql_query ("INSERT INTO news (title,text,date,author,category,filename,img,size,type,sub) VALUES ('$title','$text','$date','$author','$razdel','$filedir','$imgdir','$filesize','$file_type','$subcat')"); echo 'Файл удачно загружен и добавлен в базу.'; } else {echo 'Файл не загружен.';} } ?> собственно строение таблицы с категориями: не могу понять как отделять раздел пот подкатегории в форме, т .е если выбрали раздел то отсылать id раздела и пустую подкатегорию, если выбрали подкатегорию, отправлять id раздела, к которому относится данная категория и id самой категории долго ломаю голову, помогите кто чем может
а что тогда разделы если на скрине категории? =) проэктируя такого рода скрипт как заполнение форм для новостей или форумы (самые упрощенные) надо зарание продумать какая в нем структура. пусть категоря будет определятся неким id в таблице в новостями а раздел текстовой информацией скажем раздел категории карты топографические аэрофотоснимки обозначать как topografhic aerophoto и выбирать их таким же выпадающим списком.
Всем спс, сделал так: PHP: $parent = mysql_query("SELECT id FROM categories WHERE parent='0'"); while($parent_array = mysql_fetch_assoc($parent)) { if($category==$parent_array['id']){$razdel=$parent_array['id'];} } $parent1 = mysql_query("SELECT id,parent FROM categories WHERE parent<>'0'"); while($parent_array1 = mysql_fetch_assoc($parent1)) { if($category==$parent_array1['id']) {$subcat = $parent_array1['id'];$razdel = $parent_array1['parent'];} } )) тему можно закрыть