ФорумПрограммированиеPHP для идиотов → Добавление нескольких строк в БД

Добавление нескольких строк в БД

  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 10:07, спустя 2 часа 4 минуты 12 секунд


    @lexaka,


    $sql = "INSERT INTO (name,pass) VALUES"
    for($i=0,$j=count($_POST['name']);$i<$j;$i++)
    $sql .= "('{$_POST['name'][$i]}','{$_POST['pass'][$i]}')"


    Пытаюсь сделать…

    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)",
    for($i=0,$j=count($_POST['trackname']);$i<$j;$i++)
    GetSQLValueString($_POST['trackname'][$i], "text"),
    GetSQLValueString($_POST['time'][$i], "text"));
    mysql_select_db($database_tester, $tester);
    $Result1 = mysql_query($insertSQL, $tester) or die(mysql_error());

    Не работает. Где может быть ошибка?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 10:07, спустя 23 секунды

    @lexaka, ты с твиттера сбежал? =)))) ник прикольный
    Сапожник без сапог
  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 10:09, спустя 1 минуту 44 секунды


    @lexaka, ты с твиттера сбежал? =)))) ник прикольный

    нет не пользуюсь твитером :)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 10:11, спустя 2 минуты 13 секунд

    это вообще чо?

    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)",
    for($i=0,$j=count($_POST['trackname']);$i<$j;$i++)
    GetSQLValueString($_POST['trackname'][$i], "text"),
    GetSQLValueString($_POST['time'][$i], "text"));


    для незаметивший переформатирую

    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)", for($i=0,$j=count($_POST['trackname']);$i<$j;$i++) GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));
    Сапожник без сапог
  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 10:24, спустя 13 минут 17 секунд


    это вообще чо?

    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)",
    for($i=0,$j=count($_POST['trackname']);$i<$j;$i++)
    GetSQLValueString($_POST['trackname'][$i], "text"),
    GetSQLValueString($_POST['time'][$i], "text"));


    для незаметивший переформатирую

    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)", for($i=0,$j=count($_POST['trackname']);$i<$j;$i++) GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));


    Смеяться умеет каждый… а помочь видимо нет.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 10:28, спустя 3 минуты 42 секунды

    @lexaka, помогать не посмеявшись неинтересно
    Спустя 175 сек.
    твоя большая ошибка - неформатирование кода, поэтому в этом говнокоде на первый взгляд запутаться как раз посрать

    $insertSQL = "INSERT INTO testblock (trackname,time) VALUES (%s,%s)";
    mysql_select_db($database_tester, $tester);
    for($i=0,$j=count($_POST['trackname']);$i<$j;$i++)
    {
    $sql = sprintf($insertSQL, GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));
    mysql_query($sql, $tester) or die(mysql_error());
    }


    если так не заработает, то отладь. но двигайся в этмо направлении
    Сапожник без сапог
  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 10:52, спустя 24 минуты 8 секунд


    @lexaka, помогать не посмеявшись неинтересно
    Спустя 175 сек.
    твоя большая ошибка - неформатирование кода, поэтому в этом говнокоде на первый взгляд запутаться как раз посрать

    $insertSQL = "INSERT INTO testblock (trackname,time) VALUES (%s,%s)";
    mysql_select_db($database_tester, $tester);
    for($i=0,$j=count($_POST['trackname']);$i<$j;$i++)
    {
    $sql = sprintf($insertSQL, GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));
    mysql_query($sql, $tester) or die(mysql_error());
    }


    если так не заработает, то отладь. но двигайся в этмо направлении

    Главное что бы смех был не злой. :)
    Прошу прощения за непроходимость…
    Но беру
    $insertSQL = "INSERT INTO testblock (trackname,time) VALUES (%s,%s)";
    mysql_select_db($database_tester, $tester);
    for($i=0,$j=count($_POST['trackname']);$i<$j;$i++)
    {
    $sql = sprintf($insertSQL, GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));
    mysql_query($sql, $tester) or die(mysql_error());
    }

    и форму

    <form name="testadd" action="<?php echo $editFormAction; ?>" method="post">
    <table border="0" cellspacing="0" cellpadding="0" style="margin-top:15px;">
    <tbody id="addtrack">
    <tr style="border-bottom:1px solid #e7e7e7;" class="hidden">
    <td style="width:5%;"><input type="button" onclick="dropFile(this);" value=" - " name="drop" disabled="disabled"></td>
    <td style="width:40%; padding:7px 5px;"><input type="text" name="trackname[]" style="border:1px solid #e7e7e7; width:80%" /></td>
    <td style="width:20%;"><input name="time[]" type="text" size="8" style="border:1px solid #e7e7e7;" /></td>
    <td></td>
    </tr>
    <tr style="border-bottom:1px solid #e7e7e7;" class="f_file">
    <td style="width:5%;"><input type="button" onclick="dropFile(this);" value=" - " name="drop" disabled="disabled"></td>
    <td style="width:40%; padding:7px 5px;"><input type="text" name="trackname[]" style="border:1px solid #e7e7e7; width:80%" /></td>
    <td style="width:20%;"><input name="time[]" type="text" size="8" style="border:1px solid #e7e7e7;" /></td>
    <td></td>
    </tr>
    </tbody>
    </table>
    <div><input name="submit" type="submit" value="submit" /></div>
    <input type="hidden" name="MM_insert" value="testadd">
    </form>


    выдает Column 'trackname' cannot be null какое то наваждение…
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 10:59, спустя 6 минут 43 секунды

    я же сказал подебаж :)
    Сапожник без сапог
  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 11:06, спустя 6 минут 45 секунд


    я же сказал подебаж :)

    Разобрался. :)
    Имена в форме name="trackname[]" а надо name="trackname[0]" и name="trackname[]"
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 11:10, спустя 4 минуты 47 секунд

    @lexaka, попробуй сам написать а я поправлю если что не так
    Спустя 137 сек.
    phpdude, прости ты на каком языке пишешь?


    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)", for($i=0,$j=count($_POST['trackname']);$i<$j;$i++) GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));



    с каких пор for можно передавать аргументом в sprintf
  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 11:11, спустя 24 секунды


    @lexaka, попробуй сам написать а я поправлю если что не так

    Пробую. Уже несколько дней с этим вопрос бьюсь. Пока результату на 80%. Почему то при добавлении трех строк добавляет первую и последнюю а вторую пропускает… Подозреваю что все таки тут проблема в именах полей… покопаюсь.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 11:15, спустя 4 минуты 32 секунды

    @lexaka, у тебя проблема в том что ты мешаешь все в одно гавно в котором и я ничего понять не могу
    Спустя 7 сек.
    отформатируй код
    Спустя 84 сек.
    выдели в отдельные файлы css и javascript тогда будет видно имена твоих полей
  • @lexaka

    Сообщения: 72 Репутация: N Группа: Кто попало

    Spritz 24 июля 2009 г. 11:27, спустя 11 минут 47 секунд

    Чуваки ну хватит материться :) Я же не программист один говорит подебаж… второй еще какое то матерное слово в меня запустил… ;)
    Вообщем у меня эта хрень заработала. Насколько она кошерна сделана по вашему я не знаю…
    Я в таких вопросах извините ламер. Просто мне нравится копаться и самому доходить. Но в этот раз я серьезно споткнулся. При этом то что я делаю практически готово. Сами понимаете бросить работу на 80% очень жалко.

    Хотелось бы уточнить по поводу этого что тут не так? Вроде бы добавляется…

    phpdude, прости ты на каком языке пишешь?

    $insertSQL = sprintf("INSERT INTO testblock (trackname,time) VALUES (%s,%s)", for($i=0,$j=count($_POST['trackname']);$i<$j;$i++) GetSQLValueString($_POST['trackname'][$i], "text"), GetSQLValueString($_POST['time'][$i], "text"));

    с каких пор for можно передавать аргументом в sprintf


  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 11:38, спустя 10 минут 49 секунд

    CTAPbIu_MABP, ты слеп глух нем туп! )))

    я ЕГО КОД ПРИВЕЛ!!!! прочитай луче )))) я аж ахуел от такого кода
    Сапожник без сапог
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 24 июля 2009 г. 11:42, спустя 3 минуты 58 секунд


    Чуваки ну хватит материться :) Я же не программист один говорит подебаж… второй еще какое то матерное слово в меня запустил… ;)


    привыкай)))

Пожалуйста, авторизуйтесь, чтобы написать комментарий!