Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603

Дублирует записи в БД

28.10.2014, 16:36. Показов 2439. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Народ подмогите, что то не могу понять в чем здесь проблема, форма ввода данных:
PHP/HTML
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
<a id="open_close_berni" href="#">Paradīt "Personas bērni" ievades formu </a> <br>
        <div id="block_links_berni">
        <table border="0" align='center' width="830" id="personas_berni">
            <tr>
                <td colspan="2" align="center"><i><b>Personas bērni</b></i></td>
            </tr>
            <tr>
                <td width="250">Vārds</td>
                <td><input class='datu_ievade' type='text' name="berni_vards[]" value="<?=@$_POST['berni_vards'];?>"></td>
            </tr>
            <tr>
                <td>Uzvārds</td>
                <td><input class='datu_ievade' type='text' name='berni_uzvards[]' value="<?=@$_POST['berni_uzvards'];?>"></td>
            </tr>
            <tr>
                <td>Dzimums</td>
                <td><select class='datu_ievade' name='berni_dzimums[]'><option value="">Izvēlēties...</option><option value="sievite" <?php @$_POST['berni_dzimums']=="sievite" ? print "selected" : false;?>>Sieviete</option><option value="vīrietis" <?php @$_POST['berni_dzimums']=="virietis" ? print "selected" : false;?>>Vīrietis</option></select></td>
            </tr>
            <tr>
                <td>Dzimšanas datums</td>
                <td><input class='datu_ievade' type='text' name='berni_dzdatums[]' id="berni_dzdatums" value="<?=@$_POST['berni_dzdatums'];?>" readonly> <img src="images2/cal.gif" onclick="javascript:NewCssCal('berni_dzdatums')" style="cursor:pointer"/></td>
            </tr>
            <tr>
                <td>Īpašas pazīmes</td>
                <td><textarea name="berni_pazimes[]" wrap="hard"><?=@$_POST['berni_pazimes'];?></textarea></td>
            </tr>
            <tr>
                <td>Piezīmes</td>
                <td><textarea name="berni_piezimes[]" wrap="hard"><?=@$_POST['berni_piezimes'];?></textarea></td>
            </tr>
            <tr>
                <td>Fotografija</td>
                <td><input type="FILE" name="bernu_foto_attels_imgupload[]" class="datu_ievade"></td>
            </tr>
        </table>
        
            <table align="center">
                <tr>
                    <td>
                        <input type='button' id='berni_pievienot' value='Pievienot bērnu ievades formu'>
                    </td>
                </tr>
            </table>
        </div>
при помощи JQuery добавляем сколько надо форм:
JavaScript
1
2
3
4
5
$(document).ready(function(){
$('#berni_pievienot').click(function(){
$('#personas_berni > tbody:last').append('<tr><td colspan=\'2\' align=\'center\'><i><b>Nākošajs</i></b></td></tr><tr><td>Vārds</td><td><input class=\'datu_ievade\' type=\'text\' name=\'berni_vards[]\' value=\'\'></td></tr><tr><td>Uzvārds</td><td><input class=\'datu_ievade\' type=\'text\' name=\'berni_uzvards[]\' value=\'\'></td></tr><tr><td>Dzimums</td><td><select class=\'datu_ievade\' name=\'berni_dzimums[]\'><option value=\'\'>Izvēlēties...</option><option value=\'sievite\'>Sieviete</option><option value=\'vīrietis\' >Vīrietis</option></select></td></tr><tr><td>Dzimšanas datums</td><td><input class=\'datu_ievade\' type=\'text\' name=\'berni_dzdatums[]\' value=\'\'></td></tr><tr><td>Īpašas pazīmes</td><td><textarea name=\'berni_pazimes[]\' wrap=\'hard\'></textarea></td></tr><tr><td>Piezīmes</td><td><textarea name=\'berni_piezimes[]\' wrap=\'hard\'></textarea></td></tr><tr><td>Fotografija</td><td><input type=\'FILE\' name=\'bernu_foto_attels_imgupload[]\' class=\'datu_ievade\'></td></tr>');
});
});
обрабатываем:
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
//ширина и высота в пикселях
$pic_weight = 3000;
$pic_height = 3000;
if (isset($_FILES))
{
  //пролистываем весь массив изображений по одному $_FILES
  foreach ($_FILES['bernu_foto_attels_imgupload']['name'] as $k=>$v)
  {
    //директория загрузки
    $uploaddir = "foto_attels_berni/";
    //новое имя изображения
    $apend=date('YmdHis').rand(100,1000).'.png';
    //путь к новому изображению
    $uploadfile = "$uploaddir$apend";
 
    //Проверка расширений загружаемых изображений
    if($_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/gif" || $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/png" ||
    $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/jpg" || $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/jpeg")
    {
      //черный список типов файлов
      $blacklist = array(".php", ".phtml", ".php3", ".php4");
      foreach ($blacklist as $item)
      {
        if(preg_match("/$item\$/i", $_FILES['bernu_foto_attels_imgupload']['name'][$k]))
        {
          echo "Нельзя загружать скрипты.";
          exit;
        }
      }
 
      //перемещаем файл из временного хранилища
      if (move_uploaded_file($_FILES['bernu_foto_attels_imgupload']['tmp_name'][$k], $uploadfile))
      {
        //получаем размеры файла
        $size = getimagesize($uploadfile);
        //проверяем размеры файла, если они нам подходят, то оставляем файл
        if ($size[0] < $pic_weight && $size[1] < $pic_height)
        {
            $out = array();
            for($i = 0; $i < count($_POST["berni_vards"]); $i++)
                {
                    if($_POST["berni_vards"][$i] != "")
                        {
                            $personas_id = $new_personas_id;
                            $berni_vards = $_POST["berni_vards"][$i];
                            $berni_uzvards = $_POST["berni_uzvards"][$i];
                            $berni_dzimums = $_POST["berni_dzimums"][$i];
                            $berni_dzdatums = $_POST["berni_dzdatums"][$i];
                            $berni_pazimes = $_POST["berni_pazimes"][$i];
                            $berni_piezimes = $_POST["berni_piezimes"][$i];
                            $berni_darbibas = "Pedejas izmaiņas veica $_SESSION[user_vards] $_SESSION[user_uzvards] ".$date;
                            $out[] = "('".$personas_id."', '".$berni_vards."', '".$berni_uzvards."', '".$berni_dzimums."','".$berni_dzdatums."', '".$berni_pazimes."','".$berni_piezimes."', '".$uploadfile."', '".$berni_darbibas."')";
                        }
                }
 
            if(!empty($out))
            {
                mysql_query("INSERT INTO `PERSONAS_BERNI`(`personas_id`, `berni_vards`, `berni_uzvards`, `berni_dzimums`, `berni_dzdatums`, `berni_pazimes`, `berni_piezimes`, `berni_foto` , `berni_darbibas`) VALUES ".implode(",", $out).";", $db); 
            echo mysql_error();}
 
          echo "<center><br>Файл ($uploadfile) загружен.</center>";
        }
        //если размеры файла нам не подходят, то удаляем файл unlink($uploadfile);
        else
        {
          echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
          unlink($uploadfile);
        }
      }
      else
        echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
    }
    else
      echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
  }
}
вот проблема при добавлении записей в БД там появляются лишние строки, ровно столько сколько значений в массиве если 3 строки добавляю + еще 3, может кто направит или подправит код???

Добавлено через 6 минут
а да еще забыл дописать, файлы заносит правильно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2014, 16:36
Ответы с готовыми решениями:

Дублирует при обновлении страницы
При обновление страницы дублирует в базу сообщение &lt;?php include (&quot;config/conf.php&quot;);?&gt; &lt;?php $res =...

Primary key дублирует индкекс
Добрый день! у меня есть в БД таблица в которой поле имеет значение primary key и auto_increment. к примеру я добавил в нее 10 значений...

При выборке из таблицы берёт только первую запись и дублирует её
При выборке из таблицы берёт только первую запись и дублирует эту запись столько раз, сколько всего записей в таблице. Т.е. Если в таблице...

12
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
30.10.2014, 23:44  [ТС]
неужели нет людей которые могут помочь?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.10.2014, 08:35
Сделайте var_dump() массива $out. Посмотрите, в нём записей сколько. Если в нём записи дублируются - скажите. Если нет - то, возможно запрос к скрипту выполняется дважды. Тут проверять (делать debug) код нужно прямо на месте.
На первый взгляд причину обнаружил.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
05.11.2014, 15:49  [ТС]
Цитата Сообщение от lyod Посмотреть сообщение
Сделайте var_dump() массива $out. Посмотрите, в нём записей сколько. Если в нём записи дублируются - скажите. Если нет - то, возможно запрос к скрипту выполняется дважды. Тут проверять (делать debug) код нужно прямо на месте.
На первый взгляд причину обнаружил.
Извините раньше не было времени, вот что выводит var_damp():
HTML5
1
2
3
4
5
Файл (foto_attels_berni/20141105134310622.png) загружен.
array(2) { [0]=> string(174) "('74', 'var_dump($var);', 'var_dump($var);', 'vīrietis','', '','', 'foto_attels_berni/20141105134310622.png', 'Pedejas izmaiņas veica Vitālijs Mitins 13-43-09, 5-11-2014')" [1]=> string(174) "('74', 'var_dump($var);', 'var_dump($var);', 'vīrietis','', '','', 'foto_attels_berni/20141105134310622.png', 'Pedejas izmaiņas veica Vitālijs Mitins 13-43-09, 5-11-2014')" } 
 
