26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
1

фотоальбом

03.10.2011, 23:12. Показов 2443. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
решила сделать так
в таблице image создала строку news_id (в нее будет вписываться ид новость)
вопрос такой есть форма добавления фотографий
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("/adminka/doc/index.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<?php
 
include "../config.php";
$db = 'image';
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
function delete($id, $dbTable)
{
    $q = "SELECT url FROM $dbTable WHERE id = '%d'";
// echo $q;
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink($row['url']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
}
 
 
// Здесь добавляем
$imgDir = "img";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
   $data = $_FILES['file'];
   $tmp = $data['tmp_name'];       
 
   if (@file_exists($tmp)) {
      $info = @getimagesize($_FILES['file']['tmp_name']);
      if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
         $name = "$imgDir/".time().".".$p[1];
         move_uploaded_file($tmp,$name);
         $url = $name;
         $result = mysql_query("INSERT INTO image (id,url) VALUES ('$id','$url')");
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
// Здесь выводим все записи из таблицы для построения списка
$query = 'SELECT `id`, `url` FROM `image`';
$res = mysql_query($query);
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table>
<?php
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
?>
<tr>
  <td>
    <img src="<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $row['id']; ?>)'>Удалить</a></td>
</tr>
<?php
   }
 
}
?>
</table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/doc/index.php");
     exit();
}
?>
и форма показа новостей в админки
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
  
  Error_Reporting(E_ALL & ~E_NOTICE); 
 
  // Устанавливаем соединение с базой данных
  require_once("../config.php");
 
 
  // Проверяем параметр page, предотвращая SQL-инъекцию
  if(!preg_match("|^[\d]*$|",$_POST['page'])) puterror("Ошибка при обращении к блоку новостей");
  // Проверяем переменную $page, равную порядковому номеру первой новости на странице
  $page = $_GET['page'];
  if(empty($page)) $page = 1;
  $begin = ($page - 1)*$all_number_news;
 
  // Воспроизводим новости, таким образом, как они выглядят на 
  // главной странице, но отображаем так же невидимые новости
  $query = "SELECT id_news,
                   name,
                   body,
                   DATE_FORMAT(putdate,'%d.%m.%Y') as putdate_format,
                   url,
                   url_text,
                   url_pict,
                   hide
            FROM news
            ORDER BY putdate DESC 
            LIMIT $begin, $all_number_news";
  $new = mysql_query($query);
  if ($new)
  {
    // Выводим ссылки управления новостями, добавление, удаление и редактирование
    ?>
<table cellpadding="0" cellspacing="0" border="0" >
        <tr>
        <?php
    echo "<td class=boxmenu><a class=menu href=addnewsform_news.php?start=$start title='Добавить новую новость на сайт' >Добавить новость</a></td>";
    ?>
    </tr>
    </table><br>
    <table width=100% class=bodytable border=1 align=center cellpadding=5 cellspacing=0 bordercolorlight=gray bordercolordark=white>
      <tr class=tableheadercat align="center">
        <td width=120><p class=zagtable>Дата</p></td>
        <td width=60%><p class=zagtable>Новость</p></td>
        <td width=40><p class=zagtable><nobr>Избр-е</nobr></p></td>
        <td colspan=3><p class=zagtable>Действия</p></td>
      </tr>
    <?php
    while($news = mysql_fetch_array($new))
    {
    
      $colorrow = "";
      if($news['hide']=='show') $showhide = "<p><a href=hide_news.php?id_news=".$news['id_news']."&start=$start title='Скрыть новость в блоке новостей'>Скрыть</a>";
      else  {
        $showhide = "<p><a href=show_news.php?id_news=".$news['id_news']."&start=$start title='Отобразить новость в блоке новостей'>Отобразить</a>";
        $colorrow = "class='hiddenrow'";
      }
      // Проверяем наличие изображения
      if ($news['url_pict'] != '' && $news['url_pict'] != '-') $url_pict="<b><a href=../".$news['url_pict'].">есть</a></b>";
      else $url_pict="нет";
      
      if (($news['url']!='-') and ($news['url']!='')) $news_url="<br><b>Ссылка:</b> <a href='".$news['url']."'>".$news['url_text']."</a>";
      else $news_url="";
      // Выводим новость
      echo "<tr $colorrow >
              <td><p class=help align=center>".$news['putdate_format']."</p></td>
              <td><p><a title='Редактировать текст новости' href=editnewsform_news.php?id_news=".$news['id_news']."&start=$start>".$news['name']."</a><br>".nl2br($news['body'])." ". $news_url." </td>
              <td><p>".$url_pict."</p></td>
              <td align=center>".$showhide."</td>
              <td align=center><p><a href=delnews_news.php?start=$start&id_news=".$news['id_news']." title='Удалить новость'>Удалить</a></td>
              <td align=center><p><a href=editnewsform_news.php?start=$start&id_news=".$news['id_news']." title='Редактировать текст новости'>Исправить</a></td>
            </tr>";
    }
    echo "</table>";
  }
  else puterror("Ошибка при обращении к блоку новостей");
 
