1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Передача данных из массива в базу

Тема в разделе "Web Coding", создана пользователем Sergy30, 14 дек 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Sergy30

    Sergy30 Прохожие

    Может кто подскажет. Есть массив такого вида: Array ( [0] => стол [1] => 51 [2] => 98 [3] => 100 [4] => [5] => 32 [6] => 65 [7] => 7300 [8] =>кресло [9] => 69 [10] => 88 [11] => .............0 итд. )
    0 наименование
    1 опт
    2 розница
    3 остаток
    Вопрос как загнать в базу, я понимаю, что через цикл, но просто не врублюсь как если можно поподробней. Перерыл учебников, но там, в основном из форм или переменных, а если массив и большой? :nezn:
    Рылся в яше так там бред в выдачи или ссылочку дайте:thenks:
     
  2. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    ну все намного проще
    Перейти по ссылке
    для начала не делай сразу в базу, а выведи с помощью echo для того что бы понять что там и к чему.

    Удачи.
     
  3. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    PHP:
    <?php

    $array
    // - исходный массив
    $dbh;  // указатель соеднинения с базой данных
    $item_array[0]; // Вместо нолика может быть любое число, главное, чтобы был такой элемент массива. Т.е. это - индекс эелемента

    foreach ($array as $item_id=>$item_array)
    {
      
    $query 'INSERT INTO myTable (name,opt,pozn,ost) VALUES ("'.$item_array[0].'","'.$item_array[1].'","'.$item_array[2].'","'.$item_array[3].'")';
    mysql_query($query$dbh) or die(mysql_error());
    usleep(300); // даем "отдохнуть" СУБД
    }
    ?>
     
    igal нравится это.
  4. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    Jeurey
    Главное что бы человек понимал что он делает.
    Иначе постоянно будет "клянчить" код
    mysql_query($query, $dbh) oк die(mysql_eror());
    что такое "oк" и "mysql_eror" ? =)
    и вообще пусть научится свотреть что у него будет в результате, в данном случае echo '<LI>'.$query; показет ему правильно или нет идет запись в базу.
     
  5. gasoj

    gasoj Писатель

    Регистр.:
    17 ноя 2007
    Сообщения:
    6
    Симпатии:
    1
    а зачем давать отдыхать базе 3 мс?
    да у него, похоже, много айтемов, можно и в кучу собрать.
    ... (,, ... ,) VALUES ((,, ... ,),(,, ... ,),(,, ... ,))
     
  6. goodvin

    goodvin Человек-Волшебник

    Регистр.:
    27 июн 2006
    Сообщения:
    667
    Симпатии:
    687
    Перейти по ссылке
    Эту библиотеку подключай если придется много масивов обрабатывать, там найдешь хелпы и тд...
    Пример как он работает:
    $conn->AutoExecute($table,$record,'INSERT');
    $table - это твоя таблица с полями 1, 2, 3, 4, 5
    $record - это твой масив типа $record['1'], $record['2'], $record['3'], $record['4'], $record['5']
    Запись происходит автоматом, но можна и выполнять и простые запросы, если изучишь, много головняка уйдет...
     
  7. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Ога, промофал синтаксис. Писал туд - без синтаксической подсветки =)
     
  8. VampiRUS

    VampiRUS Писатель

    Регистр.:
    23 ноя 2007
    Сообщения:
    3
    Симпатии:
    0
    если нет необходимости вытаскивать из базы потом данные по отдельности и используются только сразу блоком,
    юзай serialize($array) - вернёт строку, зписывай её в базу,
    unserialize() производит обратное действие.
     
  9. skn78

    skn78 Создатель

    Регистр.:
    14 апр 2007
    Сообщения:
    21
    Симпатии:
    0
    елси будет таймаут скрипта, можешь добавлять данные порциями, а потом в страничке ставить рефреш с указанием следующей порции
     
  10. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    to skn78
    А это каким тут боком? Захламить топик?!
     
Статус темы:
Закрыта.