Файл (foto_attels_berni/20141105134310207.png) загружен.
array(2) { [0]=> string(174) "('74', 'var_dump($var);', 'var_dump($var);', 'vīrietis','', '','', 'foto_attels_berni/20141105134310207.png', 'Pedejas izmaiņas veica Vitālijs Mitins 13-43-09, 5-11-2014')" [1]=> string(174) "('74', 'var_dump($var);', 'var_dump($var);', 'vīrietis','', '','', 'foto_attels_berni/20141105134310207.png', 'Pedejas izmaiņas veica Vitālijs Mitins 13-43-09, 5-11-2014')" }
что то не пойму от куда попадают два значения
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.11.2014, 16:09
У Вас неправильно скрипт написан. Нужно
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$out = array();
            for($i = 0; $i < count($_POST["berni_vards"]); $i++)
                {
                    if($_POST["berni_vards"][$i] != "")
                        {
                            $personas_id = $new_personas_id;
                            $berni_vards = $_POST["berni_vards"][$i];
                            $berni_uzvards = $_POST["berni_uzvards"][$i];
                            $berni_dzimums = $_POST["berni_dzimums"][$i];
                            $berni_dzdatums = $_POST["berni_dzdatums"][$i];
                            $berni_pazimes = $_POST["berni_pazimes"][$i];
                            $berni_piezimes = $_POST["berni_piezimes"][$i];
                            $berni_darbibas = "Pedejas izmaiņas veica $_SESSION[user_vards] $_SESSION[user_uzvards] ".$date;
                            $out[] = "('".$personas_id."', '".$berni_vards."', '".$berni_uzvards."', '".$berni_dzimums."','".$berni_dzdatums."', '".$berni_pazimes."','".$berni_piezimes."', '".$uploadfile."', '".$berni_darbibas."')";
                        }
                }
 
            if(!empty($out))
            {
                mysql_query("INSERT INTO `PERSONAS_BERNI`(`personas_id`, `berni_vards`, `berni_uzvards`, `berni_dzimums`, `berni_dzdatums`, `berni_pazimes`, `berni_piezimes`, `berni_foto` , `berni_darbibas`) VALUES ".implode(",", $out).";", $db); 
            echo mysql_error();}
