| веб-мастеру | блог веб-мастера | Статьи Веб-Мастера | SEO Tools | книги веб-мастеру |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| Veto-Irina |
28.4.2008, 14:55
Сообщение
#1
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
Здравствуйте, подскажите пожалуйста,
Как сделать вывод данных из базы MySQL , чтобы вывод был в формате Код |$data1| |$data2| |$data3| |$data4| ну и т,д, Вот цикл вывода while ($data=mysql_fetch_row($result)) { echo ("<tr> <td> <img src='$data[0]'</td></tr>");} |
| gid |
28.4.2008, 17:16
Сообщение
#2
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
Простой пример:
Код <?php /* Соединение, выбор БД */ $link = mysql_connect("mysql_host", "mysql_user", "mysql_password") or die("Could not connect"); print "Connected successfully"; mysql_select_db("my_database") or die("Could not select database"); /* Выполнение SQL query */ $query = "SELECT * FROM my_table"; $result = mysql_query($query) or die("Query failed"); /* Печать результатов в HTML */ print "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($line as $col_value) { print "\t\t<td>$col_value</td>\n"; } print "\t</tr>\n"; } print "</table>\n"; /* Освобождение resultset */ mysql_free_result($result); /* Закрытие соединения */ mysql_close($link); ?> -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| gid |
28.4.2008, 17:19
Сообщение
#3
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
C разделением данных из массива на N-ное число колонок:
Код function print_as_table($rub_array, $colon=2) { $count = sizeof($rub_array); $id = 0; if ($colon<$count) $count_r_in_col = ceil($count/$colon); else $count_r_in_col = $count; $cel_percent = ceil(100/$colon); $sh = ' <table width="100%"> '; for ($c=1; $c<=$count_r_in_col; $c++) { $sh .= ' <tr align="left"> '; for ($cr=1; $cr<=$colon; $cr++) { $sh .= " <td width=\"$cel_percent%\" valign=\"top\">".$rub_array[$id]."</td> "; if ($id >= $count) break; $id++; } $sh .= ' </tr> '; } $sh .= ' </table> '; return $sh; } -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| Veto-Irina |
29.4.2008, 13:26
Сообщение
#4
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
Gid, поясните пожалуйста вот эту строчку:
Код foreach ($line as $col_value) { И я не пойму как функцию связать с выводом, куда ее ставить? $rub_array - это переменная в которой хранится массив данных? |
| gid |
29.4.2008, 14:27
Сообщение
#5
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
Цитата foreach ($line as $col_value) Массив $line, "разбирается" попорядку, от начала к концу, в переменной $col_value содержится значение элемента массива в данный момент времени. подробнее про функцию foreach Цитата И я не пойму как функцию связать с выводом, куда ее ставить?$rub_array - это переменная в которой хранится массив данных? Ну напримар так: Код <?php function print_as_table($rub_array, $colon=2) { .... } $colon = 2; // число колонок в таблице $arr = array("значение 1", "значение 2", "значение 3", "значение 4"); // массив с данными, каждый элемент массива будет в своей ячейке. echo print_as_table($arr, $colon); // печать результата работы функции ?> -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| Veto-Irina |
29.4.2008, 15:20
Сообщение
#6
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
Вы знаете я наверно что-то не догнала
Код <?php function print_as_table($rub_array, $colon=2) { } $db_name=" "; //база данных $table=" "; //таблица $link=@mysql_connect("localhost","root"," ") or die ("Подключиться невозможно"); $db=@mysql_select_db( $db_name,$link) or die ("Подключиться невозможно"); $result=mysql_query("SELECT * FROM $table") or die(mysql_errno($link).mysql_error($link)); print "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($line as $col_value) { echo print_as_table($col_value,$colon);} } print "\t</tr>\n"; } print "</table>\n"; ?> Division by zero in /localhost/pp.php on line 11 и в 13 это строчки в функции Код (11) if ($colon<$count) $count_r_in_col = ceil($count/$colon); (13) $cel_percent = ceil(100/$colon); |
| gid |
29.4.2008, 15:34
Сообщение
#7
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
А попробуйте так:
Код <?php function print_as_table($rub_array, $colon=2) { // код функции } $db_name=" "; //база данных $table=" "; //таблица $link=@mysql_connect("localhost","root"," ") or die ("Подключиться невозможно"); $db=@mysql_select_db( $db_name,$link) or die ("Подключиться невозможно"); $result=mysql_query("SELECT * FROM $table") or die(mysql_errno($link).mysql_error($link)); $t_arr = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $_str = ""; foreach($row as $key=>$val) { $_str .= $key." => ".$val."<br>"; } $t_arr[] = $_str; } echo print_as_table($t_arr, 2); ?> -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| gid |
29.4.2008, 15:42
Сообщение
#8
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
В последующем нужно будет заменить кусок кода:
Код $_str = ""; foreach($row as $key=>$val) { $_str .= $key." => ".$val."<br>"; } $t_arr[] = $_str; на шаблонизатор для записи из данной таблицы, т.е. на что-то типа: Код $t_arr[] = <<<EOF Заголовок: {$row['title']} <br> Текст: <br> {$row['text']} EOF; где title и text - имена полей в таблице mysql -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| Veto-Irina |
29.4.2008, 16:42
Сообщение
#9
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
Вариант с этим кодом работает:
Код $_str = ""; foreach($row as $key=>$val) { $_str .= $key." => ".$val."<br>"; } $t_arr[] = $_str; а вот когда меняю на шаблонизатор пишет следующее unexpected $end in (строчке EOF;) (все скобки проверила все на месте) |
| gid |
29.4.2008, 16:48
Сообщение
#10
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
Перед и после EOF; не должно быть побелов или других символов! и сточка с EOF; должна начинаться с новой строки!
-------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| Veto-Irina |
29.4.2008, 17:39
Сообщение
#11
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
А я символы никакие не ставила, я скопировала код и поменяла поля как вы сказали, отсебятину вроде не писала, вот код, ,может я что-то не так поняла
Код $result=mysql_query("SELECT * FROM $table") or die(mysql_errno($link).mysql_error($link)); $t_arr = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) $t_arr[] = <<<EOF Заголовок: {$row['partn']} EOF; echo print_as_table($t_arr, 2); |
| gid |
29.4.2008, 18:01
Сообщение
#12
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
Можно еще так попробовать:
Код $result=mysql_query("SELECT * FROM $table") or die(mysql_errno($link).mysql_error($link)); $t_arr = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $t_str = <<<EOF Заголовок: {$row['partn']} EOF; $t_arr[] = $t_str; } echo print_as_table($t_arr, 2); -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| Veto-Irina |
29.4.2008, 18:17
Сообщение
#13
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
Пишет syntax error, unexpected ']', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /ppp.php on line 43
(43) $t_arr[] = $t_str; А если написать $t_arr = $t_str; то опять предыдущая ошибка (unexpected $end in) А нельзя в таком виде оставить по крайней мере выводит то что мне нужно Код $t_arr = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $_str = ""; foreach($row as $val) { $_str .=" <img src= '$val'>"; } $t_arr[] = $_str; } echo print_as_table($t_arr, 2); |
| gid |
29.4.2008, 21:35
Сообщение
#14
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
Цитата А нельзя в таком виде оставить по крайней мере выводит то что мне нужно Можно, но для понимания всей сути скрипто-писания на php, лучше всего один раз разобраться до конца. ps правильней было бы тогда писать так: Код $t_arr = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { foreach($row as $val) { $t_arr[] = " <img src= '$val'>"; } } echo print_as_table($t_arr, 2); или еще лучше так: Код $t_arr = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $t_arr[] = " <img src= '{$row['partn']}'>"; } echo print_as_table($t_arr, 2); -------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
| Veto-Irina |
30.4.2008, 11:43
Сообщение
#15
|
|
Новичок ![]() ![]() Группа: Свои Сообщений: 11 Регистрация: 16.4.2008 Пользователь №: 757 |
Спасибо большое Gid за ваши советы и терпение, а в скрипто-писании мне еще разбираться и разбираться
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 12.5.2008, 12:55 |