Помощник
|
Возможно ли обойтись без цикла? |
asbury
|
Сообщение
#1
|
||
|
|
||
|
|||
ottaviano |
11.2.2011, 0:47;
Ответить: ottaviano
Сообщение
#2
|
|
asbury,
SELECT ... WHERE cat IN ($cat1, $cat2, $cat3) |
|
|
asbury
|
Сообщение
#3
|
|
Вай пасибо братишка
|
|
|
asbury
|
Сообщение
#4
|
|
вот вопрос задал, а доконца не продумал решение вопроса, может подскажете?
[PHP]$basket = $_COOKIE['basket']; $substrCount = substr_count($basket, '.'); $basket = preg_split( "/\./" ,$basket ); echo $basket[2]; $resultat = mysql_query("select * from prod WHERE id IN ($id1, $id2, $id3 ... $substrCount)",$db); if (!$resultat) { echo "<div>Ошибка запроса.<br> <strong>Код ошибки:</strong></div>"; exit(mysql_error()); } if (mysql_num_rows($resultat) > 0) { $mainrow = mysql_fetch_array($resultat); } else { echo "<div>В таблице нет записей.</div>"; exit(); } [/PHP] В частности это WHERE id IN ($id1, $id2, $id3 ... $substrCount) Как реализовать? Я же не могу цикл сюда подключить вроде? |
|
|
ottaviano |
11.2.2011, 1:11;
Ответить: ottaviano
Сообщение
#5
|
|
asbury, ид это номер, вам же нужна цепь из таких номеров...
цыкл вы в запрос вставить не можете, но можете его вставить за пределами [PHP] $var = ''; for($i=1;$i<100;$i++){ $var .= $i.", "; } [/PHP] в $var будет "1, 2, 3, .... , 99" и уже эту переменную кидать в запрос |
|
|
asbury
|
Сообщение
#6
|
|
[PHP]
$var = ''; for($i=1; $i <= $substrCount; $i++){ if ($i == $substrCount) { $var .= $basket[$i]; } else { $var .= $basket[$i].", "; } } $resultat = mysql_query("select * from prod WHERE id IN $var",$db); if (!$resultat) { echo "<div>Ошибка запроса.<br> <strong>Код ошибки:</strong></div>"; exit(mysql_error()); } if (mysql_num_rows($resultat) > 0) { $mainrow = mysql_fetch_array($resultat); } else { echo "<div>В таблице нет записей.</div>"; exit(); } do { echo $mainrow['name']."<br>"; } while ($mainrow = mysql_fetch_array($resultat));[/PHP] 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 ''2, 5, 10, 13, 2, 1, 2, '' at line 1 Что-то не так делаю( |
|
|
ottaviano |
11.2.2011, 1:49;
Ответить: ottaviano
Сообщение
#7
|
|
asbury, а скобки сами не поставятся! IN (...)
|
|
|
ottaviano |
11.2.2011, 1:51;
Ответить: ottaviano
Сообщение
#8
|
|
asbury, и зачем делать кучу тестов в цыкле?
[PHP] $var = ''; for($i=1;$i<$substrCount;$i++){ $var .= $i.", "; } $var .= $substrCount; [/PHP] |
|
|
Apay |
11.2.2011, 14:35;
Ответить: Apay
Сообщение
#9
|
|
а зачем там вообще for ?
[PHP]$resultat = mysql_query('select * from prod WHERE id IN ('.implode(',',array_slice($basket,1,$substrCount)).')',$db); [/PHP] |
|
|
asbury
|
Сообщение
#10
|
|
Apay,
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 ')' at line 1 - вот что выдает, я правда почитал php.su но не понял что не устраивает его.ottaviano, твоим способом получилось, от души благодарю. Удобным оказался момент, что если id=10 встречается 5 раз, он сделает все равно один запрос. Но вот еще одна нужда появилась, есть массив $basket = preg_split( "/\./" ,$basket ); - и в нем 4 раза встречается id=10, 5 раз - id=7 и тд. Могу я эту статистику сосчитать? в массиве, сколько раз повторяется элемент. И еще вопрос, вот предположим кука у меня: 1.2334.32.45.657.35.645.3.5.453.45.4.4.5.45. И мне требуется удалить одну 4. предположим и 35. Как такое осуществить?) |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
PROXY-STORE.COM — ipV4 прокси от 42р В МЕСЯЦ с ротацией и без! Лучшая цена на рынке. 200+ стран | 21 | proxystore | 5290 | Сегодня, 12:02 автор: proxystore |
|
Большие базы Semrush кейвордов по разным тематикам! Много кейвордов с трафиком и без конкуренции! Volume, KD, CPC | 22 | Krok | 6740 | 12.4.2024, 5:17 автор: Krok |
|
Скрипты и программы на заказ любой сложности. Без предоплаты. Быстро, качественно и недорого! | 5 | c4p1t4l15t | 2511 | 6.4.2024, 12:51 автор: c4p1t4l15t |
|
Обменяю Юмани на гривны без комиссии | 3 | freeax | 1004 | 2.4.2024, 1:46 автор: Llirik |
|
Сайт не индексируется в Google без добавления ссылок в адурилку | 4 | Nekit | 1083 | 20.3.2024, 21:44 автор: MorKer |
Текстовая версия | Сейчас: 19.4.2024, 20:02 |