[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не выводится первый элемент массива
Страницы: 1, 2, 3
Strannik
Добрый день.

Код
$product_idn='123112$2313213';
$count_products=substr_count($product_idn,'$')+1;

$idn_products=explode('$',$product_idn);
$name_products='';
$s=0;
while($s<=$count_products){
$prod=$idn_products[$s];
$res10=mysql_query("..... WHERE `product_idn`='$prod'");
$i10=mysql_fetch_assoc($res10);
$name_products.=$i10['name'].', ';
$s++;
}
echo $name_products;
//получаю 2313213,,


Подскажите в чем ошибка?
Почему выводится только один элемент массива?
Zzepish
А вообще я бы написал так:

$product_idn='123112$2313213';

$idn_products=explode('$',$product_idn);

for($i=0;$i<count($idn_products);$i++){


$res10=mysql_query('.... WHERE
`product_idn`="'
.(int)$idn_products[$i].'"'
);

$i10=mysql_fetch_assoc($res10);

$name_products[]=$i10['name'];
}

echo implode(', ',$name_products);
Valick
Цитата
Подскажите в чем ошибка?

весь код от начала до конца одна сплошная ошибка
поймите, нельзя лепить горбатого к стенке, БД вам этого не простит

_____________
Стимулятор ~yoomoney - 41001303250491
Zzepish
Valick
Эм не понял? Мой глянь тогда)
Valick
Zzepish, а что тут непонятного
1) запрос в цикле это полная ж
2) я не знаю откуда $product_idn но сильно подозреваю что из базы...

ну а ваш код далеко не ушел от родителя smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
Zzepish
Valick
А если так

$product_idn='123112$2313213';

$idn_products=explode('$',$product_idn);


$res10=mysql_query('.... WHERE
`product_idn`
IN
('
.implode(',',$idn_products).')
'
);
Zzepish
Прошу прощения за форматирование (пишу с телефона)
Strannik
Цитата (Valick @ 5.12.2012 - 02:18)
Zzepish, а что тут непонятного
1) запрос в цикле это полная ж
2) я не знаю откуда $product_idn но сильно подозреваю что из базы...

ну а ваш код далеко не ушел от родителя smile.gif

$product_idn берется из сессии)
Zzepish
Strannik
Тогда у тебя должна стоять проверка при внесении данных
Valick
так уже лучше, я думаю вам и самому больше нравится чем предыдущий вариант, но если ТС расколим откуда и как он берет $product_idn, то есть шанс избавиться от имплодов и эксплодов и свести задачу к одному запросу.

$product_idn берется из сессии)
а как он туда попадает в таком виде? я так понимаю это два разных id и их может быть не два а сколько угодно

_____________
Стимулятор ~yoomoney - 41001303250491
Strannik
Цитата (Zzepish @ 5.12.2012 - 02:34)
Valick
А если так

$product_idn='12311213213';

$idn_products=explode('$',$product_idn);


$res10=mysql_query('.... WHERE
`product_idn`
IN
('
.implode(',',$idn_products).')
);


не помогло..
Valick
Цитата
не помогло..

копипаст еще никому "не помогал"
написано с телефона, там кавычки надо подправить, неужели подсветка вам ни о чем не говорит?

_____________
Стимулятор ~yoomoney - 41001303250491
Strannik
Сделал так

$idn_products=explode('$',$product_idn);
$name_products='';
foreach($idn_products as $prod){
$res10=mysql_query("..... WHERE `product_idn`='$prod'");
$i10=mysql_fetch_assoc($res10);
$name_products.='<a href="ShowGoods.php?id='.$prod.'" target="_blank">'.$i10['name'].'</a>, ';
}
Strannik
Цитата (Valick @ 5.12.2012 - 02:43)
Цитата
не помогло..

копипаст еще никому "не помогал"

а я копипаст и не делал)
обычное цитирование..

вот код который не прошел(выдал мне пустые значения)

$res10=mysql_query(".... WHERE `product_idn` IN ('.implode(',',$idn_products).')");
while($i10=mysql_fetch_assoc($res10)){
$name_products.='<a href="ShowGoods.php?id='.$prod.'" target="_blank">'.$i10['name'].'</a>, ';
}
Valick
Цитата
Сделал так
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.