|
|
|
|
<?php
$link = mysql_connect("127.0.0.1", "root", "toor")
or die ("Could not connect to MySQL");
mysql_select_db ("libraly")
or die ("Could not select database");
$result = mysql_query ("Select * from test")
or die ("Query failed");
// printing HTML result
print "<table border=1>";
while ($line = mysql_fetch_array($result)) {
print "<tr>";
while(list($col_name, $col_value) = each($line)) {
print "<td>$col_value</td>";
}
print "</tr>";
}
print "</table>";
?>
|
Почему результат выводится по два раза, тоесть...
Вот что у меня получается из этого запроса:
1 1 name name 2 2 13 13
2 2 name1 name1 5 5 13 13
3 3 name2 name2 78 78 56 56
|
Первый два числа это ID вторые два Name... и т.д.
Почему вот он выводит по 2 раза результат, как исправить? | |
|
|
|
|
|
|
|
для: Бамси
(16.11.2005 в 02:45)
| | Дело в том, что в массиве $line данные содержаться в двух экземплярах: с числовыми индексами и с текстовыми.
Попробуйте вывести:
и сами все увидите. | |
|
|
|
|
|
|
|
для: Loki
(16.11.2005 в 09:14)
| | Дак массив вроде ассоциативный.(mysql_fetch_assoc). Там только ассоциативные индексы. Или я не прав??? | |
|
|
|
|
|
|
|
для: HoLsT
(16.11.2005 в 10:06)
| | Функция mysql_fetch_array dhpdhfoftn результат в двух экземплярах:
1) Имя поля в таблице
2) Индекс в массиве
Используйте вместо mysql_fetch_array() функцию mysql_fetch_row() | |
|
|
|
|
|
|
|
для: HoLsT
(16.11.2005 в 10:06)
| | Замените строку
<?php
while ($line = mysql_fetch_array($result)) {
?>
|
на
<?php
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
|
или
<?php
while ($line =mysql_fetch_assoc($result)) {
?>
|
| |
|
|
|
|
|
|
|
для: Loki
(16.11.2005 в 09:14)
| | Извините, но мне это амало о чем говорит :/
Можете подробней рассказать, я плохо очень знаю php.
Cheops
Что значит : MYSQL_ASSOC. | |
|
|
|
|
|
|
|
для: Бамси
(16.11.2005 в 20:35)
| | Функция mysql_fetch_array() может принимать второй необязательный параметр. Константа MYSQL_ASSOC требует, чтобы в результате был только ассоциативный массив, а не смешанный, как выводится по умолчанию. | |
|
|
|