При выводе данных из базы
$result = mysql_query ("SELECT * FROM field ORDER BY id DESC LIMIT 9", $db);
и далее
while($r = mysql_fetch_array ($result))
{
echo $r['some']."<br>";
};
Выводит на одну запись меньше, чем есть (8).
Это нормально???
Спустя 1 минута, 41 секунда (30.01.2011 - 19:20) Dron19 написал(а):
мой тебе ответ - это не нормально



Спустя 50 секунд (30.01.2011 - 19:21) alex12060 написал(а):
$result = mysql_query ("SELECT * FROM field ORDER BY id DESC LIMIT 0, 10", $db);
Спустя 48 секунд (30.01.2011 - 19:22) alex12060 написал(а):
Dron19
У тебя крутой аватар, и кол-во сообщений))
Сообщений: 666
Сорри за офтоп)
У тебя крутой аватар, и кол-во сообщений))
Сообщений: 666
Сорри за офтоп)
Спустя 2 минуты, 20 секунд (30.01.2011 - 19:24) Гость_User написал(а):
$result = mysql_query ("SELECT * FROM field ORDER BY id DESC LIMIT 0, 10", $db);
Тот же результат.
Спустя 6 минут, 1 секунда (30.01.2011 - 19:30) Basili4 написал(а):
Гость_User
раньше по коду ищи до цикла $r = mysql_fetch_array ($result)
код не бойсь после попова переделывал. Если да тогда точно забыл перед циклом убрать 99% ошибок с такими симптомов из -за этого.
и еще вместо mysql_fetch_array ($result) используй mysql_fetch_assoc ($result) , почему не скажу погляди в мануале, больше пользы будет.
раньше по коду ищи до цикла $r = mysql_fetch_array ($result)
код не бойсь после попова переделывал. Если да тогда точно забыл перед циклом убрать 99% ошибок с такими симптомов из -за этого.
и еще вместо mysql_fetch_array ($result) используй mysql_fetch_assoc ($result) , почему не скажу погляди в мануале, больше пользы будет.
Спустя 1 минута, 40 секунд (30.01.2011 - 19:32) Гость_User написал(а):
0_o
Вот такой вариант работает нормально:
<?php
DEFINE('DATABASE_USER', 'root');
DEFINE('DATABASE_PASSWORD', '');
DEFINE('DATABASE_HOST', 'localhost');
DEFINE('DATABASE_NAME', 'base1');
$dbc = @mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD,
DATABASE_NAME);
if (!$dbc) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$query="SELECT * FROM comments ORDER BY id DESC limit 5";
$result = mysqli_query($dbc,$query);
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{
echo $row['some']."<br>";
}
?>
Вот такой вариант работает нормально:
<?php
DEFINE('DATABASE_USER', 'root');
DEFINE('DATABASE_PASSWORD', '');
DEFINE('DATABASE_HOST', 'localhost');
DEFINE('DATABASE_NAME', 'base1');
$dbc = @mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD,
DATABASE_NAME);
if (!$dbc) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$query="SELECT * FROM comments ORDER BY id DESC limit 5";
$result = mysqli_query($dbc,$query);
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{
echo $row['some']."<br>";
}
?>
Спустя 23 секунды (30.01.2011 - 19:32) Гость_User написал(а):
0_o
Вот такой вариант работает нормально:
Вот такой вариант работает нормально:
<?php
DEFINE('DATABASE_USER', 'root');
DEFINE('DATABASE_PASSWORD', '');
DEFINE('DATABASE_HOST', 'localhost');
DEFINE('DATABASE_NAME', 'base1');
$dbc = @mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD,
DATABASE_NAME);
if (!$dbc) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$query="SELECT * FROM comments ORDER BY id DESC limit 5";
$result = mysqli_query($dbc,$query);
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{
echo $row['some']."<br>";
}
?>
Спустя 24 секунды (30.01.2011 - 19:33) alex12060 написал(а):
Значит у тебя 8 записей, либо у тебя что то в коде не то. Будет не плохо, если скинешь весь скрипт.
Спустя 7 минут, 44 секунды (30.01.2011 - 19:40) Гость_User написал(а):
Записей более 30. Цифры разные ставил и всегда количество записей на вывод - минус одна. Проверял код в совершенно "голом" php-файле.
Весь код неверно работающего варианта:
содержимое connect.php:
По поводу поповского кода, да это старый кусок его. Использовался в одном файле.
А другой вариант - мой.
Весь код неверно работающего варианта:
<?php
include ("connect.php");
$result_rs = mysql_query ("SELECT * FROM field limit 0, 5", $db);
$myrow_rs = mysql_fetch_array ($result_rs);
while($myrow_rs = mysql_fetch_array ($result_rs))
{
echo $myrow_rs['some']."<br>";
};
?>
содержимое connect.php:
<?php
$host_name_bd = "localhost";
$user_name_bd = "root";
$password_bd = "";
$db = mysql_connect ( $host_name_bd, $user_name_bd, $password_bd) or die(mysql_error());
mysql_select_db ("base1", $db);
?>
По поводу поповского кода, да это старый кусок его. Использовался в одном файле.
А другой вариант - мой.
Спустя 1 минута, 42 секунды (30.01.2011 - 19:42) Basili4 написал(а):
$myrow_rs = mysql_fetch_array ($result_rs);
while($myrow_rs = mysql_fetch_array ($result_rs))
Я жеж говорил смотри ранее по коду.
while($myrow_rs = mysql_fetch_array ($result_rs))
Я жеж говорил смотри ранее по коду.
Спустя 3 минуты, 8 секунд (30.01.2011 - 19:45) Гость_User написал(а):
Не уловил мысль.
Спустя 2 минуты, 9 секунд (30.01.2011 - 19:47) Basili4 написал(а):
$myrow_rs = mysql_fetch_array ($result_rs); // вот это убить надо
while($myrow_rs = mysql_fetch_array ($result_rs))
Ну ты 1 раз до цикла выбираешь запись и ниче с ней не далаешь за место её еще раз выбираешь поэтому одна запись теряется.
while($myrow_rs = mysql_fetch_array ($result_rs))
Ну ты 1 раз до цикла выбираешь запись и ниче с ней не далаешь за место её еще раз выбираешь поэтому одна запись теряется.
Спустя 2 минуты, 51 секунда (30.01.2011 - 19:50) Гость_User написал(а):
Понял. Точно!
Спасибо.
Спасибо.
Спустя 1 минута, 16 секунд (30.01.2011 - 19:52) alex12060 написал(а):
$myrow_rs = mysql_fetch_array ($result_rs);
while($myrow_rs = mysql_fetch_array ($result_rs))
{
echo $myrow_rs['some']."<br>";
};
Очень нравится этот кусок кода :D
Тебе этого хватит за глаза:
<?php
include ("connect.php");
$result_rs = mysql_query ("SELECT * FROM field limit 9", $db);
while($myrow_rs = mysql_fetch_array ($result_rs))
{
echo $myrow_rs['some']."<br>";
};
?>
Спустя 1 минута, 15 секунд (30.01.2011 - 19:53) Basili4 написал(а):
alex12060
еще один.....
на куа тут mysql_fetch_array ????? в крайнем случае использовать 2 параметр
еще один.....
на куа тут mysql_fetch_array ????? в крайнем случае использовать 2 параметр
Спустя 12 минут, 43 секунды (30.01.2011 - 20:06) Гость_User написал(а):
А в случае с этой поповской конструкцией:
<?php
include ("connect.php");
$result_rs = mysql_query ("SELECT * FROM field limit 9", $db);
$myrow_rs = mysql_fetch_array ($result_rs)
do {
echo "...";
}
while($myrow_rs = mysql_fetch_array ($result_rs))
?>
Запись тоже выпадать будет?
<?php
include ("connect.php");
$result_rs = mysql_query ("SELECT * FROM field limit 9", $db);
$myrow_rs = mysql_fetch_array ($result_rs)
do {
echo "...";
}
while($myrow_rs = mysql_fetch_array ($result_rs))
?>
Запись тоже выпадать будет?
Спустя 1 минута, 29 секунд (30.01.2011 - 20:07) Basili4 написал(а):
нет там сначала происходит выбор записи потом отображение записи там цикл другой. с пост условием.
Спустя 2 минуты, 22 секунды (30.01.2011 - 20:09) Гость_User написал(а):
Спасибо. Ясно.
Спустя 31 минута, 56 секунд (30.01.2011 - 20:41) alex12060 написал(а):
Basili4
Мне лень было дописывать) Да и показать ему этого не хотел, не в этом суть вопроса была.
Мне лень было дописывать) Да и показать ему этого не хотел, не в этом суть вопроса была.
Спустя 2 минуты, 21 секунда (30.01.2011 - 20:44) Basili4 написал(а):
alex12060
так тaм array на assoc поменять
))
так тaм array на assoc поменять
