[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пишу админку
veolancer
smile.gif Сайт у меня небольшой, а именно сайт картинок(обычное скачивание). Написал на php, вроди как ничего, всё работет как полагается, защиты и т.п. выводы из базы зделал всё как надо. теперь пишу админку. Нужно сделать кнопку Добавить-Редактировать-Удалить. Картинок будет много, около 20-25тысяч ohmy.gif хех.

На странице Добавить ->
1. Сделал форму (рубрики(выводятся в цикле), название(они же как теги будут), Путь к превью и путь к самой картинке(Они будут лежать на fastpic), вроди неплохой сервис и бесплатный)

Ниже была тема моя, там я говорил об этом пункте. Картинка вроди как добавляется в базу, но если поля не все заполнены, то один фиг добавляется. Вот надо с этим разобраться.

2. Редактирование. Я даже незаню как лучше сделать, раз картинок так много, подскажите как лучше.?!!! unsure.gif Если ток пагинатором воспользоваться (Категории картинок тоже храняться в базе).

smile.gif И 3. Удалить. По идее всё просто, я сделаю выборку из базы на превью и ид, и под превью поставлю импут с галочкой. НО опять же как, Картинок МНогО , так же с использованием пастаничного разделения:o

Тема больша, код будет ниже



Спустя 55 секунд (31.01.2012 - 00:49) veolancer написал(а):
Код по пункту 1.


<?php

#Показ всех ошибок в php документе
error_reporting(E_ALL);

#Подключаем файл конфигураций
include './includes/config.php';

#Подключаемся к БД
include './includes/db.php';

#Авторизация
include './includes/lock.php';

#Выборка категорий картинок
$query_rub = mysql_query("
SELECT *
FROM `rub`
ORDER BY `title`"
)
or die(mysql_error());

?>
<!DOCTYPE HTML>
<
html>
<
head>
<
title></title>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
link href="./style.css" rel="stylesheet" type="text/css">
<
link rel="icon" href="./favicon.ico" type="image/x-icon">
<
link rel="shortcut icon" href="./favicon.ico" type="image/x-icon">
</
head>
<
body>

<
div id="wrapper">
<?php include './includes/blocks/header.php'; ?>
<div id="content">
<?php include './includes/blocks/left.php'; ?>
<div id="right">
<?php

if(isset($_POST['sub'])){
#Перевод из массива POST в переменную
$rub = !empty($_POST['rub']) ? $_POST['rub'] : null;
$title = !empty($_POST['title']) ? $_POST['title'] : null;
$preview = !empty($_POST['preview']) ? $_POST['preview'] : null;
$img = !empty($_POST['img']) ? $_POST['img'] : null;

#Заносим картинку в БД
$res = mysql_query("INSERT INTO `pic` (`rub`,`title`,`preview`,`img`)
VALUES(
'"
. mysql_real_escape_string(trim($rub)) ."',
'"
. mysql_real_escape_string(trim($title)) ."',
'"
. mysql_real_escape_string(trim($preview)) ."',
'"
. mysql_real_escape_string(trim($img)) ."'
)
"
);

if(mysql_affected_rows() > 0){
echo 'Изображение было успешьно добавлено!';
}else{
echo 'Возникла ошибка при добавлении изображения. Проверьте правильнось заполнения полей.';
}

}

?>
<form method="post" action="">
<
p>Категория<br>
<
select name="rub" id="rub">
<?php
if(mysql_num_rows($query_rub) > 0){
while($row_rub = mysql_fetch_assoc($query_rub)){
echo '<option value="'. (int)$row_rub['id'] .'">'. htmlspecialchars($row_rub['title']) .'</option>';
}
}

?>
</select>
</
p>
<
p>Название(Теги)<br><input type="text" align="left" size="50" name="title" id="title"></p>
<
p>Превью<br><input type="text" align="left" size="50" name="preview" id="preview"></p>
<
p>Картинка<br><input type="text" align="left" size="50" name="img" id="img"></p>
<
input type="submit" value="Добавить" name="sub">
</
form>
</
div>
<
div class="clear"></div>
</
div>
<?php include './includes/blocks/footer.php'; ?>
</div>

</
body>
</
html>


Спустя 2 часа, 16 минут, 31 секунда (31.01.2012 - 03:06) inpost написал(а):
hamado
2.3. - постраничная навигация и только. + распределение по группам, то есть фильтры.
1. Создай массив errors. И если хотя бы одно из условий проверки не верное, то добавляй в этот массив запись ошибки. И в конце перед добавлением сделай проверку, если count($errrors), то есть хотя бы одна запись с ошибкой есть, то не добавляешь в БД, а загружаешь страницу с формой добавления.
И да, посмотри внимательно, у тебя в коде ошибка.

Спустя 3 часа, 13 минут, 55 секунд (31.01.2012 - 06:19) bob marley написал(а):
inpost
Я что-то не вижу ошибки blink.gif

Спустя 5 минут, 20 секунд (31.01.2012 - 06:25) inpost написал(а):
А разве не видно, что синтаксис всё криво даже на форуме подсветил?

Спустя 13 минут, 31 секунда (31.01.2012 - 06:38) veolancer написал(а):
Цитата (hamado @ 30.01.2012 - 21:49)
И да, посмотри внимательно, у тебя в коде ошибка.

Не понял, где ошибка то? Уж вдоль и поперек просмотрел и понять не могу

Цитата (hamado @ 30.01.2012 - 21:49)
Создай массив errors

А можно по разжованней пожалуйста? ph34r.gif

Спустя 2 минуты, 31 секунда (31.01.2012 - 06:41) veolancer написал(а):
Во нашёл

Спустя 2 часа, 14 минут, 23 секунды (31.01.2012 - 08:55) Игорь_Vasinsky написал(а):
Цитата
echo 'Изображение было успешьно добавлено!';


успешьно ;)


Цитата
htmlspecialchars($row_rub['title'])


htmlspecialchars($row_rub['title'])) 



беглым взглядом...


Цитата
        if(mysql_affected_rows() > 0){
                        echo 'Изображение было успешьно добавлено!';
                    }else{
                        echo 'Возникла ошибка при добавлении изображения. Проверьте правильнось заполнения полей.';


         //Если запрос вернул false
if(!$res){
echo 'Изображение было успешьно добавлено!';
}else{
echo 'Возникла ошибка при добавлении изображения. Проверьте правильнось заполнения полей.';



Спустя 21 минута, 1 секунда (31.01.2012 - 09:16) YVSIK написал(а):
Гдето я читал тут, что подобная запись запроса всегда некорретна, хоть и всегда приводится для примеров, так загружается больше сервер пустыми мыканиям
 $query_rub = mysql_query("
SELECT *

при запросе все-же лучше указывать не * а если надо все поля проверить, то что трудно их прописать.
Свернутый текст
PS) был тут.

Спустя 4 минуты, 43 секунды (31.01.2012 - 09:21) Игорь_Vasinsky написал(а):
Цитата
Гдето я читал тут, что подобная запись запроса всегда некорретна, хоть и всегда приводится для примеров, так загружается больше сервер пустыми мыканиям


если при выводе или выборке необходимы манипуляции только с несколькими полями - то да. но если скажем 3 из 5 - то не вижу ничё страшного.

Спустя 11 минут, 56 секунд (31.01.2012 - 09:33) veolancer написал(а):
Игорь_Vasinsky С текстом понятно, а по теме? Картинка добавляется всё ровно, даже если поле пустое. Что подсказал inpost я ничего не понял, можно по подробней, как мне сделать. Можно примеры?

Спустя 3 минуты, 24 секунды (31.01.2012 - 09:36) Игорь_Vasinsky написал(а):
Свернутый текст
упс

Спустя 3 минуты, 57 секунд (31.01.2012 - 09:40) Игорь_Vasinsky написал(а):
Цитата
$img = !empty($_POST['img']) ? $_POST['img'] : null;


$img = !empty($_POST['img']) ? $_POST['img'] : false;


а запрос в БД делать если

if($img)
{
//Вставка в БД
}

Спустя 16 минут, 33 секунды (31.01.2012 - 09:57) veolancer написал(а):
Игорь_Vasinsky

Типо так?


<?php

if(isset($_POST['sub'])){

#Перевод из массива POST в переменную
$rub = !empty($_POST['rub']) ? $_POST['rub'] : false;
$title = !empty($_POST['title']) ? $_POST['title'] : false;
$preview = !empty($_POST['preview']) ? $_POST['preview'] : false;
$img = !empty($_POST['img']) ? $_POST['img'] : false;

#Заносим картинку в БД
if(isset($rub,$title,$preview,$img)){
$res_pic = mysql_query("
INSERT INTO `pic` (`rub`,`title`,`preview`,`img`)
VALUES(
'"
. mysql_real_escape_string(trim($rub)) ."',
'"
. mysql_real_escape_string(trim($title)) ."',
'"
. mysql_real_escape_string(trim($preview)) ."',
'"
. mysql_real_escape_string(trim($img)) ."'
)
"
);

if(!res_pic){
echo 'Изображение было успешьно добавлено!';
}else{
echo 'Возникла ошибка при добавлении изображения. Проверьте правильнось заполнения полей.';
}
}
}

?>

Спустя 14 минут, 25 секунд (31.01.2012 - 10:11) Игорь_Vasinsky написал(а):
нет.

Свернутый текст
if(!res_pic) - для INSERT


т.е. if(!$res_pic)

а для INSERT - я выше написал.

Спустя 1 час, 9 минут, 1 секунда (31.01.2012 - 11:20) veolancer написал(а):
Что то я совсем запутался blink.gif

Спустя 3 дня, 4 часа, 21 минута, 59 секунд (4.02.2012 - 15:42) veolancer написал(а):
офф на недельку, поднаберусь опыта smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.