|
|
|
| Вобщем я не знаю как узнать максимальное число столбца id? | |
|
|
|
|
|
|
|
для: dream-x
(23.08.2008 в 23:56)
| | Так максимальный id или количество строк? | |
|
|
|
|
|
|
|
для: dream-x
(23.08.2008 в 23:56)
| | >Вобщем я не знаю как узнать максимальное число столбца id?
в теме совсем другой вопрос.
Сколько строк в таблице выясняется с помощью SELECT COUNT(*) FROM tbl
А максимальное значение первичного ключа Вам в подавляющем большинстве случаев знать не нужно, а то и вовсе вредно.
Только что добавленный ключ выясняется путем вызова mysql_insert_id() в php (или LAST_INSERT_ID() в MySQL) | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 00:02)
| | Ну вот смотрите у меня добавляются статьи в таблицу а чтобы их вывести мне нужно узнать максимальное значение столбца id чтобы это максимальное значение передать циклу. | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 00:33)
| | Максимальное - не нужно. Ряд ключей вовсе не обязан быть непрерывным.
А пройтись по всему набору данных Вы можете и не зная максимального значения ключа. | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 00:38)
| | ну а как же мне тогда выводить текст. Мне нужно узнать по id количество статей и сделать цикл по нему и вывести их. | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 00:39)
| | Количество статей узнается не по id. Значение id - это не нумератор. Это лишь ключ для доступа к строке таблицы.
Давайте уж пример кода чтоли... | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 00:42)
| | ну я изучаю mysql вот и пытаюсь разобраться... а код какой показать? | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 00:45)
| | который будет таблицу выводить. | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 00:49)
| |
$story_sql = "select * from stories
where id = $i";
$story_result = $handle->query($story_sql);
if ($story_result->num_rows)
{
$story = $story_result->fetch_assoc();
echo "<div align='center'><h2>{$story['headline']}</h2></div><br/>
{$story['story_text']}
</div>
";
}
|
| |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 00:50)
| |
<?
$story_sql = "select * from stories order by id"
$story_result = $handle->query($story_sql);
while(($story = $story_result->fetch_assoc() ) != 0)
echo "<div align='center'><h2>{$story['headline']}</h2></div><br/>
{$story['story_text']}
</div>
";
|
| |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 00:53)
| |
$story_sql = "select * from stories order by id";
$story_result = $handle->query($story_sql);
while(($story = $story_result->fetch_assoc() ) != 0)
echo "{$story['headline']}
<p align='right' class='morelink'>
<a href='news_one_one.php?id=$i'>
Читать дальше...
</a>
</p>
</div>
<hr/> ";
|
вот смотрите чтобы мне оперделить впринципе я могу переменную $i каждый раз инкременировать $i = $i++; вот. Но я щас попробовал и всеравно не получается,
и второй вопрос тогда как мне сделать чтобы статьи выводились в обратном порядке когда я делал с for то там все понятно. | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 01:01)
| | >вот смотрите чтобы мне оперделить впринципе я могу переменную $i каждый раз инкременировать $i = $i++;
не можете.
То есть, просто переменную $i вы можете инкрементировать сколько хотите. К примеру так:
<?
$story_sql = "select * from stories order by id";
$story_result = $handle->query($story_sql);
for($i = 1; ($story = $story_result->fetch_assoc() ) != 0; $i++)
echo "$i. {$story['headline']}
<p align='right' class='morelink'>
<a href='news_one_one.php?id=$i'>
Читать дальше...
</a>
</p>
</div>
<hr/> ";
|
Только не вздумайте в нее засовывать значение первичного ключа.
id - хоть и число, но что-либо добавлять к нему нельзя. Выражения id+1 и id-1 не несут никакого физического смысла.
Это всё равно как пытаться инкрементировать номер телефона. Или номер паспорта. | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 01:01)
| | Чтобы выводить записи в обратном порядке нужно всего лишь указать этот обратный порядок в SQL-запросе.
SELECT * FROM stories ORDER BY id DESC | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:10)
| | Ага спасибо огромное я просто знал о вуыс но почему то думал что она выводит только последнюю добавленную статью (это я практировался). Вот извините меня но могу ли я задать еще 1 вопрос т.к. непойму почему у меня было 10 статей нумеровались от 1 до 10 а теперь я удалил 1,3,7,4,9 статью и у меня в таблице остались номера какие бли им присвоены когда были все 10 новостей. т.е.2,5,6,8,10, а вопрос такой как мне сбросить чтоли нумерацию или просто перезаписать их?
Вот еще вопрос созрел :) мне всеравно надо же считывать id т.к. чтобы полностью прочитать статью надо знать id. | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 01:19)
| | Вы читать умеете?
id это не нумератор!
Я уже пятый раз Вам эту простую мысль пытаюсь вдолбить в голову.
Его нельзя увеличивать, уменьшать, и от него глупо ожидать, что он окажется последовательным рядом чисел!
Хотите нумеровать записи - нумеруйте их сами при выводе, как я показал это в посте (24.08.2008 в 01:08) . Не приплетайте сюда id!
UPD. Считывать id , печатать его (не как номер, а как ключ) , указывать в ссылках на связанные страницы (или в hidden-полях форм) Вам никто не запрещает. Это к вопросу о том, что его надо знать, чтобы прочитать статью. Да, надо. Но лишь для этого. А не для того, чтобы его менять туда-сюда. | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:26)
| | тогда как еще мне связать статью и ссылку на нее? я просто хотел id связать со статьей мне просто казалось так удобнее. | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 01:34)
| |
<?
echo "<a href=\"letter.php?id={$story['id']}\" >... </a>"
|
id - это первичный ключ. И поэтому здесь (в качестве ключа доступа) применение id абсолютно оправдано. | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:37)
| | Спасибо вам большое за подробное объяснение и понятные примеры. И всеже последний вопрос как мне сбросить нумерацию в таблице а то чепуха получается,
--у меня было 10 статей нумеровались от 1 до 10 а теперь я удалил 1,3,7,4,9 статью и у меня в таблице остались номера какие бли им присвоены когда были все 10 новостей. т.е.2,5,6,8,10, а вопрос такой как мне сбросить чтоли нумерацию или просто перезаписать их? | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:37)
| | Спасибо вам большое за подробное объяснение и понятные примеры. И всеже последний вопрос как мне сбросить нумерацию в таблице а то чепуха получается,
--у меня было 10 статей нумеровались от 1 до 10 а теперь я удалил 1,3,7,4,9 статью и у меня в таблице остались номера какие бли им присвоены когда были все 10 новостей. т.е.2,5,6,8,10, а вопрос такой как мне сбросить чтоли нумерацию или просто перезаписать их? | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 01:43)
| | не следует с ними ничего делать.
Блин, ну я же привел пример с паспортами!
Ну представьте себе, идете Вы получать паспорт втроем с приятелями.
Вы получаете последним.
Потом у приятеля паспорт крадут.
Он пишет заявление. Его паспорт аннулируют.
Вам что теперь номер в своем паспорте менять?! | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:45)
| | :) спасибо еще раз все объяснили теперь дальше читать буду книжки... | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:45)
| | >Ну представьте себе, идете Вы получать паспорт втроем с приятелями.
>Вы получаете последним.
>Потом у приятеля паспорт крадут.
>Он пишет заявление. Его паспорт аннулируют.
>Вам что теперь номер в своем паспорте менять?!
так а чё норм UPDATE pasports SET pasport_id = pasport_id-1 WHERE pasport_id >= stolen_id-1
:D | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:26)
| | т.е. при добавлении статьи мне надо записывать id это й статьи а потом просто делать ссылку уже вписанной туда ключом чтобы не перебирать его а чтобы он был привязан к статье? | |
|
|
|
|
|
|
|
для: dream-x
(24.08.2008 в 01:39)
| | Если Вам требуется узнать id непосредственно только что добавленной строки таблицы, Вы можете получить его с помощью функции mysql_insert_id() - я написал об этом в первом посте. | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2008 в 01:43)
| | это понятно. Еще раз спасибо очень вам благодарен, но значения поля id ненадо менять получается. | |
|
|
|