PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 7
optsar Отправлено: 29 Сентября, 2015 - 20:38:01 • Тема: Как удалить все подкатегории категории и все товары всех подкатегорий ? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 260
Да, спасибо всем за исчерпывающие ответы!
optsar Отправлено: 29 Сентября, 2015 - 20:14:16 • Тема: Как удалить все подкатегории категории и все товары всех подкатегорий ? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 260
Да в базе, Из ответа ни чего я не понял, попробую по другому спросить
brand_id =3 а parent_id=4 из-за не правильного удаления

как мне найти все такие parent_id которые не принадлежат ни к какому brand_id

CODE (htmlphp):
скопировать код в буфер обмена
  1. brand_id        brand_name      parent_id
  2.     1              Alcatel                  0
  3.     2             Ericsson                  1
  4.     3                LG             4
optsar Отправлено: 28 Сентября, 2015 - 22:15:32 • Тема: Как удалить все подкатегории категории и все товары всех подкатегорий ? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 260
Имею вот такой массив, и в подкатегориях могут быть товары,
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.     [8] => Array
  3.         (
  4.             [brand_id] => 8
  5.             [brand_name] => Samsung
  6.             [parent_id] => 0
  7.             [childs] => Array
  8.                 (
  9.                     [21] => Array
  10.                         (
  11.                             [brand_id] => 21
  12.                             [brand_name] => Моноблок
  13.                             [parent_id] => 8
  14.                             [childs] => Array
  15.                                 (
  16.                                     [7] => Array
  17.                                         (
  18.                                             [brand_id] => 7
  19.                                             [brand_name] => Моноблок
  20.                                             [parent_id] => 21
  21.                                             [childs] => Array
  22.                                                 (
  23.                                                     [5] => Array
  24.                                                         (
  25.                                                             [brand_id] => 5
  26.                                                             [brand_name] => Сенсоры
  27.                                                             [parent_id] => 7
  28.                                                         )
  29.  
  30.                                                 )
  31.  
  32.                                         )
  33.  
  34.                                 )
  35.  
  36.                         )
  37.  
  38.                 )
  39.  
  40.         )



вот что я смог сделать

CODE (htmlphp):
скопировать код в буфер обмена
  1. $brand_id = (int)$_GET['brand_id'];  // id удаляемой категории
  2.  
  3. mysql_query("DELETE FROM goods WHERE goods_brandid = $brand_id"); // Удаляем товары категории
  4.  
  5. mysql_query("DELETE FROM brands WHERE parent_id = $brand_id"); // Удаляем подкатегории
  6.  
  7. mysql_query("DELETE FROM brands WHERE brand_id = $brand_id"); // Удаляем категорию
  8.  



удаляются только категория [8] => Array и подкатегории этой категории [21] => Array и товары категории категории [8] => Array

глубже мозгов не хватает как сделать.
Подскажите пожалуйста
optsar Отправлено: 25 Сентября, 2015 - 21:25:58 • Тема: Ошибки simplexml_load_file • Форум: Вопросы новичков

Ответов: 4
Просмотров: 310
вы можете пример кода показать ?
optsar Отправлено: 25 Сентября, 2015 - 17:59:05 • Тема: Ошибки simplexml_load_file • Форум: Вопросы новичков

Ответов: 4
Просмотров: 310
а как проверить та, допустим файл на удаленном сервере, и мне нужно спарсить товары, если он убрал товар с этими символами то все работает, если опять они там есть то все - не работает, вот как бы их пропускать эти символы.
optsar Отправлено: 25 Сентября, 2015 - 17:30:45 • Тема: Ошибки simplexml_load_file • Форум: Вопросы новичков

Ответов: 4
Просмотров: 310
Подскажите если кто знает как решить проблему.

Запускаую скрипт, если в файле нет таких вот символов 1/4" & , то я нормально получаю массив.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. function print_arr($arr){
  3.    echo "<pre>";
  4.    print_r($arr);
  5.    echo "</pre>";
  6. }
  7.  
  8.  
  9.  
  10. $xml=simplexml_load_file('http://dev.cartet.org/market.php');
  11.  
  12.  
  13. if (!$xml) {
  14.    echo "Ошибка загрузки XML\n";
  15.    foreach(libxml_get_errors() as $error) {
  16.        echo "\t", $error->message;
  17.    }
  18. }
  19.  
  20.  
  21. $attributes = $xml->attributes();//получаем массив атрибутов корневого узла
  22. $res = array(
  23.    'date' => (string)$attributes['date'],//все узлы и данные
  24.          // хранятся как объекты класса SimpleXMLElement,
  25.          //принудительно преобразуем в строку (string)
  26.    'name' => (string)$xml->shop->company,
  27.    'offers' => array(),
  28. );
  29. foreach ($xml->shop->offers->offer as $xmlOffer){
  30.        
  31.    $attributes = $xmlOffer->attributes();//аналогично получаем
  32.                                // массив атрибутов предложений
  33.    if ((string)$attributes['available']=='true'){
  34.        $res['offers'][(string)$attributes['id']] = array(
  35.            'id' => (string)$attributes['id'],
  36.            'price' => (string)$xmlOffer->price,
  37.            'name' => (string)$xmlOffer->name,
  38.                         'Code' => (string)$xmlOffer->vendorCode,
  39.                         'url' => (string)$xmlOffer->url,
  40.                         'description' => (string)$xmlOffer->description,
  41.        );
  42.    }
  43. }
  44. unset($xml);//Переменная $xml больше не нужна, освободим память
  45.  
  46.  
  47.  
  48. print_arr($res);
  49.  
  50.  
  51. ?>
  52.  


Если же присутствуют такие символы 1/4" & тогда выдает ошибку

CODE (htmlphp):
скопировать код в буфер обмена
  1. Ошибка загрузки XML CData section not finished 8шт 1/4" Головки торцевые: 613 PCDATA invalid Char value 3 PCDATA invalid Char value 3 PCDATA invalid Char value 3 PCDATA invalid Char value 3 PCDATA invalid Char value 3 PCDATA invalid Char value 3 PCDATA invalid Char value 3 PCDATA invalid Char value 3 Sequence ']]>' not allowed in content CData section not finished 13шт 1/4" Головки торцевые: 8& PCDATA invalid Char value 3 PCDATA invalid Char value 3 Sequence ']]>' not allowed in content
  2. Fatal error: Call to a member function attributes() on a non-object in G:\OpenServer\domains\Test\3.php on line 59
optsar Отправлено: 24 Сентября, 2015 - 20:01:44 • Тема: Подскажите какой из двух вариантов правильный • Форум: Вопросы новичков

Ответов: 7
Просмотров: 233
Подскажите какой вариант правильный

CODE (htmlphp):
скопировать код в буфер обмена
  1. case('product'):
  2.  
  3. $prod = (int)$_GET['prod'];  
  4. $products = products($prod);
  5.  
  6. break;
  7.  
  8. function products($prod){
  9.     $query = "(SELECT * FROM goods WHERE goods_brandid = $prod)";
  10.     $res = mysql_query($query) or die(mysql_error());
  11.    
  12.     $products = array();
  13.     while($row = mysql_fetch_assoc($res)){
  14.         $products[$row[goods_id]] = $row;
  15.     }
  16.    
  17.     return $products;
  18. }



или


CODE (htmlphp):
скопировать код в буфер обмена
  1. case('product'):
  2.  
  3. $prod = (int)$_GET['prod'];
  4. products();
  5.  
  6. break;
  7.  
  8. function products(){
  9.         global $prod;
  10.     $query = "(SELECT * FROM goods WHERE goods_brandid = $prod)";
  11.     $res = mysql_query($query) or die(mysql_error());
  12.     global $products;
  13.     $products = array();
  14.     while($row = mysql_fetch_assoc($res)){
  15.         $products[$row[goods_id]] = $row;
  16.     }
  17. }
  18.  


в шаблон передается в любом варианте, только вот не знаю, как правильно это все делается.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php foreach($products as $key) { ?>
  2.  
  3. <p><?=$key{goods_id}?><?=$key{name}?></p>
  4.  
  5. <?php } ?>

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB