[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP+MySql вывод данных из БД в таблицу.
dkmaster
Есть 3 файла
  • add.php - добавляет данные в БД
  • list.php - выводит данные из БД в таблицу
  • index.html - форма для добавления записей в БД
    БД - database (к примеру)
    таблица в БД - potolok

add.php и index.html работают как положено, поэтому ихний код приводить не стану, вопрос в list.php - его содержание ниже

<?php
header('Content-Type: text/html; charset=windows-1251');

mysql_connect("localhost", "root", "123") or die(mysql_error());

mysql_select_db("database") or die(mysql_error());

$data = mysql_query("SELECT * FROM potolok") or die (mysql_error());
// далее как раз надо переделать, но чета у меня ваще никак не получается (( а сам вопрос изложен ниже
Print "<table border cellpadding=0>";
while($info = mysql_fetch_array( $data ))
{
Print "<tr>";
Print "<th>№:</th> <td> ".$info['id'] . "</td> ";
Print "<th>фактура:</th> <td>".$info['name'] . " </td>";
Print "<th>до 5м: </th> <td>".$info['price1'] . " </td>";
Print "<th>от 5 до 10 м:</th> <td>".$info['price2'] . " </td>";
Print "<th>от 10 до 100 м:</th> <td>".$info['price3'] . " </td>";
Print "<th>от 100 м:</th> <td>".$info['price4'] . " </td>";
}
Print "</table>";
?>


при таком содержании таблица получается вот в таком формате
user posted image
данные выводятся - значит скрипт работает ))
Внимание вопрос!
каким образом изменить содержание list.php что бы таблица выресовывалась в нижеследующем формате?
user posted image



Спустя 6 минут, 56 секунд (28.03.2010 - 02:06) Adil написал(а):
После
Print "<table border cellpadding=0>";

написать
print '
<tr style="background-color:silver">
<td>№:</td>
<td>фактура:</td>
<td>до 5м: </td>
<td>от 5 до 10 м:</td>
<td>от 10 до 100 м:</td>
<td>от 100 м:</td>
</tr>
'
;

а в нижней табоице все это убрать

Спустя 39 секунд (28.03.2010 - 02:06) Adil написал(а):
А ты уверен что данные правильно записываются в базу данных?

Спустя 59 минут, 13 секунд (28.03.2010 - 03:05) Guest написал(а):
1. Благодарю за ответ - щас попробую реализовать. (спс что не послали в гугл :-))

2. в БД данные записываются правильно ) я их пака записываю не через форму файла index.html а через phpmyadmin ручками. (это для теста их дальнейшего вывода ибо именно это, на данный момент, меня интересует больше.)
По поводу ввода данных в БД по средствам формы в файле index.html - там тока вопрос в кодировке, все записывается нормально кроме поля 'name' оно на Русском и в БД иероглифы )) ну это думаю решу. Где то тут на форуме натыкался на посты где описывается данный вопрос с кодировкой.

Спустя 8 минут, 33 секунды (28.03.2010 - 03:14) Гость_dkmaster написал(а):
странно когда захожу на форум под своим логином и открываю эту тему, страница пустая, поэтому прошу прощения за лишние посты (что не редактирую предыдущий а создаю новый).

Nezabivaemiy
Большое спасибо - Ваш вариант решил проблему )) теперь вывод данных именно в таком формате в котором меня интересовало.

Спустя 14 часов, 30 минут, 56 секунд (28.03.2010 - 17:45) dkmaster написал(а):
А вот как раз и проблемка с кодировкой, у кого есть мысли по этому поводу?
некорректно отображаются 2-е буквы "И" "ш" с учетом регистра.
user posted image

кодировка везде стоит utf-8
в БД - utf-8 general ci user posted image
в файлах (во всех) - utf-8

фрагменты кода из файлов:
index.html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


add.php стоит перед добавлением записи

mysql_query("set CHARACTER SET UTF-8");


list.php - этот файл убрал, точнее соеденил с index.php

пробовал менять кодировки - все тока страшнее становится )). Есть ли решение данной проблемки?

-----------------
спустя некоторое время путем эксперементов выяснелось следующее -

при смене кодировки на утф-8 заголовки таблицы отображаются корректно, а формируемая таблица (с внутренним текстом) иероглифами.
при смене кодировки на ср1251 - ситуация полностью пропорциональна ))) заголовки иероглифы а текст внутри таблицы нормальный ))).

------------------
Все вопрос решился )) теперь все нормально выводится, однако в БД иероглафами все )) но это уже ерунда, главное вывод нормальный. всем спс. cool.gif

Спустя 4 часа, 2 минуты, 3 секунды (28.03.2010 - 21:47) Adil написал(а):
Попробуй после соединения написать:
mysql_query("SET NAMES 'utf8'");


И сам файл сохрани в кодировке utf (без ВОМ)

Спустя 23 часа, 16 минут, 17 секунд (29.03.2010 - 21:03) dkmaster написал(а):
хмм )) наверно я намудрил лишнего но вот что в итоге получилось:

add.php перед внесением данных в таблицу

mysql_query("SET NAMES 'cp1251'");
mysql_query("SET collation_connection='cp1251_general_ci'");
mysql_query("SET collation_server='cp1251_general_ci'");
mysql_query("SET character_set_client='cp1251'");
mysql_query("SET character_set_connection='cp1251'");
mysql_query("SET character_set_results='cp1251'");
mysql_query("SET character_set_server='cp1251'");

Возможно в вышеуказанном коде многое ненужно, но я последовал совету написать все сразу )) чтобы наверняка.

index.php - кодировка на выходе так сказать (странно но работает)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


кодтровки в БД (phpMyAdmin)

на таблицу "potolok" - cp1251_general_ci
на поле "name" внутри нее - cp1251_general_ci (ибо только в этом поле русские буквы - остальные поля, цифры и на их кодировку побоку).

т.е. везде ср1251 - а на выходе utf8 )) может это и странно, но в моем случае работает.

ИТОГ: Все символы отображаются правильно и заголовки полей и внутри таблицы, а то что в phpMyAdmin эти поля иероглифами написаны, так это неважно )) пользователь эту часть не видит все равно )) и мне особых неудобств это не доставит.
user posted image
user posted image

Nezabivaemiy Огромное спс за помощь в построении структуры таблицы. +1 к репе за помощь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.