За последние 24 часа нас посетили 19096 программистов и 1637 роботов. Сейчас ищут 887 программистов ...

Вывод результата запроса в цвете

Тема в разделе "PHP и базы данных", создана пользователем Димон, 11 апр 2011.

  1. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    Проблему решил сам, следующим образом:
    1. В таблицу "sost" добавил поле "color";
    2. В условии выборки обозначил связь между таблицами;
    Вот код:
    Код (Text):
    1. $sql = "SELECT
    2.   *
    3.   FROM
    4.   `sotrudniki`,`zakaz`,`avto_name`,`avto_model`,`month`,`sost`
    5.   WHERE
    6.   `sotrudniki`.`Sotrudnik_id`=`zakaz`.`Sotrudnik_id` AND
    7.   `zakaz`.`avto_name_id`=`avto_name`.`avto_name_id` AND
    8.   `zakaz`.`avto_model_id`=`avto_model`.`avto_model_id` AND
    9.   `zakaz`.`sost_id`=`sost`.`sost_id`
    10.   GROUP BY `zakaz`.`zakaz_id`
    11.   ";
    12.  
    13. $result = mysql_query($sql)or die ("Query failed: " .mysql_error());
    14.   $num_rows = mysql_num_rows($result);
    15.  echo " Всего получено $num_rows записи(ей)\n";
    16.  echo "<table border='1' WIDTH='100%'>";
    17.  echo "<tr bgcolor='#2A1FAA' border='1' style='border:dashed' bordercolor='#2A1FAA' height:'10px'>";
    18.  
    19.  echo "
    20. <th></th>
    21.  <th><h4 style='color:#FFF'>Номер заказа</th>
    22.  <th><h4 style='color:#FFF'>Дата заказа</th>
    23.  <th><h4 style='color:#FFF'>Заказчик</th>
    24.  <th><h4 style='color:#FFF'>Адрес заказчика</th>
    25.  <th><h4 style='color:#FFF'>Телефон заказчика</th>
    26.  <th><h4 style='color:#FFF'>Марка автомобиля</th>
    27.  <th><h4 style='color:#FFF'>Модель автомобиля</th>
    28.  <th><h4 style='color:#FFF'>Гос. номер</th>
    29.  <th><h4 style='color:#FFF'>Заявлено</th>
    30.  <th><h4 style='color:#FFF'>Принял заказ</th>";
    31.  echo "</tr>";
    32.  
    33.  while ($row = mysql_fetch_array ($result))
    34.   {
    35.     echo "<tr style='color:#{$row['color']}'>";
    36.     echo "<td align='left'><a href='sost_zakaz.php?zakaz_id=",$row['zakaz_id'],"'><img align='right' hspace='2' width='16' height='16' src='img/rabotau' border='0' width='155' height='119' alt='Работа по заказу' title='Работа по заказу' /></a></td>";
    37.     echo "
    38.     <td>",$row['zakaz_id'],"</td>
    39.     <td>",$row['date_zakaz'],"</td>
    40.     <td>",$row['FIO'],"</td>
    41.     <td>",$row['adress'],"</td>
    42.     <td>",$row['telephone'],"</td>
    43.     <td>",$row['avto_name'],"</td>
    44.     <td>",$row['avto_model'],"</td>
    45.     <td>",$row['gos_numer'],"</td>
    46.     <td>",$row['zayavleno'],"</td>
    47.     <td>",$row['sotr_fio'],"</td>";
    48.     echo "</tr>";
    49.     }
    50.     echo "</table>";
    51. }
    Тему можно закрыть
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Я в шоке от твоего кода. Половину переделал. Но раз ты считаешь, что всё ок, то ладно.
    Обрати внимание на строку
    Код (Text):
    1. echo "<tr bgcolor='#2A1FAA' border='1' style='border:dashed' bordercolor='#2A1FAA' height:'10px'>";
    без комментариев.
     
  3. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    )))))) Ты прав - там много лишнего. Я ведь только учусь, потому и ставлю всякие эксперименты, а удалять лишнее иногда забываю.
    Вот так я ее обрезал:
    Код (Text):
    1. echo "<tr bgcolor='#2A1FAA' border='1'>";[quote][/quote]
     
  4. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    YSandro
    Есть еще один вопрос: Можно в этом же куске кода в строке:
    Код (Text):
    1.  echo "<td align='left'><a href='sost_zakaz.php?zakaz_id=",$row['zakaz_id'],"'><img align='right' hspace='2' width='16' height='16' src='img/rabotau' border='0' width='155' height='119' alt='Работа по заказу' title='Работа по заказу' /></a></td>";
    Сделать подмену ссылке и рисунку от того же изменения $row['color']?
     
  5. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    От того же изменения $row['color'] тоже можно, но уже вряд ли. Лучше бы ряд "color" хранил у тебя не коды цвета, а целочисленные данные. Легче изменять, база данных будет легче.
    Про картинки.
    Напиши массив чего хочешь, кодов цвета или адресов к картинкам.
    Код (Text):
    1. $picArray=array(
    2.   'img/rabotau',
    3.   'img/ne_rabotau',
    4.   'img/rabotau.gif',
    5.   'img/rabotau.jpg'
    6. );
    аттрибут src можно выводить так:
    Код (Text):
    1. "<img src='".$picArray[$row['color']]."' />"
    Это если в $row['color'] цифры от 0 до 3.
     
  6. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    YSandro
    Спасибо большое, я кажется понял. В этой теме наверное не надо уже показывать результат? А то администрация сайта не так поймет и накажут за смену темы.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Димон
    тебе надо в отпуск. такое бывает.
     
  8. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    igordata
    Рад бы, да он у меня в августе. Но спиннинг и блесна я уже прикупил - поеду щуку гонять))))))
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я к тому что если ты хочешь чтобы у тебя строка с id = 3 стала зеленой, то надо просто вписать ифчик
     
  10. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    igordata
    Я сделал проще, в БД у меня есть табличка так сказать "для технических нужд", в ней я создал нужные мне поля, и теперь и цветом строк управляю и подменой ссылок и кнопок, и т.д.
    Кстати в теме видно, что я и ифы вписывал, и у меня ничего не получилось.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Димон
    эта...

    так лучше не делать

    надо делать по-уму. если у тебя есть ТИПЫ ссылок (или что ты там красишь), то ты эти типы можешь из БД выковыривать, естественно. Не важно, текстовые они у тебя или числовые, но как раз лучше делать по схеме с классами, которую я сказал тебе. Ибо писать сами цвета в БД - не гуд. Это второстепенная, производная инфа, и ты делаешь эту инфу исходя из какой-то другой инфы. =) А значит надо задуматься, понять критерии и проч. и уже от них плясать.
     
  12. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    igordata
    Наверное я до этого еще не дошел умом. Но честное слово - я стараюсь. Думаю, что и с этим скоро справлюсь. Я ведь недавно взялся за РНР и то самостоятельно, в универе совсем другое преподавали, и минус, что я почти не владею английским.
    Буду стараться - мне очень интересно!
     
  13. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    что за ошибка?
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Димон
    дело не в уме. ты же их почему красишь? не случайным же образом?
     
  15. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    Gromo
    Adobe DW ругается на ошибку синтаксиса. Переставляю кавычки и он успокаивается.

    igordata
    Конечно не случайно. Выполненные заказы (ид=1) - зеленым; В работе (ид=3) - красным; Отмененные (ид=2) - черным.
     
  16. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    очень странно. по стандарту значения аттрибутов тегов должны оформляться двойными кавычками, а не одинарными.

    Димон
    как-то у тебя странно выполняется код, раз давали столько раз рабочие варианты, а они у тебя не работают.
    возможно ты что-то упустил при описании проблемы, либо же из базы получаются другие данные.
     
  17. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    Gromo
    Может вся проблема в том, что я пишу на денвере? Раньше ставил связку самостоятельно, но пришлось снести систему и вновь устанавливать не стал (времени совсем нет). Да и новая система работает не очень хорошо, позднее поставлю систему и установлю связку php-MySQL-Apache снова.
     
  18. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Димон Вряд ли. Денвер нормальная сборка. Проблема в коде.
     
  19. Димон

    Димон Активный пользователь

    С нами с:
    12 май 2009
    Сообщения:
    152
    Симпатии:
    0
    Хорошо, попробую разобраться.
    Есть еще один вопрос, но это из другой моей темы про jqPlot - не пойму как построить запросы к БД и внести данные в скрипт. Попробую там вопрос задать.