Помогите составить sql запрос

123
A
На сайте с 18.02.2009
Offline
46
#11

Chukcha, извиняюсь :(

Вот написал такое, из import_csv вытаскивает значение, а из masla, нет.

 foreach($count_staf as $k=>$v)

{


$query=mysql_query("SELECT * FROM IMPORT_CSV
LEFT JOIN masla ON masla.id_t = '$k'
WHERE NOMER_DETALI='$k'");

if(!$query) exit(mysql_error());
while($cena = mysql_fetch_assoc($query))
{
$p1=$cena['CENA_DETALI'];

$oll=$p1*$v;



print "
<tr><td id=sett1>
".$k."

</td>
<td id=sett1>".$cena['NAME_DET']."</td>
<td align=center id=sett1>".$v."</td>
<td align=center id=sett1>".$cena['CENA_DETALI']."</td>
<td id=sett1 align=center><input name=id_user type=hidden value=".$id.">".$oll."</td>
<td id=sett1 align=center><a href=korzina/form.php?d=$k><img src=korzina/admin/img/min.png alt=удалить border=0></a>
&nbsp;&nbsp;&nbsp;<a href=korzina/form.php?add=$k><img src=korzina/admin/img/add.png alt=добавить border=0></a></td></tr>";

$i=$cena['CENA_DETALI'];
$i+=$oll;
}
}

Поправьт, а то что-то не так 🙄

allmuz добавил 10.10.2011 в 11:46

Отправляю в куки 2 числа 12 и 128132. Число 12 в таблицы masla, а 128132 в import_csv. После while при print "$k"; выводится только 128132, а если до while, то и 12 и 128132

Аккаунты на торрент-трекеры. () Тут дают деньги!!! (http://Pop-Bazar.com/registration.php?ref=2115)
W
На сайте с 05.09.2011
Offline
7
#12

while - цикл :) если что-то до цикла идет так как вам охота, а во время цикла - нет. Значит дело в цикле :)

p/s КО - прилетал, всем привет передавал....... :)

A
На сайте с 18.02.2009
Offline
46
#13

Ну это я понял, а вот что там не так, не понимаю :)

C
На сайте с 04.02.2005
Offline
291
#14


query=mysql_query("SELECT * FROM IMPORT_CSV
LEFT JOIN masla ON masla.id_t = '$k'
WHERE NOMER_DETALI='$k'");

Что вы эти запросом хотите сказать?

A
На сайте с 18.02.2009
Offline
46
#15

Я не знаю, я только учусь :)

C
На сайте с 04.02.2005
Offline
291
#16

Тогда сформулируйте свой вопрос.

Что вы хотите получить.

И не забывайте, правильно заданный вопрос - 100% получить правильный ответ.

А мы уже две страницы мусолим, чтобы понять, что вы хотите получить.

A
На сайте с 18.02.2009
Offline
46
#17

Попробую еще раз:

Есть переменная $k в ней цифры (номера (id_t и nomer_csv), за которыми закреплен товар), есть 2 таблицы, masla и import_csv, нужно проверить есть ли в таблицы masla(id_t) и import_csv(nomer_detali) номер который находится в $k, и если он есть выводить информацию о товаре, если нету, ничего не делать.

C
На сайте с 04.02.2005
Offline
291
#18

Существуют две таблицы (masla и import_csv) в которых описан товар

Существует список товаров, с уникальным идентификатором ($k).

Необходимо получить набор товаров из указанных таблиц, соответствующий идентификаторам из списка $k.

Чем вам мешает мною приведенный запрос с UNION ?

$kStr = implode{',',$k);

SELECT * FROM `table1` WHERE id in ($kStr)

UNION

SELECT * FROM `table2` WHERE id in ($kStr)

A
На сайте с 18.02.2009
Offline
46
#19

Warning: implode() [function.implode]: Invalid arguments passed in /home/site/public_html/korzina/form.php on line 231

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')UNION SELECT * FROM `masla` WHERE id_t in ()' at line

   foreach($count_staf as $k=>$v)

{


$kStr = implode(',',$k);
$query=mysql_query("SELECT * FROM `IMPORT_CSV` WHERE NOMER_DETALI in ($kStr)UNION SELECT * FROM `masla` WHERE id_t in ($kStr)");
if(!$query) exit(mysql_error());
while($cena = mysql_fetch_array($query))
{
$p1=$cena['CENA_DETALI'];

$oll=$p1*$v;

print "$k";

print "
<tr><td id=sett1>
".$k."

</td>
<td id=sett1>".$cena['NAME_DET']."".$cena['prod_name']."</td>
<td align=center id=sett1>".$v."</td>
<td align=center id=sett1>".$cena['CENA_DETALI']."</td>
<td id=sett1 align=center><input name=id_user type=hidden value=".$id.">".$oll."</td>
<td id=sett1 align=center><a href=korzina/form.php?d=$k><img src=korzina/admin/img/min.png alt=удалить border=0></a>
&nbsp;&nbsp;&nbsp;<a href=korzina/form.php?add=$k><img src=korzina/admin/img/add.png alt=добавить border=0></a></td></tr>";

$i=$cena['CENA_DETALI'];
$i+=$oll;
}
}
C
На сайте с 04.02.2005
Offline
291
#20


foreach($count_staf as $k=>$v)
{

$kStr = implode(',',$k);
....

Что у вас находится в массиве $count_staf?
Только id товаров?
$kStr = implode(',',$count_staf);

ps Почитайте про цикл foreach, а именно про использование такого вида работы с масивом и ответьте сами себе на вопрос
Что такое
$count_staf?
$k?
$v?
123

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