|
|
|
| Взято с вашего сайта.
<?php
include "config.php";
$ath = mysql_query("select * from authors;");
if($ath)
{
// Определяем таблицу и заголовок
echo "<table border=1>";
echo "<tr><td>имя</td><td>пароль</td><td>e-mail</td><td>url</td></tr>";
// Так как запрос возвращает несколько строк, применяем цикл
while($author = mysql_fetch_array($ath))
{
echo "<tr><td>".$author['name']." </td><td>".$author['passw']."
  </td><td>".$author['email']." </td><td>".
$author['url']."] </td></tr>";
}
echo "</table>";
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
?>
|
Написал сам
<?
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "test";
$dbc = mysql_connect($db_host, $db_user, $db_pass); // Коннект к бд
$dbs = mysql_select_db($db_name); // Выбор бд
$page = $PHP_SELF;
$ip = $REMOTE_ADDR;
$forw = getenv(HTTP_X_FORWARDED_FOR);
if (($forw != NULL) && ($forw != $REMOTE_ADDR)) $ip = $ip.'/'.$forw;
$query = "SELECT * FROM host LIMIT 1;";
if (!$query) echo mysql_error();
$result = mysql_query($query);
if (!$result) echo mysql_error();
while($ra = mysql_fetch_array($result))
{
echo $ra ['id_host'];
echo '|';
echo $ra ['ip_host'];
echo '|';
echo $ra ['self'];
}
?>
|
Выводит только одно значение. Интересно почему?
И вообще , что лучше использовать? В свое гостевой книге я успешно использовал функцию mysql_result. | |
|
|
|
|
|
|
|
для: Akira
(21.11.2004 в 17:56)
| | Хм... а в таблице host что? Сколько там значений...
PS Небольшое уточнение: выводится одна запись или только одно из трёх значений в цикле? | |
|
|
|
|
|
|
|
для: cheops
(21.11.2004 в 18:05)
| | Их больше 2-х =)
<?
######################### config.php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "test";
$dbc = mysql_connect($db_host, $db_user, $db_pass); // Коннект к бд
$dbs = mysql_select_db($db_name); // Выбор бд
$max_mess = 3;
########################
######################################################### Считаем общее кол-во хостов
$count_query = 'select count(*) from host where 1 ;';
$total_mess = mysql_query ($count_query);
$total_count = mysql_fetch_array ($total_mess);
$count = $total_count ['count(*)'];
##########################################################
// Листинг вывода хостов
$query = "SELECT * FROM host LIMIT ".$page.", ".$max_mess." ;";
if (!$query) echo mysql_error();
$result = mysql_query($query);
if (!$result) echo mysql_error();
while ($i < $max_mess) # Цикл проверки кол-ва строк для вывода их
{
$row_id = mysql_result($result, $i, "id_host");
$row_ip = mysql_result($result, $i, "ip_host");
$row_self = mysql_result($result, $i, "self");
if (empty($row_id) && empty($row_ip) && empty($row_self)) break;
echo '<td align="center"><strong>'.$row_id.'</strong></td>';
echo '<td align="center"><strong>'.$row_ip.'</strong></td>';
echo '<td align="center"><strong>'.$row_self.'</strong></td>';
echo '<tr align="center">';
$i++; # Добавление к $i единицу
}
?>
|
Вот так у меня получаеться и не как иначе , если честно то меня это слегка напрягает =( | |
|
|
|
|
|
|
|
для: Akira
(21.11.2004 в 18:27)
| | Хм... попробуйте вывести содержимо ассоциативных массивов в цикле
<?php
while($ra = mysql_fetch_array($result))
{
print_r($ra);
echo '<br><br>';
}
?>
|
Есть ли в $ra какие-либо значения и если есть какие у них ключи? Может так статься, что они имеют другое название - так часто бывает если используются встроенные фукнции MySQL (правда их здесь нет) - в любом случае стоит посмотреть что в $ra. | |
|
|
|
|
|
|
|
для: cheops
(21.11.2004 в 18:34)
| | Было =)
<? while ($i < $max_mess) # Цикл проверки кол-ва строк для вывода их
{
$row_id = mysql_result($result, $i, "id_host");
$row_ip = mysql_result($result, $i, "ip_host");
$row_page = mysql_result($result, $i, "page");
if (empty($row_id) && empty($row_ip) && empty($row_self)) break;
echo '<td align="center"><strong>'.$row_id.'</strong></td>';
echo '<td align="center"><strong>'.$row_ip.'</strong></td>';
echo '<td align="center"><strong>'.$row_page.'</strong></td>';
echo '<tr align="center">';
$i++; # Добавление к $i единицу
}?>
|
Стало
<? while($otvet = mysql_fetch_array($result))
{
print_r('<td align="center"><strong>'.$id = $otvet ['id_host'].'</strong></td>');
print_r('<td align="center"><strong>'.$id = $otvet ['ip_host'].'</strong></td>');
print_r('<td align="center"><strong>'.$id = $otvet ['page'].'</strong></td>');
echo '<tr>';
} ?>
|
| |
|
|
|
|
|
|
|
для: Akira
(21.11.2004 в 19:27)
| | Хм... после этого заработало?! Вообще-то предполагалась проверка
<?php
while($otvet = mysql_fetch_array($result))
{
print_r($otvet);
}
?>
|
| |
|
|
|