|
|
|
|
|
для: Softic
(24.01.2010 в 00:43)
| | Пока сделал след. образом, все работает, но хотелось бы услышать слово профи, каким образом все таки лучше сделать формирование запроса в базу? незнаю правильно ли я выразился ...
<? php
include("config.php");
$kol_strok = count($result);
for($i=0;$i<$kol_strok;$i++)
{
$x1=$result[1][$i];
$x2=$result[2][$i];
$x3=$result[3][$i];
$x4=$result[4][$i];
$x5=$result[5][$i];
$x6=$result[6][$i];
$sql = "INSERT INTO auto_100 (id, company, price, izmenenie, perc_izmenenie, volume, time) VALUES ('0', '$x1', '$x2', '$x3', '$x4', '$x5', '$x6')";
if(!mysql_query($sql))
die("error on request:<br>$sql <br>".mysql_error());
}
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(22.01.2010 в 09:27)
| |
<? php
include("config.php");
$table = 'auto_100';
function myInsert($table, $result)
{
$sql = "INSERT INTO `auto_100` ";
$sep = '(id, company, price, izmenenie, perc_izmenenie, volume, time';
$val = ") VALUES ";
foreach($result AS $key => $elem)
{
$sql .= "$sep `$key`";
$val .= "$sep '".mysql_escape_string($elem)."'";
$sep = ',';
}
$sql .= "$val)";
if(!mysql_query($sql))
die("error on request:<br>$sql <br>".mysql_error());
}
?>
|
Никаких ошибок невыдает, но и в базу ничего непишеться, что я натворил? | |
|
|
|
|
|
|
|
для: Softic
(22.01.2010 в 00:29)
| | "Этот" многомерный массив для выбранной Вами цели стоило бы получить транспонированным.
У функции preg_match_all имеется такая возможность. | |
|
|
|
|
|
|
|
для: Softic
(22.01.2010 в 00:29)
| | Что я могу сказать... по ссылке ниже несколько тем с моими ответами, где в цикле формируется текст SQL-операторов INSERT.
http://softtime.ru/forum/srch.php?name=Trianon+foreach+insert&numberthemes=30&srchwhere=2&id_forum=3&logic=1 | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2010 в 23:58)
| | Хорошо, спрошу по другому, как мне осуществить запись этого многомерного массива за один проход, ечли обращаться к каждому элементу массива и подставлять их в запрос все работает, но с такими темпами легче в базу вбивать вручную.
Почитал форум, понял что делается это при помощи foreach(), но как?? | |
|
|
|
|
|
|
|
для: Softic
(21.01.2010 в 23:23)
| | >соединить в одну строку как вы уже сказали можно с помощью implode(), а вот как разделить все значения массива меж собой ??
В смысле - как?
В массиве все значения разделены.
Обратиться к каждому можно по его индексу - по номеру элемента в массиве.
>Ну это то понятно что запрос у меня состоит непонятно из чего, а как разделить все значения массива меж собой и потом выстроить их через запятую в одну строку?
Вы посмотрите на него - у Вас там значения разве не через запятую идут? | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2010 в 23:14)
| | Ну это то понятно что запрос у меня состоит непонятно из чего, а как разделить все значения массива меж собой и потом выстроить их через запятую в одну строку?
соединить в одну строку как вы уже сказали можно с помощью implode(), а вот как разделить все значения массива меж собой ?? | |
|
|
|
|
|
|
|
для: Softic
(20.01.2010 в 19:40)
| | Ну вот. Вы заменили исполнение запроса на его вывод на экран.
Теперь можете отлаживать скрипт, добиваясь того, чтобы он создавал именно нужный Вам запрос.
А не абы какой. | |
|
|
|
|
|
|
|
для: Softic
(20.01.2010 в 19:40)
| | Быть может кто-нибудь что-то подскажет?? | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2010 в 12:19)
| | Немогу понять, какие строки заменить на echo $sql ??
Вот весь код:
<?php
preg_match_all("/<a.*>(.*)<\/a>.*<td align=\"right\" width=\"10%\">(.*)<\/td>.*\"changeup\">(.*)<\/span><\/td>.*\"changeup\">(.*)<\/span><\/td><td align=\"right\" width=\"20%\">(.*)<\/td>.*<td align=\"right\" width=\"15%\">(.*)<\/td>/", $text, $result);
include("config.php");
foreach($result as $row)
{
$q_auto = array();
foreach($row as $col)
$q_auto[] = "'".mysql_escape_string($col)."'";
$q_auto = '('.implode(',',$q_auto).')';
}
$sql = "INSERT INTO auto_100 (id, company, price, izmenenie, perc_izmenenie, volume, time) VALUES ('0','$q_auto[1]','$q_auto[2]','$q_auto[3]','$q_auto[4]','$q_auto[5]','$q_auto[6]')";
if(!mysql_query($sql))
die("error on request:<br>$sql <br>".mysql_error());
echo ($sql); // выдает след. результат
?>
|
echo ($sql) =>
INSERT INTO auto_100 (id, company, price, izmenenie, perc_izmenenie, volume, time) VALUES ('0',''','0','5',':','4','2')error on request:
|
| |
|
|
|
|