foreach и mysql запрос

  • Автор темы Автор темы micolo
  • Дата начала Дата начала

micolo

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

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

              } 

            } 
}
надеюсь мысль правильно изложил
 
ну, как минимум для этого стоит поменять местами циклы в твоем коде)
 
мне нужно чтобы значения из $massiv совпадало со значение из базе а не на оборот:)
 
>нужно сравнить значение из базы и значение из $massiv

Это не описание задачи, это уже решение. Ты можешь описать задачу?
 
1. выборка из базы
2. идешь по выборке и сравниваешь с элементами твоего массива
 
мне нужно проверить элементы из $massiv и если они совпадают с элементами из базы "урааа - получилосъ"

-~{}~ 17.02.05 18:00:

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

запрос вида "select * from table where pole='".$mas[1]."' OR pole='".$mas[2]."'"
 
>мне нужно проверить элементы из $massiv и если они совпадают с элементами из базы "урааа - получилосъ"

Что за элементы? Какой тип, сколь их?
Нужно найти хотя бы один элемен и вывести "ура" или ура нужно вывести для каждого найденого?
Нужно ли выводить другие элементы или нет?
 
Фанат, а как я узнаю на каком этапе запрос нащёл совпадение(если оно есть)
 
а про этап ничего в вопросе не было.
был вопрос - как сравнить.
на выходе имеешь все удовлетворяющие условию строки.
 
я решил вопрос следующим образом
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"ураа - получилось";
                            }
              }

       }
но появилась проблема, данное сравнение работает некорректно, и каждый раз по разному, пропуская какие-то элементы из массива. Как сделать чтобы в цикле сравнивался каждый элемент из массива с елементом из базы
 
micolo
два замечания.
очень важных.
пожалуйста, соблюдай их, когда пишешь нафорум.
иначе тебе придется искать сеебе другое место.
1. потрудись приводить здесь реальный код, а не нерабочие каракули. Ты хочешь, чтобы тебе искали ошибку в коде, и при этом приводишь не реальный, а высосанный из пальца. В этом нет ни малейшей логики - но это фиг бы с ним, но вот к посетителям форума ты выказываешь большое неуважение.
БОЛЬШЕ так делать не советую.
2. Если ты задаешь на форуме вопрос, то отвечающие полагают, что ты воспользуешься их ответами.
Если же ты не делаешь то, что тебе говорят - ЗАЧЕМ вообще тратить свое и чужое время, задавая вопросы?
Тебе сказали, как выбрать и перебрать только те записи, которые соответствуют запросу. А ты снова перебираешь все.
или делай, как тебе говорят, или опять же - на недо тогда спрашивать.
 
micolo
А вообще Фанат дал дельный совет.
Типа:
"select * from table where name IN(...) "
while($w = mysql_fetch_array($result)) {
echo $w['name]."ураа - получилось";
}
 
Сверху