Вынести из цикла загрузки изображений.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
05.11.2014, 16:37  [ТС]
если я вынесу это из цикла то как тогда организовать добавления записей в базу? У меня идет загрузка информации об одном человеке: (Персональные данные, дети, и так далее) после вставки персональных данных я получаю id этой записи и далее уже вставляю остальные записи с этим id (связь по этому id). Я что то не совсем тогда понимаю как мне тут быть?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
05.11.2014, 18:39
Я имею ввиду не удалить вообще, а вынести за пределы этого цикла
PHP
1
2
3
//пролистываем весь массив изображений по одному $_FILES
  foreach ($_FILES['bernu_foto_attels_imgupload']['name'] as $k=>$v)
  {
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
05.11.2014, 19:31  [ТС]
Цитата Сообщение от lyod Посмотреть сообщение
Я имею ввиду не удалить вообще, а вынести за пределы этого цикла
если я делаю так
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
//ширина и высота в пикселях
$pic_weight = 3000;
$pic_height = 3000;
if (isset($_FILES))
{
  //пролистываем весь массив изображений по одному $_FILES['file']['name'] as $k=>$v
  foreach ($_FILES['bernu_foto_attels_imgupload']['name'] as $k=>$v)
  {
    //директория загрузки
    $uploaddir = "foto_attels_berni/";
    //новое имя изображения
    $apend=date('YmdHis').rand(100,1000).'.png';
    //путь к новому изображению
    $uploadfile = "$uploaddir$apend";
 
    //Проверка расширений загружаемых изображений
    if($_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/gif" || $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/png" ||
    $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/jpg" || $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/jpeg")
    {
      //черный список типов файлов
      $blacklist = array(".php", ".phtml", ".php3", ".php4");
      foreach ($blacklist as $item)
      {
        if(preg_match("/$item\$/i", $_FILES['bernu_foto_attels_imgupload']['name'][$k]))
        {
          echo "Нельзя загружать скрипты.";
          exit;
        }
      }
 
      //перемещаем файл из временного хранилища
      if (move_uploaded_file($_FILES['bernu_foto_attels_imgupload']['tmp_name'][$k], $uploadfile))
      {
        //получаем размеры файла
        $size = getimagesize($uploadfile);
        //проверяем размеры файла, если они нам подходят, то оставляем файл
        if ($size[0] < $pic_weight && $size[1] < $pic_height)
        {
         // mysql_query("SET NAMES 'utf8'");
         // mysql_query("INSERT INTO `PERSONAS_BERNI` SET `berni_foto`= '$uploadfile'", $db); 
        //                  echo mysql_error();
 
          echo "<center><br>Файл ($uploadfile) загружен.</center>";
          
        }
        //если размеры файла нам не подходят, то удаляем файл unlink($uploadfile);
        else
        {
          echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
          unlink($uploadfile);
        }
      }
      else
        echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
    }
    else
      echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
  }
}
    $out = array();
            for($i = 0; $i < count($_POST["berni_vards"]); $i++)
                {
                    if($_POST["berni_vards"][$i] != "")
                        {
                            $personas_id = $new_personas_id;
                            $berni_vards = $_POST["berni_vards"][$i];
                            $berni_uzvards = $_POST["berni_uzvards"][$i];
                            $berni_dzimums = $_POST["berni_dzimums"][$i];
                            $berni_dzdatums = $_POST["berni_dzdatums"][$i];
                            $berni_pazimes = $_POST["berni_pazimes"][$i];
                            $berni_piezimes = $_POST["berni_piezimes"][$i];
                            $berni_darbibas = "Pedejas izmaiņas veica $_SESSION[user_vards] $_SESSION[user_uzvards] ".$date;
                            $out[] = "('".$personas_id."', '".$berni_vards."', '".$berni_uzvards."', '".$berni_dzimums."','".$berni_dzdatums."', '".$berni_pazimes."','".$berni_piezimes."', '".$uploadfile."', '".$berni_darbibas."')";
                        }
                }
 
            if(!empty($out))
            {
                mysql_query("INSERT INTO `PERSONAS_BERNI`(`personas_id`, `berni_vards`, `berni_uzvards`, `berni_dzimums`, `berni_dzdatums`, `berni_pazimes`, `berni_piezimes`, `berni_foto` , `berni_darbibas`) VALUES ".implode(",", $out).";", $db); 
            echo mysql_error();
            var_dump($out);
            }
то заносит только последний файл во все записи.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.11.2014, 12:13
Виталюска, а цикл задействовать не пробовали? При загрузке формируйте массив с названиями изображений, затем в цикле (при вставке в БД) пишите в базу.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
06.11.2014, 13:19  [ТС]
Цитата Сообщение от lyod Посмотреть сообщение
Виталюска, а цикл задействовать не пробовали? При загрузке формируйте массив с названиями изображений, затем в цикле (при вставке в БД) пишите в базу.
А разве у меня там не в цикле грузятся? Помогите пожалуйста исправить.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
06.11.2014, 18:15
Виталюска, код по-хорошему вообще бы весь переписать. Но попробуйте так:
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
<?php
//ширина и высота в пикселях
$pic_weight = 3000;
$pic_height = 3000;
if (isset($_FILES))
{
  # Массив для имён изображений
  $names = array();
  
  //пролистываем весь массив изображений по одному $_FILES
  foreach ($_FILES['bernu_foto_attels_imgupload']['name'] as $k=>$v)
  {
    //директория загрузки
    $uploaddir = "foto_attels_berni/";
    //новое имя изображения
    $apend=date('YmdHis').rand(100,1000).'.png';
    //путь к новому изображению
    $names[] = $uploadfile = $uploaddir . $apend;
 
    //Проверка расширений загружаемых изображений
    if($_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/gif" || $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/png" ||
    $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/jpg" || $_FILES['bernu_foto_attels_imgupload']['type'][$k] == "image/jpeg")
    {
      //черный список типов файлов
      $blacklist = array(".php", ".phtml", ".php3", ".php4");
      foreach ($blacklist as $item)
      {
        if(preg_match("/$item\$/i", $_FILES['bernu_foto_attels_imgupload']['name'][$k]))
        {
          echo "Нельзя загружать скрипты.";
          exit;
        }
      }
 
      //перемещаем файл из временного хранилища
      if (move_uploaded_file($_FILES['bernu_foto_attels_imgupload']['tmp_name'][$k], $uploadfile))
      {
        //получаем размеры файла
        $size = getimagesize($uploadfile);
        //проверяем размеры файла, если они нам подходят, то оставляем файл
        if ($size[0] < $pic_weight && $size[1] < $pic_height) 
          echo "<center><br>Файл ($uploadfile) загружен.</center>";
        //если размеры файла нам не подходят, то удаляем файл unlink($uploadfile);
        else
        {
          echo "<center><br>Размер пикселей превышает допустимые нормы.</center>";
          unlink($uploadfile);
        }
      }
      else
        echo "<center><br>Файл не загружен, вернитесь и попробуйте еще раз.</center>";
    }
    else
      echo "<center><br>Можно загружать только изображения в форматах jpg, jpeg, gif и png.</center>";
  }
  
    $out = array();
    for($i = 0; $i < count($_POST["berni_vards"]); $i++)
        {
            if($_POST["berni_vards"][$i] != "")
                {
                    $personas_id = $new_personas_id;
                    $berni_vards = $_POST["berni_vards"][$i];
                    $berni_uzvards = $_POST["berni_uzvards"][$i];
                    $berni_dzimums = $_POST["berni_dzimums"][$i];
                    $berni_dzdatums = $_POST["berni_dzdatums"][$i];
                    $berni_pazimes = $_POST["berni_pazimes"][$i];
                    $berni_piezimes = $_POST["berni_piezimes"][$i];
                    $berni_darbibas = "Pedejas izmaiņas veica $_SESSION[user_vards] $_SESSION[user_uzvards] ".$date;
                    $out[] = "('".$personas_id."', '".$berni_vards."', '".$berni_uzvards."', '".$berni_dzimums."','".$berni_dzdatums."', '".$berni_pazimes."','".$berni_piezimes."', '".$names[$i]."', '".$berni_darbibas."')";
                }
        }
 
    if(!empty($out))
    {
        mysql_query("INSERT INTO `PERSONAS_BERNI`(`personas_id`, `berni_vards`, `berni_uzvards`, `berni_dzimums`, `berni_dzdatums`, `berni_pazimes`, `berni_piezimes`, `berni_foto` , `berni_darbibas`) VALUES ".implode(",", $out).";", $db); 
    echo mysql_error();}
}
1
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
06.11.2014, 19:23  [ТС]
Цитата Сообщение от lyod Посмотреть сообщение
Виталюска, код по-хорошему вообще бы весь переписать. Но попробуйте так:
Спасибо! Так заработало, а что здесь не так что нужно переписать(исправить)? В чем ошибки?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
07.11.2014, 06:10
Я добавил вот это:
PHP
1
2
# Массив для имён изображений
  $names = array();
Изменил это:
PHP
1
2
//путь к новому изображению
    $uploadfile = $uploaddir . $apend;
На это:
PHP
1
2
//путь к новому изображению
    $names[] = $uploadfile = $uploaddir . $apend;
И вот это:
PHP
1
$out[] = "('".$personas_id."', '".$berni_vards."', '".$berni_uzvards."', '".$berni_dzimums."','".$berni_dzdatums."', '".$berni_pazimes."','".$berni_piezimes."', '".$uploadfile."', '".$berni_darbibas."')";
На это:
PHP
1
$out[] = "('".$personas_id."', '".$berni_vards."', '".$berni_uzvards."', '".$berni_dzimums."','".$berni_dzdatums."', '".$berni_pazimes."','".$berni_piezimes."', '".$names[$i]."', '".$berni_darbibas."')";
И, естественно, вынес цикл записи в БД из фикла обхода изображений.

Добавлено через 1 минуту
Т.е. сначала в $names пишутся все имена изображений, потом в цикле обхода $_POST они оттуда вытягиваются поочерёдно и подставляются каждая к своей записи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2014, 06:10
Помогаю со студенческими работами здесь

Почему Nlog дублирует записи?
подскажите почему нлог дублирует записи? 10/15/2014 10:14:46|Debug|select &quot;Date_Add&quot; || SELECT &quot;Date_Add&quot; FROM...

дублирует записи множество раз
в общем так сделала запрос на добавление, в одном поле добавление через выражения из поля со списком отдельностоящем. вроде как...

Не могу понять почему процедура дублирует записи в файле
В TComboBox вводится фамилия сотрудника, затем проверяется, имеется ли данная фамилия в файле, если ее нет - добавить в файл. Но появляются...

При добавлении записи в таблицу (Access) дублирует результат. Кидаю пример кода...
Помогите плз. При добавлении записи в таблицу (Access) дублирует результат. Кидаю пример кода.. Добавление происходит но дважды... Почему...

Datepicker дублирует иконочку
Возможно есть опция какая-то чтобы отключить отображение лишних иконок в инпуте. Щас почему-то они дублируются.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru