Всем доброго дня. Следующая ситуация. Информация из базы данных выводится в таблицу. Иногда попадаются места, где в ячейках нет данных. И в этом случае долбанный IE эту самую ячейку не отображает. Что ни есть гуд. Ситуацию спасает помещение беспрерывного пробела в пустую ячейку. Вопрос. Как выглядит запроc, который можно сформулировать так: Если в конкретной ячейке нету информации (она пуста) то туда автоматически вставлять Или, упрощённый вариант вопроса, чем необходимо дополнить следующий код: Код (Text): <? if (isset($_GET['id'])) {$id=$_GET['id'];} if (!isset($id)) {$id=1;} $sql_select = mysql_query("SELECT * FROM tg WHERE id='$id'",$db); $arr = mysql_fetch_array($sql_select); ?> <font size="2" face="Times New Roman"> <? do { printf ("<div id=kbp_t_p> <table width=372 border=1 bordercolor=#F15A41> <tr align=center bgcolor=#F15A41> <td ><font color=#FFFFFF>KL <br> (UIPN atskaitēm)</font></td> </tr> <tr> <td align=center>%s</td> </tr> </table> </div> " ,$arr["kluipn"]); } while ($arr=mysql_fetch_array($sql_select)); ?> Заранее премного благодарен.
Какая версия? Запрос в базу чтоли? Бросьте. Ставьте в ячейки таблицы некую переменную $temp вместо данных из бд. В переменную пишем неразрывный пробел, если с базы пришло пустое значение для ячейки, либо, если значение не пустое, пишем в переменную его.
IE7. Не спрашивайте, почему нельзя обновить до последней, не знаю. В данном случае это корпоративная среда, в некоторых вещах логики нет. Поэтому сюда и написал. Не знаю как это физически реализовать. Т.е. мне нужен конкретный пример запроса, который я смогу поставить, проверить и разобраться как он работает и написан. Я ещё только учусь этому делу. И такие, как я понял, примитивные вещи, для меня пока, что сложны для понимания.
Попробуй так Код (Text): $sql_select = mysql_query("SELECT *, if(field = '', ' ', field) as anyfield FROM tg WHERE id='$id'",$db); где field - заполненное/пустое поле, anyfield - "новое поле"
Ох, ё...не, так дело не пойдет. Вот есть запрос: Код (Text): $sql_select = mysql_query("SELECT * FROM tg WHERE id='$id'",$db); $arr = mysql_fetch_array($sql_select); И отлично, он что-то там возвращает. Потом, при выводе инфы, просто в php проверяйте значение ячейки. Если пришла пустая, то выводите неразрывный пробел, если не пустая, то значение ячейки. Не надо смешивать данные с их обработкой и выводом. Сделали запрос? Ок, пусть он вернет ровно то, что есть в базе. Один-в-один. Иначе потом потеряете контроль над происходящим. эхехе...ситуация довольно распространенная, к сожалению. Причем независимо от страны, из которой корпорация тянется. Сименс, вон, прогрессируют, недавно на IE8 перешли Добавлено спустя 1 минуту 41 секунду: Один мой знакомый стоматолог с похожими взглядами очень любит работать с пациентами через задний проход. Дергать зубы через задницу, ставить пломбы, наращивать протезы. Когда делает рентген, прислоняет пациента к аппарату тоже задницей и просит сделать излучение такой силы, чтобы было видно зубы. Не хотите записаться к нему на прием, чтобы оценить всю трагедию такого мировоззения?
ну просто не факт что надо везде-везде делать это. выборка из бд может сожержать данные, которые влияют на цвет, оформление, и прочую служебную при отрисовке херотень. Нельзя же неглядя забивать все нуллы пробелами.
Не прошло.Выдаёт ошибку Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Добавлено спустя 3 минуты 5 секунд: Пол дня протыркался, не получилось. Видать ещё не дорос В любом случае, все спасибо за отзывчивость. Большая редкость в наше время
Странно - проверьте строку. Попробовал у себя в ПМА такую строчку - работает. Код (Text): SELECT *, if(user_company = '', ' ', user_company) as anyfield FROM users WHERE user_id = 1 человек задал конкретный вопрос Я дал ему конкретный ответ. А в остальном - ему предложили вариант, как можно сделать. Пусть думает как для него удобно/правильно.