Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: выбрать предпоследнее значение из базы
 
 автор: milanello   (01.02.2010 в 05:06)   письмо автору
 
 

привет народ
вообщем нужно оформить запрос который выводит предпоследнюю запись
по id
SELECT mini_img,id FROM data where id = что тут написать чтобы выводилось предпоследнее значение

ну и чтобы потом не возникало вопросов то как оформить запрос чтобы выводить 3-ее с конца 4-ое с конца и т.д.

ну или так
в дле сделал модул ькоторый должен выводить последние 3 фотки
но етот модуль выводит только одну запись:(
что сделать чтобы он выводил 3 или сколько мне нужно:(
даже если я не лимитировал вывод то он всеравн овыводил одну

выглядит мой модуль так

<?php

if(!defined('DATALIFEENGINE'))
{
die(
"Hacking attempt!");
}


$last_photo2 $db->super_query("SELECT mini_img,id FROM data ORDER BY id DESC LIMIT 3");
$last_photo2 "<a href=\"/view_post.php?id={$last_photo2['id']}\"><img src=\"{$last_photo2['mini_img']}\" width=\"100\" height=\"75\"</a>" ;

$last_photo "


<!--START USERSTATISTIC -->
$last_photo2
<!--END USERSTATISTIC -->
"
;


?> 

  Ответить  
 
 автор: Trianon   (01.02.2010 в 10:21)   письмо автору
 
   для: milanello   (01.02.2010 в 05:06)
 

Очевидно, метод super_query - не самый подходящий для этой цели, если он получает лишь одну строку результата.

  Ответить  
 
 автор: milanello   (01.02.2010 в 11:33)   письмо автору
 
   для: Trianon   (01.02.2010 в 10:21)
 

переделал в такой код и выдает ошибку

Fatal error: Cannot use object of type mysqli_result as array in .... on line 10
$last_photo2 = "<a href=\"/view_post.php?id={$last_photo2['id']}\"><img src=\"{$last_photo2['mini_img']}\" width=\"100\" height=\"75\"</a>"  ;



<?php

if(!defined('DATALIFEENGINE'))
{
  die(
"Hacking attempt!");
}


$last_photo2 $db->query("SELECT mini_img,id FROM data ORDER BY id DESC LIMIT 3");
$last_photo2 "<a href=\"/view_post.php?id={$last_photo2['id']}\"><img src=\"{$last_photo2['mini_img']}\" width=\"100\" height=\"75\"</a>"  ;

 
$last_photo "


<!--START USERSTATISTIC -->
 
$last_photo2
<!--END USERSTATISTIC -->
"
;      


?>

  Ответить  
 
 автор: Trianon   (01.02.2010 в 11:52)   письмо автору
 
   для: milanello   (01.02.2010 в 11:33)
 

метод исполнения SQL-запроса Вы определили верно.
Осталось еще определить метод извлечения строк результата.
И что-то мне подсказывает, что может подойти $result->fetch_assoc()

(Я бы написал $last_photo2->fetch_assoc() , если б не та неряшливость, с которой Вы манипулируете этой переменной)

Да... и как вариант super_query("SELECT..... LIMIT 1,1 ") тоже может решить вопрос.

  Ответить  
 
 автор: milanello   (01.02.2010 в 12:21)   письмо автору
 
   для: Trianon   (01.02.2010 в 11:52)
 

а лимит 1.1 еточто означает?

$last_photo2->fetch_assoc()
ето в первом рядке подставить или во втором?

  Ответить  
 
 автор: Trianon   (01.02.2010 в 12:47)   письмо автору
 
   для: milanello   (01.02.2010 в 12:21)
 

>а лимит 1.1 еточто означает?

Я такого не писал.
Прекратите коверкать язык. Еще одно "ето", и продолжать диалог Вам придется с кем-то другим.

>$last_photo2->fetch_assoc()
>ето в первом рядке подставить или во втором?

согласно мануалу по клиенту mysqli

  Ответить  
 
 автор: t3ma   (01.02.2010 в 13:01)   письмо автору
 
   для: milanello   (01.02.2010 в 12:21)
 

если уж на то пошло
<?php
$prin 
"";
$last_photo2 $db->query("SELECT mini_img,id FROM data ORDER BY id DESC LIMIT 3");
while (
$row $result->fetch_assoc()) {
$prin .= "<a href=\"/view_post.php?id={$row['id']}\"><img src=\"{$row['mini_img']}\" width=\"100\" height=\"75\"</a>"
}

echo 
$prin;
?>

  Ответить  
 
 автор: Trianon   (01.02.2010 в 13:04)   письмо автору
 
   для: t3ma   (01.02.2010 в 13:01)
 

автору не нужны три строки.
Автору нужна только одна - та что посередине.

  Ответить  
 
 автор: milanello   (01.02.2010 в 13:07)   письмо автору
 
   для: Trianon   (01.02.2010 в 13:04)
 

ну мне нужно или 3 или 5 или все
просто в данном случае мне надо последние три реализовать
так как была проблема с запросом и выводило токо одну запись
подумал сделать 3 запроса

  Ответить  
 
 автор: t3ma   (01.02.2010 в 13:11)   письмо автору
 
   для: milanello   (01.02.2010 в 13:07)
 

...

  Ответить  
 
 автор: milanello   (01.02.2010 в 13:10)   письмо автору
 
   для: t3ma   (01.02.2010 в 13:01)
 

сделал так но выдает ошибку

Fatal error: Call to a member function fetch_assoc() on a non-object in /..../engine/modules/last_photo.php on line 10

10 рядок while ($row = $result->fetch_assoc()) {
<?php

if(!defined('DATALIFEENGINE'))
{
  die(
"Hacking attempt!");
}

$prin "";
$last_photo2 $db->query("SELECT mini_img,id FROM data ORDER BY id DESC LIMIT 3");
while (
$row $result->fetch_assoc()) {
$prin .= "<a href=\"/view_post.php?id={$row['id']}\"><img src=\"{$row['mini_img']}\" width=\"100\" height=\"75\"</a>"
}

echo 
$prin;


?>

  Ответить  
 
 автор: t3ma   (01.02.2010 в 13:14)   письмо автору
 
   для: milanello   (01.02.2010 в 13:10)
 

Значит Trianon не угадал с $result->fetch_assoc() :)

  Ответить  
 
 автор: milanello   (01.02.2010 в 13:21)   письмо автору
 
   для: t3ma   (01.02.2010 в 13:14)
 

вот етот код не выдает ошибок
но и не выводит нечего пустое место
<?php

if(!defined('DATALIFEENGINE'))
{
  die(
"Hacking attempt!");
}

if (!
$last_photo2) {

$db->query("SELECT mini_img,id FROM data ORDER BY id DESC LIMIT 3");
while(
$row $db->get_row()){

$id_photo $row['id'];
$mini_img =$row['mini_img'];
$view .="<a href=\"/view_post.php?id={$id_photo}\"><img src=\"{ $mini_img }\" width=\"100\" height=\"75\"</a> <br>" ;
}
}
$last_photo2.=$view


?>

  Ответить  
 
 автор: t3ma   (01.02.2010 в 13:24)   письмо автору
 
   для: milanello   (01.02.2010 в 13:21)
 

попробуйте
while($row = $db->fetch_assoc())
вообще гадать не правильно, нужно код смотреть

  Ответить  
 
 автор: milanello   (01.02.2010 в 13:31)   письмо автору
 
   для: t3ma   (01.02.2010 в 13:24)
 

опять ошибка

а ето и есть весь код!

  Ответить  
 
 автор: milanello   (01.02.2010 в 13:36)   письмо автору
 
   для: milanello   (01.02.2010 в 13:31)
 

проблема решена!!!!

вот правильный код
невыводило из за того что было $last_photo2.=$view; а должно быть $last_photo.=$view;
<?php

if(!defined('DATALIFEENGINE'))
{
  die(
"Hacking attempt!");
}

if (!
$last_photo2) {

$db->query("SELECT mini_img,id FROM data ORDER BY id DESC LIMIT 3");
while(
$row $db->get_row()){

$id_photo $row['id'];
$mini_img =$row['mini_img'];
$view .="<a href=\"/view_post.php?id={$id_photo}\"><img src=\"{$mini_img}\" width=\"100\" height=\"75\"</a> <br>" ;
}
}
$last_photo.=$view


?>

  Ответить  
 
 автор: Trianon   (01.02.2010 в 13:35)   письмо автору
 
   для: t3ma   (01.02.2010 в 13:14)
 

Я не гадал, а писал, именно то, что хотел написать.

А вот Вы не угадали с переменной именно потому, что гадали.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования