Помогите пожалуйста вот с какой проблемой, есть парсер, который разбирает xml файл, через эхо подсвечивал переменные из цикла данные все видны и в полном количестве, но при записи в базу пишется только 298 организаций а должно 359. И только 359 позиций (как раз ровно столько сколько организаций почему-то) а должно быть порядка 7400 позиций, прошу помочь разобраться:
UPD!: c Организациями разобрался, оказывается надо было поменять типы столбцов там где явно цифры будут там я сделал INT где буквы с цифрами или буквы там оставил VARCHAR только кол-во символов сделал поменьше.. еще поменял кое что и в коде не знаю как показать только но сообщением ниже покажу отдельно.
Вообщем осталась проблема только с тем что позиции пишутся также в кол-ве 359 - ровно столько сколько организаций, а с этим я разобраться не могу
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Парсер XML данных версия 0.3</title>
- </head>
- <body>
- <?PHP
- // тело скрипта
- // коннектимся к базе данных
- $mysql_database="sky_db"; //Имя базы данных
- $mysql_username="root"; //Имя пользователя базы данных
- $mysql_password=""; //Пароль пользователя базы данных
- $mysql_host="localhost"; //Сервер базы данных
- $dbpf="skydb_"; //Префикс таблиц в базе данных
- //Соединяемся с базой данных
- $mysql_connect = mysql_connect($mysql_host, $mysql_username, $mysql_password) or die("Мускуль эррор, соединение не установлено!");
- echo "Соединение с БД установлено!<br>";
- //Выбираем базу данных для работы
- //Устанавливаем кодировку для соединения базы данных
- echo '<pre>';
- //echo $xml;
- //var_dump($xml);
- echo '</pre>';
- } else {
- }
- foreach($xml->Clients as $Client) {
- foreach($Client->Client as $Client_data) {
- $Client_name = $Client_data->ClientName;
- $Client_INN = $Client_data->ClientINN;
- $Client_pwd = $Client_data->ClientPass;
- // ~~~
- // echo $a;
- if ($a[0] != 0)
- {
- }
- // конец контрагентам, теперь давай запишем заново из xml файлика
- mysql_query('INSERT INTO skypositions_org (organization, inn, passwd) VALUES("'.$Client_name.'", "'.$Client_INN.'", "123123123")');
- //~~~~
- foreach($Client_data->Positionss->Position as $Positions) {
- $pozition_numb = $Positions->Number;
- $model_poz = $Positions->Model;
- $pole1 = $Positions->Usluga1;
- $pole2 = $Positions->Usluga2;
- $pole3 = $Positions->Usluga3;
- $pole4 = $Positions->Usluga4;
- $pole5 = $Positions->Usluga5;
- $pole6 = $Positions->Usluga6;
- $pole7 = $Positions->Usluga7;
- $pole8 = $Positions->Usluga8;
- $pole9 = $Positions->Usluga9;
- $pole10 = $Positions->Usluga10;
- $pole11 = $Positions->Usluga11;
- $Curr_date = $Positions->Date;
- $Curr_time = $Positions->Time;
- }
- if(!$f=mysql_query('INSERT INTO sky_positions (num, pozition_num, Model, pole1, pole2, pole3, pole4, pole5, pole6, pole7, pole8, pole9, pole10, pole11, date, time) VALUES ("'.$numb.'", "'.$pozition_numb.'", "'.$model_poz.'", "'.$pole1.'", "'.$pole2.'", "'.$pole3.'", "'.$pole4.'", "'.$pole5.'", "'.$pole6.'", "'.$pole7.'", "'.$pole8.'", "'.$pole9.'", "'.$pole10.'", "'.$pole11.'", "'.$Curr_date.'", "'.$Curr_time.'")')){
- }
- // конец
- }
- }
- ?>
- </body>
- </html>