INSER в цикле не получается

asan.6

Новичок
INSER в цикле не получается

Кто нить подскажите вот нескоко лет не занимался php+mysql и немного подзабыл.
Дело в что нужно вставить все записи из массива

$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("atk");
$f=fopen("primer_tab.htm","rb");
$htmlText=fread($f,filesize("primer_tab.htm"));
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
$htmlText,
$out, PREG_PATTERN_ORDER);

$mode = current($out);
$arr = array_chunk($mode, 6);
$i = 0;
while ($i <= count($arr)) {
foreach ($arr as $e) {
$query = mysql_query("insert into `test` (question,a_answr,b_answr,c_answr,d_answr,e_answr) values('$e[0]','$e[1]','$e[2]','$e[3]','$e[4]','$e[5]')");

$i++;
}

}

-~{}~ 15.02.07 10:08:

забыл файл primer_tab.htm
<tr>
<td>Сколько игрушек в коробке?</td>
<td>6;</td>
<td>15;</td>
<td>7;</td>
<td>5;</td>
<td>78;</td>
</tr>
<tr>
<td>Вопрос2?</td>
<td>6;</td>
<td>15;</td>
<td>7;</td>
<td>5;</td>
<td>78;</td>
</tr>
<tr>
<td>Вопрос3</td>
<td>6;</td>
<td>15;</td>
<td>7;</td>
<td>5;</td>
<td>78;</td>
</tr>
 

Фанат

oncle terrible
Команда форума
ну давай ты сначала определишься, что именно у тебя не получается - распарсить эту таблицу или выполнять запрос
 

asan.6

Новичок
не получается выполнить запрос я хотел объективнее показать ситуацию

а именно

$i = 0;
while ($i <= count($arr)) {
foreach ($arr as $e) {
$query = mysql_query("insert into `test` (question,a_answr,b_answr,c_answr,d_answr,e_answr) values('$e[0]','$e[1]','$e[2]','$e[3]','$e[4]','$e[5]')");

$i++;
}

}
 

asan.6

Новичок
если не получается выполнить запрос, то при чем здесь пример файла?

ну, раз запрос, то тебе сюда: PHP FAQ: Ничего не работает! Что делать???
ТЕМА:

Question INSER в цикле не получается
запрос выполняется тока вставляется тока первая запись из массива
 

Фанат

oncle terrible
Команда форума
вот и отлаживай свой скрипт, выясняй - в чем проблема.
 

Vallar_ultra

Любитель выпить :)
asan.6
> вот нескоко лет не занимался php+mysql и немного подзабыл

У тебя не в php+mysql проблема, а в логике.

1) Нафига те в базе ХТМЛ-тэги?
2) Тебя фигурными скобками пользоваться не учили
3) Дальше сам

PHP:
while ($i < count($arr)) {
	var_dump($arr[$i]);
	echo "insert into `test` (question,a_answr,b_answr,c_answr,d_answr,e_answr) 
values('{$arr[$i][0]}','{$arr[$i][1]}','{$arr[$i][2]}','{$arr[$i][3]}','{$arr[$i][4]}','{$arr[$i][5]}')"."\n";
	$i++;
}
 

asan.6

Новичок
Ну вообщем я понял ошибку дело в том что в тегах есть параметры в них есть всякие кавычки и т.д. и.т.п. ну вообщем скрипт работает по логике

мускул выдает ошибку:

1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'width:79.75pt;border-top:none;border-left: none;border-bottom:solid windowtext 1' at line 1


то есть первую кавычку в вставляемых данных принимает за закрывающую вот:


<td width=106 valign=top style='width:79.75pt;border:solid windowtext 1.0pt; border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>&#202;&#224;&#234;&#238;&#227;&#238; &#246;&#226;&#229;&#242;&#224; &#234;&#238;&#240;&#238;&#225;&#234;&#224;?</td>


как быть?

1) Нафига те в базе ХТМЛ-тэги?
2) Тебя фигурными скобками пользоваться не учили
3) Дальше сам
1) ето для тестов преподы приносят в таком примерно виде их нуно распарсить запихать в базу для дальнейшего использования 2) а у меня и без них получилось но все же спасибо
 
Сверху