|
|
|
|
|
для: GeorgeIV
(09.07.2009 в 21:54)
| | Такое ощущение, что вы думаете - это я так id обрабатываю. Читайте внимательнее!
А так, Во всем с вами полностью согласен :)
Может был немножко резковат в комментах просто настроение никакое.
Классный форум нашел, пока искал ответы на свой вопрос(правда так и не нашел).
Как-нибудь еще загляну. | |
|
|
|
|
|
|
|
для: tvv123456
(09.07.2009 в 21:30)
| | Улыбнуло, посмотрев Ваш суперпрофессиональный сайт, особенно дергающееся меню.
А насчет индексов Вы заблуждаетесь. Индексы ускоряют выборку и ничего более. Можно успешно работать и без них, особенно если в таблицу много пишется, и только изредка читается, ибо индекс перестраивается при каждой вставке. | |
|
|
|
|
|
|
|
для: GeorgeIV
(09.07.2009 в 20:27)
| | Дак я об этом и говорю!!! Зачем вообще таким способом обрабатывать id! Ну раз человеку захотелось именно так вот я и привел ему более менее приличный пример, можно и limit можно и MAX(id), но все равно как ни крути место такому способу обработки индекса в мусорном баке! Думаю в этом вы со мной согласитесь?
У меня на хосте например, если не создашь нормальный индекс в БД, то сразу высвечивается замечание. | |
|
|
|
|
|
|
|
для: GeorgeIV
(09.07.2009 в 20:27)
| | LIMIT 1 использовать не позволяет вера. А в запросе напрашивается SELECT MAX(id) . В том гипотетическом варианте, когда нужен MAX(id) . :) | |
|
|
|
|
|
|
|
для: tvv123456
(09.07.2009 в 19:02)
| | Не совсем. Если требуется ОДНА запись, зачем тянуть ВСЕ? Использовать LIMIT 1 вера не позволяет?
К тому же вытаскивать ID из базы , чтобы вставить на 1 больший - это не верный подход. Одновременно могут быть два и более запроса, прочиавших один и тот же ID, и затем попытающихся записать снова один и тот же ID. Автоинкеремнтные поля не от лени придумывались. | |
|
|
|
|
|
|
|
для: Trianon
(05.07.2009 в 12:59)
| | Блин я не на этот коммент отвечал а на тот который выше, где говорилось о первичном ключе и auto_incriment только еще желательно тип поля интаджер(INT) выставить
Полностью согласен!
Revival1002, Накой хрен вы так обрабатываете поле id? Это чистой воды ламерство! И о каком программировании может идти речь если вы не можете отличить присвоение от сравнения.
Если вы желаете мучаться и страдать ерундой, то делайте так как я описал ниже(где-то в саомом конце) но все-таки бросте это глупое дело и обратитесь к профессионалам ссылку дал в превом комменте(но вдруг вы не заметите http://www.phpsite.z4.ru/zakaz.php | |
|
|
|
|
|
|
|
для: neadekvat
(09.07.2009 в 02:56)
| | Ну что за ерунду вы тут творите, если уж хочеться изобрести велосипед, то делайте это хоть по уму
<?
$result = mysql_query("select id from news order by id desc",$db); // вытаскиваем все поля id из базы в обратном порядке(чтобы потом последнее поле захватить
if (!$result) //тут проверка прошел ли запрос
{
echo "<p>Возникла ошибка с базой данных. <strong>Сообщите администратору:****</strong></p>";
exit (mysql_error());
}
if(mysql_num_rows($result) > 0) // проверка вытащилось ли хоть 1 строчка из базы
{
$myrow = mysql_fetch_array($result); //вытаскивается первая строка из $result Так как мы сортировали в по полю id по убыванию то и ниже $id получиться самая большая что есть в базе
$id = $myrow['id'];
$id++; // вот и все
$result = mysql_query("INSERT INTO news (id,title,desсriрtion,text) VALUES
('$id','$title','$desсriрtion','$text')",$db); // тут у вас скорей всего ошибка в том что нет подходящих полей в таблице news
if($result == true)//проверка успешности добавления информации
{exit("Все ок информация добавилась");} else {exit("Не обновилось, произошла ошибка!");}
}
?>
|
К тому же mysql поддерживает собственный индекс, а так как вы никто не делает
И вообще,Revival1002, судя по всему вам еще рановато заниматься практикой, нужно сначала изучить теорию.
Если хотите обновить скрипт сайта или доработать его, то вот вам адрес, там вам помогут практически за копейки : http://www.phpsite.z4.ru/zakaz.php - тут есть и форум где вы можете оставить вопрос администратору и вам дадут профессиональную консультацию.
_______________________________
НУ КАК КРАСИВО ПОЛУЧИЛОСЬ? | |
|
|
|
|
|
|
|
для: neadekvat
(09.07.2009 в 02:56)
| | Не "записей нет" а "запрос не был выполнен" | |
|
|
|
|
|
|
|
для: Keyses
(08.07.2009 в 19:34)
| |
<?php
$title=$_POST['title'];
$desсriрtion=$_POST['desсriрtion'];
$text=$_POST['text'];
$db=mysql_connect('localhost', 'root', '');
mysql_select_db('rss', $db);
$ids = mysql_query("SELECT id FROM news ", $db);
if ($ids == 0) {
echo 'Записей нет';
} else {
$id = mysql_result($ids);
$id++;
mysql_query("INSERT INTO news (id,title,desсriрtion,text)VALUES ('$id','$title','$desсriрtion','$text')",$db);
}
mysql_close($db);
?>
|
По-моему, что-то такое должно быть.
Но вообще, то, что вы тут крутите - такие сомнительные действия… | |
|
|
|
|
|
|
|
для: Revival1002
(08.07.2009 в 18:17)
| | Да, дружище ты совершенно прав! Просто программирование - это такая штука, как погода, то работает то нет.
Если потанцевать с бубном вокруг компьютера, то возможно и заработает ;)
Под фразой "потанцевать с бубном вокруг компьютера" имелось ввиду почитать литературу по корректному построению БД (Trianon (05.07.2009 в 12:59)). Ну и немного непонятно как можно кодить без знания оператора присваивания в PHP? | |
|
|
|
|