include "../footer.php";  
 
?>
в этой форме надо сделать так чтоб в действиях появлялась кнопка добавить фото и открывалась форма добавления фотографий , но надо сделать так чтоб в таблице image в строку news_id записывался id новости радом с которой мы нажали кнопку

Добавлено через 1 час 12 минут
подскажите хоть немного

Добавлено через 46 минут
ребятя ну помогите пожайлуста

Добавлено через 1 час 14 минут
неужели не кто не знаетО_о

Добавлено через 25 минут
помогите очень прошу мучаюсь все бред какой то выдает
если кто то не понал вопроса скажите я обьясню
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2011, 23:12
Ответы с готовыми решениями:

Небольшой фотоальбом
Ребят, нужна помощь, задали мне сделать небольшой фотоальбом на ПХП с возможностью добавления и...

Помогите сделать фотоальбом
Хочу на сайте сделать страничку где бы выводились фотки в таком виде: Выводятся миниатюры фоток при...

Фотоальбом
Всем привет. Надеюсь в нужном разделе тему создал. Надеюсь на вашу помощь, а именно. Пытаюсь...

Фотоальбом и бд
Доброго времени суток требуется помощ специалиста есть скрипт загрузки фото &lt;?php ...

4
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
04.10.2011, 00:05 2
первый файл
PHP
1
2
3
4
5
6
7
//меж строк 9-10 добавь
<input type="hidden" name="news_id" value="ВОТ ЗДЕСЬ НУЖНО ПЕРЕДАТЬ ID НОВОСТИ">
 
//перед 59 добавь
$news_id = (int)$_GET['news_id'];
//59 меняй на
$result = mysql_query("INSERT INTO image (id,url,news_id) VALUES ('$id','$url','$news_id')");
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
04.10.2011, 00:14  [ТС] 3
Цитата Сообщение от Sulik78 Посмотреть сообщение
<input type="hidden" name="news_id" value="ВОТ ЗДЕСЬ НУЖНО ПЕРЕДАТЬ ID НОВОСТИ">
извените за тупость так сделать
PHP
1
<input type="hidden" name="news_id" value="<?php echo htmlspecialchars($_GET['id_news']); ?>">
0
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
04.10.2011, 00:19 4
да но, зачем htmlspecialchars?
вам же нужно получить integer(целое)
безопаснее и быстрее (int)
PHP
1
<input type="hidden" name="news_id" value="<?php echo (int)$_GET['id_news']; ?>">
1
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
04.10.2011, 20:00  [ТС] 5
Цитата Сообщение от Sulik78 Посмотреть сообщение
да но, зачем htmlspecialchars?
вам же нужно получить integer(целое)
безопаснее и быстрее (int)
PHP
1
<input type="hidden" name="news_id" value="<?php echo (int)$_GET['id_news']; ?>">
ок спасибо еще раз вам огромное
попробую сейчас

Добавлено через 8 часов 5 минут
Sulik78, извени скажи пожайлуста еще как вывести
например эти фотки под новостями(т.е определенного news_id) например news_id=4
как вывести их из таблицы

