На странице Добавить ->
1. Сделал форму (рубрики(выводятся в цикле), название(они же как теги будут), Путь к превью и путь к самой картинке(Они будут лежать на fastpic), вроди неплохой сервис и бесплатный)
Ниже была тема моя, там я говорил об этом пункте. Картинка вроди как добавляется в базу, но если поля не все заполнены, то один фиг добавляется. Вот надо с этим разобраться.
2. Редактирование. Я даже незаню как лучше сделать, раз картинок так много, подскажите как лучше.?!!! Если ток пагинатором воспользоваться (Категории картинок тоже храняться в базе).
И 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), то есть хотя бы одна запись с ошибкой есть, то не добавляешь в БД, а загружаешь страницу с формой добавления.
И да, посмотри внимательно, у тебя в коде ошибка.
2.3. - постраничная навигация и только. + распределение по группам, то есть фильтры.
1. Создай массив errors. И если хотя бы одно из условий проверки не верное, то добавляй в этот массив запись ошибки. И в конце перед добавлением сделай проверку, если count($errrors), то есть хотя бы одна запись с ошибкой есть, то не добавляешь в БД, а загружаешь страницу с формой добавления.
И да, посмотри внимательно, у тебя в коде ошибка.
Спустя 3 часа, 13 минут, 55 секунд (31.01.2012 - 06:19) bob marley написал(а):
inpost
Я что-то не вижу ошибки
Я что-то не вижу ошибки
Спустя 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 |
А можно по разжованней пожалуйста?
Спустя 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
т.е. if(!$res_pic)
а для INSERT - я выше написал.
Спустя 1 час, 9 минут, 1 секунда (31.01.2012 - 11:20) veolancer написал(а):
Что то я совсем запутался
Спустя 3 дня, 4 часа, 21 минута, 59 секунд (4.02.2012 - 15:42) veolancer написал(а):
офф на недельку, поднаберусь опыта