Ошибка Mysql: "Unable to jump to row"

friend123

Guest
Ошибка Mysql: "Unable to jump to row"

Здравствуйте! Объясню проблему:

$query = "SELECT * FROM $table2 WHERE id ORDER BY date DESC,time DESC";
$result = MYSQL_QUERY($query);
$number = MYSQL_NUM_ROWS($result);
$i=0;
WHILE ($i < $number){

$name = mysql_result($result,$i,"name");
$date = mysql_result($result,$i,"date");
PRINT "$name";
PRINT "$date";
PRINT "<A HREF='./lib/text.php?id=$i&action=edit'>Edit</A>";
$i++;
}

В БД есть таблица, в ней поля id, name и т.д. Я хочу отредактировать запись, но получается какая-то ерунда: переменной $i присваивается id строк (всего 4 строки), например: id=1, $i=0; id=3, $i=1; id=2, $i=2 и т.д.

А если я пытаюсь получить из БД id заместо переменной $i, то он выводит не все записи, да и с ошибкой: mysql_result(): Unable to jump to row 5 on MySQL result index 3

Что такое?
 

friend123

Guest
Да, а как правильно его использовать и поможет ли это мне в моем случае?
 

Фанат

oncle terrible
Команда форума
$query = "SELECT * FROM $table2 WHERE id ORDER BY date DESC,time DESC";
$result = MYSQL_QUERY($query);
WHILE ($row = mysql_fetch_assoc($result)){
PRINT $row['name'];
PRINT $row['date'];
PRINT "<A HREF='./lib/text.php?id="$row['id']."&action=edit'>Edit</A>";

-~{}~ 25.08.04 17:22:

помимо неправильной работы с функциями базы, ты еще и совершил судовищную ошибку, передавая по ссылке какой-то левый номер, вместо идентификатора записи.

-~{}~ 25.08.04 17:23:

и WHERE id ORDER BY тоже не несет особого смысла
 

friend123

Guest
Огромное спасибо за код и помощь, но возникла проблема:
что-то неправильно здесь
PRINT "<A HREF='./lib/text.php?id="$row['id']."&action=edit'>Edit</A>";

Выдается ошибка: Parse error: parse error, unexpected T_VARIABLE in file.php on line 35
 

friend123

Guest
Может я и замечу ошибку, но не скоро. Я еще зеленый новичок и в синтаксисе не особо
 

friend123

Guest
Нифига не помогает
Надеюсь я правильно поставил: ?id=".$row['id']"

-~{}~ 26.08.04 11:58:

Все я понял!!!
Надо окружать $row['id'] точками

-~{}~ 26.08.04 12:07:

Все работает, да не все:
скажите насколько я понимаю, то у меня переменной id присваивается значение id записи в БД, но я не могу правильно обработать эты переменную:

if($action=="edit"){
$query = "SELECT * FROM $table2 WHERE id ORDER BY date DESC,time DESC";
$result = MYSQL_QUERY($query);
$name = mysql_result($result,$id,"name");
$date = mysql_result($result,$id,"date");
echo $name;
echo $date;
?>
 

csa

Guest
ты получаешь все содержимое таблицы, а только потом пытаешься вынуть из результата нужную запись! самому не смешно?
почитай про SQL, мануал по php (вообще по языку)..
а здесь тебе нужно составить правильно запрос:
... WHERE id=$id ...
в такой форме будет выбрана всего одна строка, которую ты потом и получишь
 

Фанат

oncle terrible
Команда форума
if($action=="edit"){
$query = "SELECT * FROM $table2 WHERE id ORDER BY date DESC,time DESC";
$result = MYSQL_QUERY($query);
$name = mysql_result($result,$id,"name");
$date = mysql_result($result,$id,"date");
echo $name;
echo $date;
?>
Прости пожалуйста, можно вопросик?
Я, ксжется, чуть выше, ууже исправлял этот чудовищный код?
Откуда он здесь взялся?
Я правильно понимаю, что ты положил с прибором на мой ответ, и делаешь так, как и раньше?
 

friend123

Guest
Нет почему, я использовал ваш код, но в другом файле. Это из него передаются данные в ЭТОТ файл
Я попробовал так и все работает:

if($action=="edit"){
$query = "SELECT * FROM $table2 WHERE id=$id";
$result = MYSQL_QUERY($query);
echo $_GET['id'];
$name = mysql_result($result,$m,"name");
$date = mysql_result($result,$m,"date");

Какя-то левая переменная $m, которая не используется???
 

Фанат

oncle terrible
Команда форума
А сообразить что код, который я тебе дал, надо использовать ВЕЗДЕ? Что я тебе дал не затычку на один случай, которую воткнуть и забыть, а ПРИНЦИП, который надо понять и использовать?

Давай ты не будешь скакать из темы в тему?
Определись, пожалуйста, ГДЕ ты будешь обсуждать свой дурацкий код, и мы продолжим.
 

friend123

Guest
Ребята, вы меня конечно простите за ТУПЫЕ вопросы, нелегко начинать изучение с нуля без помощи!
Лучше в новой теме, созданной мной
 
Сверху