Добавлено через 2 часа 21 минуту
Sulik78,
у меня в news_id все время 0 записывается это код добавления фото
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<script type='text/javascript'>
function del(id)
{
    if(confirm("Вы действительно хотите удалить запись?"))
        document.location.replace("/adminka/news/foto.php?act=del&id=" + id);
}
</script>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br>
<input type="hidden" name="news_id" value="<?php echo (int)$_GET['id_news']; ?>">
<input type="submit" name="doUpload" value="Закачать новую фотографию">
<hr>
</form>
<?php
 
include "../config.php";
$db = 'image';
 
// Определяем массив GET
$act = (isset($_GET['act'])) ? htmlspecialchars($_GET['act']) : "";
// можно как тип string установить еще
// то же самое и для id только с типом (int)
 
function delete($id, $dbTable)
{
    $q = "SELECT url FROM $dbTable WHERE id = '%d'";
// echo $q;
    $query = sprintf($q, mysql_real_escape_string($id));
 
    if ($res = mysql_query($query))
    {
        $row = mysql_fetch_assoc($res);
        @unlink($row['url']);
    }
 
    $t = "DELETE FROM $dbTable WHERE id = '%d'";
    $query = sprintf($t, mysql_real_escape_string($id));
    $result = mysql_query($query);
 
    if(!$result)
       die ('Не удалось удалить запись!' . mysql_error());
    
    return true;
}
 
 
// Здесь добавляем
$imgDir = "foto";
@mkdir($imgDir, 0777);
if (@$_REQUEST['doUpload']) {
   $data = $_FILES['file'];
   $tmp = $data['tmp_name'];       
 
   if (@file_exists($tmp)) {
      $info = @getimagesize($_FILES['file']['tmp_name']);
      if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
         $name = "$imgDir/".time().".".$p[1];
         move_uploaded_file($tmp,$name);
         $url = $name;
$news_id = (int)$_GET['news_id'];
         $result = mysql_query("INSERT INTO image (id,url,news_id) VALUES ('$id','$url','$news_id')");
      } else { 
         echo "<h2>Попытка добавить файл недопустимого формата</h2>";
   }
} else {
    echo "<h2>Ошибка закачки #{$data['error']}</h2>";      
}
}
 
// Здесь выводим все записи из таблицы для построения списка
$query = 'SELECT `id`, `url` FROM `image`';
$res = mysql_query($query);
if(!$res)  die ('Не удалось получить список записей!    ' . mysql_error());
?>
<table>
<?php
if (mysql_num_rows($res) != 0)
{
   while ($row = mysql_fetch_array($res))
   {
?>
<tr>
  <td>
    <img src="<?=$row['url']?>"  alt="Добавлена <?=date("d.m.Y H:i:s", $row['time'])?>">
  </td>
  <td><a href='javascript: del(<?= $row['id']; ?>)'>Удалить</a></td>
</tr>
<?php
   }
 
}
?>
</table>
<?php
if (($act) && ($act == 'del'))
{
      // сюда подставляешь id текущей записи и название таблицы
     $id_img = (int)$_GET['id'];
delete($id_img, $db);
 
     // перекидываем/перзагружаем на нашу же страницу
     header("Location: /adminka/news/foto.php");
     exit();
}
?>
а радом с новостью создала ссылку на добавление
PHP
1
2
<td align=center><p><a href=editnewsform_news.php?start=$start&id_news=".$news['id_news']." title='Редактировать текст новости'>Исправить</a></td>
<td align=center><p><a href=foto.php>foto</a></td>
тут ошибка где то ведь да?

Добавлено через 9 часов 9 минут
Sulik78,
извените а могли бы вы ответить как лучше сделать фотоотчет в новостях(теоретически конечно)
зарание спасибо
0
04.10.2011, 20:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2011, 20:00
Помогаю со студенческими работами здесь

Фотоальбом
Как создать фотоальбом по Делфи?

Фотоальбом
Здравствуйте Хочу сделать вот такой фотоальбом: http://dugward.ru/u24_4.html Подскажите как...

фотоальбом
вообщем у меня надо переместить с левой стороны сайта скрипт на правую? скриншот прилагается ...

Фотоальбом
Хочу сделать фотоальбом на Delphi но возникла одна проблема, никак не могу сделать что бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru