[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод последней строчки
phz
Вот я подключаюсь к базе:

PHP
<?
mysql_connect(localhost,foto,1234);
mysql_select_db(foto);
$g mysql_query ("SELECT * FROM jos_datsogallery");
$foto mysql_num_rows($g);


Потом переменную вставляю в текст <? echo $foto;?>. Подскажите как мне вывести последнюю строчку из таблицы. Смысл: я хочу вывести последний фотку, которую добавил юзер. Название колонки с фоткой imgthumbname и с уникальным числом id. Чтобы сделать картинку и при нажатии на неё переходило на сайт галереи на эту страницу. <a href="<? echo $переменая с уникальным числом;?>"><img src="<? echo $foto;?>"></a>



Спустя 14 минут, 51 секунда (9.02.2009 - 18:07) stepan написал(а):
Если я правильно понял вопрос:
Если у тебя в таблице 'jos_datsogallery' есть поле id которой присвоена инкрименация то по ней и отлавливай последнюю фотку т.е. когда пользователь добавляет фото, создается новая запись в которой находится переменная id которая увеличилась на 1 по отношению к предыдущей записи. Затем через цикл обнаруживай наивысшее значение id и это и будет последняя фотка.

Спустя 12 минут, 10 секунд (9.02.2009 - 18:19) LoneCat написал(а):
SQL
SELECT * FROM jos_datsogallery ORDER BY id DESC LIMIT 1

ORDER BY id DESC - сортирует все записи выборки по id в обратном порядке, иже если записей 10 - то 10, 9, 8...
LIMIT 1 - ограничивает выборку одним элементом, иже если брать пример выше - из выборки 10, 9, 8... будет выбран только элемент 10, который собстно и есть самый последний.

Спустя 5 минут, 28 секунд (9.02.2009 - 18:25) stepan написал(а):
Цитата
SELECT * FROM jos_datsogallery ORDER BY id DESC LIMIT 1
отлично буду теперь занать что есть встроенная функция сортировки biggrin.gif

Спустя 26 минут, 10 секунд (9.02.2009 - 18:51) phz написал(а):
Что-то у меня не получается, запутался совсем.. Не получается вывести из таблицы jos_datsogallery последние поля id и imgthumbname как правильно составить запрос подскажите.

Спустя 1 час, 37 минут, 47 секунд (9.02.2009 - 20:29) LoneCat написал(а):
PHP
mysql_connect(localhost,foto,1234);
mysql_select_db(foto);
$result mysql_query ("SELECT id, imgthumbname FROM jos_datsogallery ORDER BY id DESC LIMIT 1");
list(
$id$name) = mysql_fetch_row($result);

Спустя 2 часа, 11 минут, 7 секунд (9.02.2009 - 22:40) phz написал(а):
Выводит ошибку: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /www/kot/public_html/5555.php on line 11

Подскажите проблему.

PHP
<?

$server    '10.10.1.3';
$user      '111';
$password  '111';
$base      '111';

mysql_connect($server,$user,$password);
mysql_select_db($base);
$result mysql_query ("SELECT id, news_title FROM e107_news ORDER BY id DESC LIMIT 1");
list(
$id$name) = mysql_fetch_row($result);
echo 
"$id и $name";

Спустя 38 минут, 51 секунда (9.02.2009 - 23:18) phz написал(а):
Подскажите, вот опять эта ошибка: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/kot/public_html/5555.php on line 18

PHP
<?php
$hostname
="localhost";
$username="111";
$password="222";
$dbName="333";
$tablesname="e107_news";
 
$link=mysql_connect($hostname$username$password) or die("Не могу создать соединение");
mysql_select_db("$dbName"$link) or die("Не могу выбрать базу данных");
mysql_query("SET NAMES cp1251");
$query="SELECT * FROM $e107_news ORDER BY RAND() LIMIT 1";
$result=mysql_query ($query);
while (
$Row mysql_fetch_array ($result)) {
echo 
"$Row[id]<br />\n";
echo 
"$Row[news_title]\n";
}
mysql_close($link);

Спустя 15 минут, 5 секунд (9.02.2009 - 23:34) kirik написал(а):
phz, поменяй
PHP
$result=mysql_query ($query);
на
PHP
$result=mysql_query ($query) or exit('Тут лажа закралась - '.mysql_error());
.
А переменная $e107_news определена до запроса?

Спустя 7 минут, 6 секунд (9.02.2009 - 23:41) phz написал(а):
После этого появилась ошибка:

Тут лажа закралась - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY RAND() LIMIT 1' at line 1

Спустя 10 минут, 32 секунды (9.02.2009 - 23:51) kirik написал(а):
Окей..
А exit("SELECT * FROM $e107_news ORDER BY RAND() LIMIT 1"); чего покажет?

Спустя 6 минут, 19 секунд (9.02.2009 - 23:58) phz написал(а):
Если я правильно вставил, то показало SELECT * FROM ORDER BY RAND() LIMIT 1

PHP
<?php
$hostname
="localhost";
$username="к";
$password="к";
$dbName="к";
$tablesname="e107_news";
 
$link=mysql_connect($hostname$username$password) or die("Не могу создать соединение");
mysql_select_db("$dbName"$link) or die("Не могу выбрать базу данных");
mysql_query("SET NAMES cp1251");
exit(
"SELECT * FROM $e107_news ORDER BY RAND() LIMIT 1");
$result=mysql_query ($query) or exit('Тут лажа закралась - '.mysql_error());


while (
$Row mysql_fetch_array ($result)) {
echo 
"$Row[id]<br />\n";
echo 
"$Row[news_title]\n";
}
mysql_close($link);

Спустя 4 минуты, 19 секунд (10.02.2009 - 00:02) kirik написал(а):
Цитата (phz @ 9.02.2009 - 15:58)
Если я правильно вставил, то показало SELECT * FROM ORDER BY RAND() LIMIT 1

Правильно smile.gif Где название таблицы? У тебя переменная $e107_news не определена.
Поменяй в запросе $e107_news на $tablesname, если я все верно понимаю smile.gif

Спустя 10 минут, 18 секунд (10.02.2009 - 00:12) phz написал(а):
Спасибо большое за помощь. А вот с этим не как получается:

PHP
<?

$server    = '10.10.1.3';
$user      = '111';
$password  = '111';
$base      = '111';

mysql_connect($server,$user,$password);
mysql_select_db($base);
$result = mysql_query ("SELECT id, news_title FROM e107_news ORDER BY id DESC LIMIT 1");
list(
$id, $name) = mysql_fetch_row($result);
echo "$id и $name";


Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /www/kot/public_html/s.php on line 14

Спустя 12 минут, 43 секунды (10.02.2009 - 00:25) kirik написал(а):
phz, попробуй то же самое провернуть -
это
PHP
$result mysql_query ("SELECT id, news_title FROM e107_news ORDER BY id DESC LIMIT 1");

поменять на это
PHP
$result mysql_query ("SELECT id, news_title FROM e107_news ORDER BY id DESC LIMIT 1") or exit('Тут лажа закралась - '.mysql_error());

Спустя 7 минут, 4 секунды (10.02.2009 - 00:32) phz написал(а):
Всё заработало. Я очень благодарен за вашу помощь. Сейчас буду разбираться во всех ошибках. Очень здорово, что есть такие люди как вы!

Спустя 10 часов, 13 минут, 54 секунды (10.02.2009 - 10:46) phz написал(а):
Подскажите пожалуйста, как уменьшить кол-во букв в названии. Сильно длинные название бывают, и они ломают таблицу. Вот код:

PHP
mysql_connect(localhost,111,111);
mysql_select_db(111);
mysql_query("SET NAMES cp1251");
$result mysql_query ("SELECT id, title FROM dle_post ORDER BY id DESC LIMIT 2") or exit('Ошибки нет - '.mysql_error());
list(
$id$name) = mysql_fetch_row($result);
echo 
"<br>Музыка: <a href='http://сайт.ua/index.php?newsid=$id' title='$name'>$name</a>";

Спустя 3 минуты, 18 секунд (10.02.2009 - 10:49) kirik написал(а):
Поменяй запрос таким образом -
SQL
SELECT id, SUBSTRING(title,1,20) FROM....

где 20 - длина выводимой строки.

И это.. smile.gif
PHP
or exit('Ошибки нет - '.mysql_error())

Когда выполняется этот кусок, то ошибка есть, и тут mysql_error() идет ее описание smile.gif

UPD только в твоем случае лучше обрезать с помощью ПХП, тоесть чтобы title у ссылки оставался полный. Запрос не меняй тогда, а вот это
PHP
"<a href='http://сайт.ua/index.php?newsid=$id' title='$name'>$name</a>"

замени на
PHP
"<a href='http://сайт.ua/index.php?newsid=$id' title='$name'>".substr($name, 0, 20)."</a>"

где 20 - длина строки.

Спустя 5 минут, 23 секунды (10.02.2009 - 10:55) phz написал(а):
Большое спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.