|
|
|
| Есть вот такой код:
for($i=1;$i<count($field_array);$i++)
$f_array[$i]=$_REQUEST[$field_array[$i]];
mysql_query("insert into ".$table_name." values(0,'$f_array[1]','$f_array[2]','$f_array[3]')");
|
В команде Insert в Values мне приходится тупо перечислять элементы массива... А если я не знаю, сколько их там??? 100% можно организовать цикл, но почему-то он мне кажется очень страшным, т.к. его надо организовывать внутри mysql_querry...
Помогите, плиз организовать этот цикл, а то у меня нифига не выходит + ко всему там столько этих кавычек разных, что ни запутаться не возможно...
И еще одно: у меня почему-то интерпритатор выдает ошибку, если я напрямую пишу в запросе $_REQUEST[$field_array[1]], поэтому я и переприсваиваю эти элементы новому массиву. Почему? (Видимо ему не нравятся квадратные скобки в запросе - он подчеркивает мне именно их)
Заранее благодарен! | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(04.01.2005 в 21:10)
| | я бы сделала так:
начало запроса mysql_query("insert into ".$table_name." values(0, вынесла бы за цикл, в цикле формировала бы только поля для вставки, а после цикла - завершающие скобки и кавычки.
я так и делала, когда грузила в базу текстовый файл. скрипт разбивал его на строки, строки на поля, поля в цикле формировали запрос, а потом этот запрос выполнялся... | |
|
|
|
|
|
|
|
для: elenaki
(04.01.2005 в 21:21)
| | Хм... я так и пробовал, но повторяю, что из-за многочисленных кавычек ничего не выходит... путаюсь... | |
|
|
|
|
|
|
|
для: !!Yurchik!!
(04.01.2005 в 21:10)
| | Хм... но ведь таблица имеет не любое число столбцов и изменять чисто значений в value нельзя... не очень понятно.
Обычно здесь прибегают к следующему приёму - формируют запрос в отдельной строковой переменной, которую потом передают в качестве аргумента функции mysql_query():
<?php
$query = "INSERT ...";
mysql_query($query);
?>
|
А уж с переменной можно делать что хочешь
<?
$query = "insert into ".$table_name." values(0,";
for($i=1;$i<count($field_array);$i++)
{
$query .= "'".$_REQUEST[$field_array[$i]]."',";
}
// Удаляем последнюю запятую и завершаем SQL-запрос
$query = substr($query,0,strlen($query)-1).")";
mysql_query($query);
?>
|
PS $query всё-таки выведите для начала в окно браузера для того, чтобы проконтролировать синтаксис - в слепую формировал - могут быть ошибки.
PPS А вы соединяйте элемент $_REQUEST[$field_array[1]] точками со строкой " text ".$_REQUEST[$field_array[1]]." text " - так должно сработать... | |
|
|
|
|
|
|
|
для: cheops
(04.01.2005 в 21:24)
| | Спасибо, получилось!
>Хм... но ведь таблица имеет не любое число столбцов и
>изменять чисто значений в value нельзя... не очень понятно.
Ну так я просто хотел сделать сценарий для таблиц с разным количеством столбцов.
P.S. Я уже закончил свой скрипт и хочу еще несколько вопросов по нему вам задать, но это уже выложу в другой теме | |
|
|
|