Помогите с куском кода + mysql

imaxwell
На сайте с 28.12.2010
Offline
41
376

Здравствуйте!

Я только начинаю изучать php+mysql

Пытаюсь ) написать парсер. Текст парсится, все ок! В базу тоже все заносится.

Не могу разобраться с одним моментом. Надеюсь на вашу помощь!

в базе есть колонка `category` в нее надо записать цифровые значения: 1, 2, 3 и тд

с сайта парсится текст, к примеру верхнее женское белье и нижнее женское белье,

надо прировнять верхнее женское белье к 1, а нижнее женское белье к 2 и занести в базу цифрами

вывожу инфу

echo $cat;

$query = 'INSERT INTO `baza` (...

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

Запрос то покажите весь.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
ДП
На сайте с 23.11.2009
Offline
203
#2

вам в помощь оператор if или switch - в зависимости от значение спаршенной строки назначайте значение категории

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#3

$query = 'INSERT INTO `baza` (`id`,`category`,`text`) VALUE (NULL,'.$cat.',"'.$text.'" );

imaxwell
На сайте с 28.12.2010
Offline
41
#4
LEOnidUKG:
$query = 'INSERT INTO `baza` (`id`,`category`,`text`) VALUE (NULL,'.$cat.',"'.$text.'" );

$cat=file_get_contents($url);

$tag_in='<span class="item">';// здесь ставлю откуда парсить

$tag_out='</span>';// здесь ставлю докуда парсить

$position=strpos($cat,$tag_in);

$cat=substr($cat,$position);

$position=strpos($cat,$tag_out);

$cat=substr($cat,0,$position);

$cat=preg_replace('/\s{2,}/', ' ',$cat);

echo $cat; // Выводит верхнее женское белье

$query = 'INSERT INTO `baza` (`id`,`title`,`category`) VALUES("'.$title.'","'.$cat.'")';

соответственно в `category` записывается верхнее женское белье

а надо что бы записалась цифра 1

на нижнее женское белье цифра 2

и тд

---------- Добавлено 04.12.2014 в 17:27 ----------

Дикий пионер:
вам в помощь оператор if или switch - в зависимости от значение спаршенной строки назначайте значение категории

да я понимаю, что через if только что то не получается:

Попытался так:

if($cat == 'Верхнее женское белье'){$category='1';}

elseif($cat == 'Нижнее женское белье'){$category='2';}

elseif($cat == 'Шарфы'){$category='3';}

$query = 'INSERT INTO `baza` (`id`,`title`,`category`) VALUES("'.$title.'","'.$category.'")';

записывается 0

U
На сайте с 05.03.2013
Offline
34
#5
imaxwell:

да я понимаю, что через if только что то не получается:

Попытался так:
if($cat == 'Верхнее женское белье'){$category='1';}
elseif($cat == 'Нижнее женское белье'){$category='2';}
elseif($cat == 'Шарфы'){$category='3';}

$query = 'INSERT INTO `baza` (`id`,`title`,`category`) VALUES("'.$title.'","'.$category.'")';

записывается 0

Дык вы значение для id пропустили.

VALUES(NULL, "'.$title.'", "'.$category.'")
.
imaxwell
На сайте с 28.12.2010
Offline
41
#6
ubriaco:
Дык вы значение для id пропустили.
VALUES(NULL, "'.$title.'", "'.$category.'")

id auto_increment

айди записывается, категория не записывается в `category`

$query = 'INSERT INTO `baza` (`id`,`title`,`category`) VALUES("'.$title.'","'.$category.'")';

mysql_query($query);

$id=mysql_insert_id();

U
На сайте с 05.03.2013
Offline
34
#7
imaxwell:
id auto_increment

айди записывается, категория не записывается в `category`

$query = 'INSERT INTO `baza` (`id`,`title`,`category`) VALUES("'.$title.'","'.$category.'")';
mysql_query($query);
$id=mysql_insert_id();

Ну и что, что auto increment, если в запросе ошибка?

Либо так:

INSERT INTO `baza` (`title`,`category`) VALUES("'.$title.'", "'.$category.'")

Либо так:

INSERT INTO `baza` (`id`,`title`,`category`) VALUES(NULL, "'.$title.'", "'.$category.'")
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#8

$query = 'INSERT INTO `baza` (`id`,`title`,`category`) VALUES(NULL,"'.$title.'","'.$category.'")';

Mad_Man
На сайте с 10.11.2008
Offline
162
#9
imaxwell:
надо прировнять верхнее женское белье к 1, а нижнее женское белье к 2 и занести в базу цифрами

Для таких наркоманских случаев необходимости мэппинга существует тип поля ENUM.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий