<?php
/*----------------------------------------------------------------
Соединение с базой данных
---------------------------------------------------------------*/
$link = mysql_connect("localhost", "root", "") /* Подключаюсь к базе */
or die(" "); /* сообщаю об ошибке */
mysql_select_db('dump', $link)
or die (' '); /* сообщаю об ошибке */
$files=glob('test/*.txt'); // показываетм файлы с каким расширением забирать
foreach($files as $file)
{
$konec=file_get_contents($file);
echo '<br />';
preg_match_all('#^\s{0,1}<\?php\s\$id=([0-9]+);\s\$ui=[0-9]+;\s\$yu=[0-9]+;\sinclude\'|"[^\'|"]+?:\'|";\s\?>\s{0,1}$#im', $konec, $m);
$docCodes=implode(',',$m[1]);
foreach($m[1] as $roo){
$query = "SELECT `Код товара` FROM `Соответсвие` WHERE `Код документа` in ($roo) order by `Код документа`"; /* выбираю из базы таблицу Соответствие и все записи в которых Код документа=2 */
/*Записываем в переменную*/
$result=mysql_query($query);
/*Добавляем запись в начало строки*/
/*Выводим все элеметы и добавляем запятую*/
$arr=array();
while($r=mysql_fetch_array($result)) { $arr[]=$r[0];
$var='$id = Array('.$docCodes.');'; }
}
echo '<br />'.$var;
}
?>
возвращает :
$id = Array(1,6,3);
$id = Array(4,5,6);
$id = Array(1,2,3);
а должен вернуть результаты запросов из базы данных, тоесть код товара по соответствиям а вернул просто коды соответствия...((( что не так?)))
Курсы Попова не проходил)) просто еще очень мало знаний...))))
Торжественно клянусь прочитать всего Котерова - посидеть и осмыслить смысл бытия!!! Но на данный момент нужна помощь, кому не сложно - тыкните пожалуйста носом)))
Спустя 9 минут, 25 секунд (5.04.2011 - 07:16) Trianon написал(а):
переменная $arr (в конце) нигде не используется.
Спустя 1 минута, 22 секунды (5.04.2011 - 07:17) Invis1ble написал(а):
Так ты делаешь выборку из БД, а выводишь почему-то результаты обработки данных из файла...
Тебе не кажется это немного странным? )
Тебе не кажется это немного странным? )
Спустя 1 час, 13 минут, 20 секунд (5.04.2011 - 08:30) linker написал(а):
В конце напиши
print_r($arr);или
echo implode(', ', $arr);
Спустя 48 минут, 25 секунд (5.04.2011 - 09:19) Painbot написал(а):
foreach($m[1] as $roo){
$query = "SELECT `Код товара` FROM `Соответсвие` WHERE `Код документа` in ($roo) order by `Код документа`"; /* выбираю из базы таблицу Соответствие и все записи в которых Код документа=2 */
/*Записываем в переменную*/
$result=mysql_query($query);
/*Добавляем запись в начало строки*/
var_dump ($result);
/*Выводим все элеметы и добавляем запятую*/
$arr=array();
while($r=mysql_fetch_array(
$result
)) $arr[]=$r[0];
{
$docCodes=implode(',',$arr);
$var='$id = Array('.$docCodes.');';
}
}
echo $var;
}
Большая лагодарность!!!!linker , только сейчас выводит только по одному элементу первого массива - а как вывести все элементы в одну формирующююся строку?
Спустя 2 часа, 47 минут, 35 секунд (5.04.2011 - 12:06) m4a1fox написал(а):
не
mysql_fetch_array
а mysql_fetch_assoc
Спустя 23 минуты, 34 секунды (5.04.2011 - 12:30) Trianon написал(а):
m4a1fox
после чего код работать перестанет.
после чего код работать перестанет.