MMGP logo
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 649,544 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Все, что относится к Web-Программированию (PHP, Perl, JavaScript, MySQL, XML и т.д.)
Первый пост Опции темы
Старый 22.08.2011, 20:23
#1
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 07.02.2011
Сообщений: 588
Благодарностей: 149
Запросы к MySQL через php

Здравствуйте уважаемые форумчане! Появился очередной "подводный камень"...
Суть: надо сделать так, как показано на рисунке.

Таблица вынесена в браузер из 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,и проводить с ними (с данными) дальнейшие операции нельзя.
Так ли это? Что надо сделать для решения этой задачи?
Извиняюсь, если неграмотно объяснил. Если что-дополню.
Заранее благодарен!
__________________
Ушел с хайпов, начал заниматься сайтами. И вести свой блог zkzakhar.com
zlkifl вне форума
Старый 22.08.2011, 20:53
#2
Топ Мастер
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.05.2010
Сообщений: 7,105
Благодарностей: 1,623
Re: Запросы к MySQL через php

Надо сравнивать с нулем не $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] надо подставить название поля в базе данных

Последний раз редактировалось capitalistas; 22.08.2011 в 21:39. Причина: Добавлено сообщение
capitalistas вне форума
Сказали спасибо:
zlkifl (22.08.2011)
Старый 22.08.2011, 22:43
#3
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 07.02.2011
Сообщений: 588
Благодарностей: 149
Автор темы Re: Запросы к MySQL через php

Спасибо огромное, была бы возможность поставить 100 спасибо-непременно воспользовался бы этой возможностью!

Цитата:
Сообщение от capitalistas Посмотреть сообщение
Надо сравнивать с нулем не $result1 а $row[2], А вы пытаетесь сравнить весь массив с нулем
Но в $result1 ведь и был только один столбец...
Вопрос на форум я выложил в упрощённом варианте, на самом деле я проинжоил пару таблиц, а "нолики" и "единички" доставал совсем с другой таблицы. И код для форума тоже попытался упростить для максимума.
Цитата:
Сообщение от capitalistas Посмотреть сообщение
кроме того у вас стоит не равно (==) , а оператор присваивания if ($result1=0) {
Это дает всегда true
Да, тут я конкретно промахнулся!
__________________
Ушел с хайпов, начал заниматься сайтами. И вести свой блог zkzakhar.com
zlkifl вне форума
Старый 25.08.2011, 19:35
#4
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 07.02.2011
Сообщений: 588
Благодарностей: 149
Автор темы Re: Запросы к MySQL через php

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

В данном случае в 1 столбике нет цифры "7", поэтому она красная.
Буду очень благодарен за помощь! Заранее спасибо!
__________________
Ушел с хайпов, начал заниматься сайтами. И вести свой блог zkzakhar.com
zlkifl вне форума
Старый 26.08.2011, 16:41
#5
Интересующийся
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 02.08.2011
Сообщений: 19
Благодарностей: 2
Re: Запросы к MySQL через php

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";}    
  } 
Думаю принцип понятен

Последний раз редактировалось webmasters; 26.08.2011 в 16:46.
webmasters вне форума
Сказали спасибо:
zlkifl (26.08.2011)
Старый 26.08.2011, 16:52
#6
Любитель
 
Имя: Захар
Пол: Мужской
Регистрация: 07.02.2011
Сообщений: 588
Благодарностей: 149
Автор темы Re: Запросы к MySQL через php

webmasters, спасибо большое!
__________________
Ушел с хайпов, начал заниматься сайтами. И вести свой блог zkzakhar.com
zlkifl вне форума
Старый 26.08.2011, 16:56
#7
Интересующийся
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 02.08.2011
Сообщений: 19
Благодарностей: 2
Re: Запросы к MySQL через php

Сорри, запутался немного)))
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";}    
  } 
Вот так будет правильно))
webmasters вне форума
Сказали спасибо:
zlkifl (26.08.2011)
Метки
mysql, php
Войдите, чтобы оставить комментарий.
Быстрый переход
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поисковые запросы в Яндексе RUNX Поисковая оптимизация 25 26.07.2009 18:34
Не соединяется кипер через Adsl, но через модем работает PAnt WebMoney 5 16.12.2007 15:34
Пишу на PHP, MySQL nooO Программирование 0 18.11.2007 21:31