Проблема с бд

Статус
В этой теме нельзя размещать новые ответы.
Не нужно из 1, 3 делать 1, 2
Ну и где пояснение этого поста??


ЗЫ у меня тогда весь вывод новостей нарушается и ссылки в новостях путаюстя, да и вообще, обоснуй.

Добавлено через 9 минут
Делай так:
PHP:
mysql_query("ALTER TABLE `table` ORDER BY `id`");

Не помогло..., может быть потому что у меня id не примари кей?
 
у меня тогда весь вывод новостей нарушается и ссылки в новостях путаюстя, да и вообще, обоснуй.
Вообще, код в студию. Совет: не надо завязывать ничего на айдишники, они нужны как праймари кей и не более.
Вообще UPDATE должен изменять айдишник, но нагрузка на базу от такого цикла апдейтов будет довольно-таки большой, потому этого делать не рекомендуется крайне.
имхо проще переписать скрипт ленты, чем такую надстройку делать ради банального удаления
 
Не помогло..., может быть потому что у меня id не примари кей?
Вообще, в данном запросе вместо id должно стоять поле, по которому у тебя ордерятся новости. Чаще всего это именно id, потому что по юникс-штампу ордерить не особо удобно, а со всем остальным могут возникнуть проблемы.

Как вариант тебе - переписать новостную ленту, т.к. по id прекрасно новости вытягиваются. Может просто у тебя код кривой? В студию.
 
Вывод:
PHP:
<?
include ('mysql_connect.inc');
if(mysql_select_db($db_name))
{
$zus=mysql_query("SELECT * FROM news ORDER BY date DESC");
@$rows=mysql_num_rows($zus)+1;
echo "<center>Страницы: 1</center><br>";
while(@$zal=mysql_fetch_array($zus))

{
	$rows--;
	$ell=mysql_query("SELECT * FROM comments WHERE idd=\"$rows\"");
    $all=mysql_num_rows($ell);
	echo  "<br><h3>$zal[tittle]</h3><p>$zal[soderjanie]
           </p><br><hr><table cellpadding=0 cellspacing=0>
           <tr><td>Дата: $zal[date]</td><td> Добавил: 
           <a href=_http://example.ru/users.php?id=$zal[author]>
            $zal[author]</a></td><td><a href=_http://example.ru/news.php?id=$rows>
            Комментариев: $all</a></td></tr></table><br><br>";
}
}

?>

Соответственно после удаления новости, ссылки на отдельный просмотр перебиваются...

Добавление:
PHP:
<?
$moth=date('m');
$date=date('d.m.Y - H:i');
$comments="0";
$prosmotrov="0";

if(mysql_select_db($db_name))
{
	
	$s="CREATE TABLE news(id INT(10), tittle VARCHAR(100) NOT NULL, soderjanie VARCHAR(1000) NOT NULL, fullsoderjanie VARCHAR(1000) NOT NULL, cathegory VARCHAR(100) NOT NULL, author VARCHAR(255) NOT NULL, comments INT(10) NOT NULL, prosmotrov INT(20) NOT NULL, moth VARCHAR(20) NOT NULL, date VARCHAR(100) NOT NULL)";
}
if(mysql_query($s));
{
	if($_GET[news]=="add")
	{
		if(isset($_POST['tittle']) && isset($_POST['soderjanie']) && isset($_POST['fullsoderjanie']) && isset($_POST['cathegory']) && isset($_POST['author']))

	{
						$tittle=$_POST['tittle'];
						$soderjanie=$_POST['soderjanie'];
						$fullsoderjanie=$_POST['fullsoderjanie'];
						$cathegory=$_POST['cathegory'];
						$author=$_POST['author'];
                        $imgg=$_POST['img'];
						$zuss=mysql_query("SELECT * FROM news");
						if(mysql_num_rows($zuss)==0)
	                     	
							$ida=1; 
							else 
						    $ida=mysql_num_rows($zuss)+1;
							
                        $zall=mysql_fetch_array($zuss);

												$d="INSERT INTO news(id, tittle, soderjanie, fullsoderjanie, cathegory,  author, comments, prosmotrov, moth, date) values ('$ida', '$tittle', '$soderjanie', '$fullsoderjanie', '$cathegory',  '$author', '$comments', '$prosmotrov', '$moth', '$date')" ;
}


				         {
                            if(mysql_query($d) or die(mysql_error()));

echo "Новость добавлена";
echo "<script language='Javascript'>function reload() {location = 'add_news.php'}; setTimeout('reload()', 1500);</script>";
						 }
			  }
}
?>

P:S: сильно не бейте=), пхп изучаю не так долго
 
Для чего нужен автоинкремент id? Для уникальной идентификации элемента в базе данных. Если для новости в URL id 2, то, выбирая его, мы всегда попадаем на одну и ту же новость. Если id изменился, значит это другая новость.

Пропущенные id никак не влияют на формирование ссылок, если брать id из базы данных, а не клеить свою ахинею. Смысла $rows в вашем коде я не вижу.
 
Для чего нужен автоинкремент id? Для уникальной идентификации элемента в базе данных. Если для новости в URL id 2, то, выбирая его, мы всегда попадаем на одну и ту же новость. Если id изменился, значит это другая новость.

Пропущенные id никак не влияют на формирование ссылок, если брать id из базы данных, а не клеить свою ахинею. Смысла $rows в вашем коде я не вижу.
Я вообще уже давно перешел на алиасное формирование ссылок, это по крайней мере удобнее :) .
 
Пусть SoulJas для начала разберётся со стандартным подходом.

В любом случае элиасы выполняют роль уникальных идентификаторов. :)
 
Пусть SoulJas для начала разберётся со стандартным подходом.

В любом случае элиасы выполняют роль уникальных идентификаторов. :)
Согласен :). По большей части они помогают при большом количестве контента - уменьшается количество требуемых параметров для запроса :) .
 
Мне ваэно было чтобы небыло пропусков в ссылках например с ид 1 сразу на ид 3, да и поправить ссылки невопрос, вот проблема собственно в обнулении ид, но впрочем это уже не важно )
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху