• Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Запросы к MySQL через php

zlkifl

Любитель
Регистрация
08.02.2011
Сообщения
359
Реакции
6
Поинты
0.000
Здравствуйте уважаемые форумчане! Появился очередной "подводный камень"...
Суть: надо сделать так, как показано на рисунке.

Таблица вынесена в браузер из MySQL с помощью скриптов php.
Если в столбце "Номер" будет стоять нолик, то вся строка должна окрашиваться в другой цвет.
Как думал я:
$query1="SELECT nomer FROM tablisha1";
$result1=mysql_query($query1);

$rows=mysql_num_rows($result);
for ($j=0; $j<$rows; ++$j)
{
$row=mysql_fetch_row($result);

if ($result1=0) {
echo "
<tr>
<td><font color=red>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td>
</tr>";
}

else {
echo "
<tr>
<td><font color=black>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td>
</tr>";
}
}
Но таким образом не получилось. Я подозреваю, что проблема в том, что вытягивать данные с помощью SELECT,и проводить с ними (с данными) дальнейшие операции нельзя.
Так ли это? Что надо сделать для решения этой задачи?
Извиняюсь, если неграмотно объяснил. Если что-дополню.
Заранее благодарен!
 

capitalistas

ТОП-МАСТЕР
Регистрация
04.05.2010
Сообщения
5,673
Реакции
1,514
Поинты
0.000
Надо сравнивать с нулем не $result1 а $row[2], А вы пытаетесь сравнить весь массив с нулем

добавлено через 1 минуту
кроме того у вас стоит не равно (==) , а оператор присваивания if ($result1=0) {

Это дает всегда true

добавлено через 5 минут

Код:
$query1 = "SELECT * FROM tablisha1";
$result1 = mysql_query($query1);

$rows = mysql_num_rows($result1);
$row = mysql_fetch_array($result1);

for ($j = 0; $j < $rows; $j++)
{

    if ($row[$j][2] == 0) 
        {
        echo "
<tr>
<td><font color=red>{$row[$j][0]}</font></td><td><font color=red>{$row[$j][1]}</font></td><td><font color=red>{$row[$j][2]}</font></td><td><font color=red>{$row[$j][3]}</font></td>
</tr>";
        }
    else 
        {
        echo "
<tr>
<td>{$row[$j][0]}</td><td>{$row[$j][1]}</td><td>{$row[$j][2]}</td><td>{$row[$j][3]}</td>
</tr>";
        }
}

добавлено через 45 минут
$row[$j][2] в этих местах вместо второй цифры [2] надо подставить название поля в базе данных
 
Последнее редактирование:

zlkifl

Любитель
Регистрация
08.02.2011
Сообщения
359
Реакции
6
Поинты
0.000
Спасибо огромное, была бы возможность поставить 100 спасибо-непременно воспользовался бы этой возможностью! :)

Надо сравнивать с нулем не $result1 а $row[2], А вы пытаетесь сравнить весь массив с нулем
Но в $result1 ведь и был только один столбец...
Вопрос на форум я выложил в упрощённом варианте, на самом деле я проинжоил пару таблиц, а "нолики" и "единички" доставал совсем с другой таблицы. И код для форума тоже попытался упростить для максимума.
кроме того у вас стоит не равно (==) , а оператор присваивания if ($result1=0) {
Это дает всегда true
Да, тут я конкретно промахнулся!
 

zlkifl

Любитель
Регистрация
08.02.2011
Сообщения
359
Реакции
6
Поинты
0.000
Ещё вопросик...
Надо сделать так, что бы каждая строчка 3-го столбца сравнивалась со всеми строчками 1-го столбца пока не будет найдена такая же. Если такой строки в 1-м столбце нету, то эту строку (в 3-м столбике) требуется окрасить в красный цвет.
Очень-очень надеюсь что описал понятно :) Вот пример нужного результата:

В данном случае в 1 столбике нет цифры "7", поэтому она красная.
Буду очень благодарен за помощь! Заранее спасибо!
 

webmasters

Интересующийся
Регистрация
03.08.2011
Сообщения
17
Реакции
0
Поинты
0.000
PHP:
$query = "SELECT * FROM table";
$result = mysql_query($query);

while ($tablerows = mysql_fetch_row($result))
  {
  	$query1 = "SELECT * FROM table WHERE `Проверка`=$tablerows[0]";
  	$result1 = mysql_query($query1);
  	$rows = mysql_num_rows($result1);
  	if (!$rows){print "<tr><td>$tablerows[0]</td><td>$tablerows[1]</td><td><font color=red>$tablerows[2]</font></td></tr>\n";}
  	else {print "<tr><td>$tablerows[0]</td><td>$tablerows[1]</td><td>$tablerows[2]</td></tr>\n";}	
  }

Думаю принцип понятен:wink2:
 
Последнее редактирование:

zlkifl

Любитель
Регистрация
08.02.2011
Сообщения
359
Реакции
6
Поинты
0.000
webmasters, спасибо большое!
 

webmasters

Интересующийся
Регистрация
03.08.2011
Сообщения
17
Реакции
0
Поинты
0.000
Сорри, запутался немного)))
PHP:
$query = "SELECT * FROM table";
$result = mysql_query($query);

while ($tablerows = mysql_fetch_row($result))
  {
      $query1 = "SELECT * FROM table WHERE `Номер`=$tablerows[2]";
      $result1 = mysql_query($query1);
      $rows = mysql_num_rows($result1);
      if (!$rows){print "<tr><td>$tablerows[0]</td><td>$tablerows[1]</td><td><font color=red>$tablerows[2]</font></td></tr>\n";}
      else {print "<tr><td>$tablerows[0]</td><td>$tablerows[1]</td><td>$tablerows[2]</td></tr>\n";}    
  }
Вот так будет правильно))
 
Сверху Снизу