foreach и mysql запрос

micolo

Новичок
foreach и mysql запрос

Если не трудно как сравнить что-то вроде этого
PHP:
foreach ($massiv as $var) 
             { 
while($w= mysql_fetch_array($result)) { 
$b = $w['test']; 
if($b==$var){ 
              print"урааа - получилосъ"; 

              } 

            } 
}
надеюсь мысль правильно изложил
 

Panchous

Павел
лучше опиши задачу словами: кривой код мало, что объясняет...
 

Panchous

Павел
ну, как минимум для этого стоит поменять местами циклы в твоем коде)
 

micolo

Новичок
мне нужно чтобы значения из $massiv совпадало со значение из базе а не на оборот:)
 

micolo

Новичок
ну я проверяю $massiv на наличае в нём совпадений из базы
 

Кром

Новичок
>нужно сравнить значение из базы и значение из $massiv

Это не описание задачи, это уже решение. Ты можешь описать задачу?
 

Panchous

Павел
1. выборка из базы
2. идешь по выборке и сравниваешь с элементами твоего массива
 

micolo

Новичок
мне нужно проверить элементы из $massiv и если они совпадают с элементами из базы "урааа - получилосъ"

-~{}~ 17.02.05 18:00:

Panchous, мне примерно так и надо, тока я думаю что нужно сначала делать выборку из массива, а потом сравнивать с элементами из базы. В коде примерно так и есть, тока если элементы идентичные он почемуто не сравнивает их
 

Фанат

oncle terrible
Команда форума
micolo
это делается одним запросом
и только так.

запрос вида "select * from table where pole='".$mas[1]."' OR pole='".$mas[2]."'"
 

Кром

Новичок
>мне нужно проверить элементы из $massiv и если они совпадают с элементами из базы "урааа - получилосъ"

Что за элементы? Какой тип, сколь их?
Нужно найти хотя бы один элемен и вывести "ура" или ура нужно вывести для каждого найденого?
Нужно ли выводить другие элементы или нет?
 

micolo

Новичок
Фанат, а как я узнаю на каком этапе запрос нащёл совпадение(если оно есть)
 

Фанат

oncle terrible
Команда форума
а про этап ничего в вопросе не было.
был вопрос - как сравнить.
на выходе имеешь все удовлетворяющие условию строки.
 

micolo

Новичок
я решил вопрос следующим образом
PHP:
$massiv=explode(" ",$message);
$query = "SELECT * FROM test";
 $result=mysql_query($query);
while($w = mysql_fetch_array($result)) {
$b = $w['name];
 foreach ($massiv as $var){
            if($b==$var){
              print"ураа - получилось";
                            }
              }

       }
но появилась проблема, данное сравнение работает некорректно, и каждый раз по разному, пропуская какие-то элементы из массива. Как сделать чтобы в цикле сравнивался каждый элемент из массива с елементом из базы
 

Фанат

oncle terrible
Команда форума
micolo
два замечания.
очень важных.
пожалуйста, соблюдай их, когда пишешь нафорум.
иначе тебе придется искать сеебе другое место.
1. потрудись приводить здесь реальный код, а не нерабочие каракули. Ты хочешь, чтобы тебе искали ошибку в коде, и при этом приводишь не реальный, а высосанный из пальца. В этом нет ни малейшей логики - но это фиг бы с ним, но вот к посетителям форума ты выказываешь большое неуважение.
БОЛЬШЕ так делать не советую.
2. Если ты задаешь на форуме вопрос, то отвечающие полагают, что ты воспользуешься их ответами.
Если же ты не делаешь то, что тебе говорят - ЗАЧЕМ вообще тратить свое и чужое время, задавая вопросы?
Тебе сказали, как выбрать и перебрать только те записи, которые соответствуют запросу. А ты снова перебираешь все.
или делай, как тебе говорят, или опять же - на недо тогда спрашивать.
 

asm

Пофигист
micolo
А вообще Фанат дал дельный совет.
Типа:
"select * from table where name IN(...) "
while($w = mysql_fetch_array($result)) {
echo $w['name]."ураа - получилось";
}
 
Сверху