public function get_id()
{
$this->admin_connect_bd();
$result=mysql_query('SELECT id FROM photo');
if ($result)
{
while($row=mysql_fetch_array($result))
{
$id_photo=$row['id'];
}
}
return $id_photo;//пишет Undefined variable: id_photo
}
вот вторая функция:
public function set_id()
{
$this->get_id();
}
пишет Undefined variable: id_photo,подскажите пожалуйста...
Спустя 10 минут, 26 секунд (26.01.2012 - 23:10) neadekvat написал(а):
Уже 10 сообщений, а код оформлять не научились.
И что непонятно то? Нет такой переменной.
И что непонятно то? Нет такой переменной.
Спустя 1 минута, 10 секунд (26.01.2012 - 23:11) inpost написал(а):
Oggy
mysql_query() or die(mysql_error());
mysql_query() or die(mysql_error());
Спустя 7 минут, 3 секунды (26.01.2012 - 23:18) neadekvat написал(а):
inpost, да ты посмотри, тут уже ООП! Офигеть.
И еще.. в базе, быть может, тупо нет записей.
И еще.. в базе, быть может, тупо нет записей.
Спустя 2 минуты, 31 секунда (26.01.2012 - 23:21) Oggy написал(а):
Цитата (neadekvat @ 26.01.2012 - 20:10) |
Уже 10 сообщений, а код оформлять не научились. И что непонятно то? Нет такой переменной. |
почему нет такой переменной?Я ведь присвоил ей запись з базы..
в таблици есть записи
Спустя 1 минута, 7 секунд (26.01.2012 - 23:22) inpost написал(а):
Потому что условие не прошло, зачем лезть в ООП, не разобравшись с базой?
Спустя 35 секунд (26.01.2012 - 23:22) neadekvat написал(а):
Цитата (Oggy @ 27.01.2012 - 00:21) |
в таблици есть записи |
Значит,
Цитата (inpost @ 27.01.2012 - 00:11) |
mysql_query() or die(mysql_error()); |
Цитата (Oggy @ 27.01.2012 - 00:21) |
Я ведь присвоил ей запись з базы.. |
Последней записи, да. А если их там 1000? К чему там цикл, если используется значение только последней строки в выборке?
Спустя 29 секунд (26.01.2012 - 23:23) Oggy написал(а):
Цитата (inpost @ 26.01.2012 - 20:11) |
Oggy mysql_query() or die(mysql_error()); |
я думал в ответе за ето ЕТО)
$this->admin_connect_bd();
детальней:
public function admin_connect_bd()
{
$DBSERVER = "localhost";
$DBUSER = "root";
$DBPASS = "";
$DB = "sait";
$link = mysql_connect("$DBSERVER", "$DBUSER", "$DBPASS")
or die("Could not connect: " . mysql_error());
mysql_select_db($DB, $link) or die ('error');
$this->utf();
}
Спустя 57 секунд (26.01.2012 - 23:24) neadekvat написал(а):
Oggy, это отвечает за коннект. А ты еще запрос делаешь, проверь запрос так, как выше показал inpost.
Спустя 23 минуты, 8 секунд (26.01.2012 - 23:47) Rand написал(а):
Странный код. Выбираются все записи из таблицы photo. Потом в цикле идентификаторы каждой записи присваивается одной переменной $id_photo. При таком раскладе в переменной $id_photo всегда будет лежать id только последней записи. Если выбирается только одна запись, тогда цикл не нужен.
Здесь измени, как сказал inpost, чтобы увидеть ошибку (Может таблицы photo не существует, мало-ли, может русскую букву `о` написал случайно):
if ($result)Вместо $result лучше написать mysql_num_rows > 0. Выше строчкой (перед if) напиши $id_photo = null; Или в return это:
return isset($id_photo) ? $id_photo : null;
Здесь измени, как сказал inpost, чтобы увидеть ошибку (Может таблицы photo не существует, мало-ли, может русскую букву `о` написал случайно):
$result=mysql_query('SELECT id FROM photo') or die(mysq_error());
Спустя 1 минута, 59 секунд (26.01.2012 - 23:49) neadekvat написал(а):
Цитата (Rand @ 27.01.2012 - 00:47) |
Потом в цикле идентификаторы каждой записи |
Ты не можешь с полной уверенностью заявлять об этом.
Не надо о "принятно", ок? Будем говорить по факту.
Спустя 4 минуты, 40 секунд (26.01.2012 - 23:53) Oggy написал(а):

но зато узнал много нового
спасибо
Спустя 3 минуты, 22 секунды (26.01.2012 - 23:57) Rand написал(а):
Цитата (Rand @ 27.01.2012 - 02:47) |
Ты не можешь с полной уверенностью заявлять об этом. |
Почему? Не вижу других вариантов.
Спустя 12 минут, 13 секунд (27.01.2012 - 00:09) neadekvat написал(а):
Цитата (Rand @ 27.01.2012 - 00:57) |
Почему? Не вижу других вариантов. |
Нет, ты не видишь, что это идентификатор. Ты видишь только то, что в таблице должно быть такое поле, и не более того.
Спустя 29 минут, 28 секунд (27.01.2012 - 00:38) Rand написал(а):
Пффф... Делать мне больше нечего для общего случая, учитывать особый. Я с человеком общаюсь, а не с машиной, даже если там не идентификатор - сути это не меняет. Но если ты НАСТОЛЬКО придирчив к словам, ок, с тобой буду по другому.
Спустя 3 минуты, 23 секунды (27.01.2012 - 00:42) Winston написал(а):
Свернутый текст
Цитата (Rand @ 26.01.2012 - 23:38) |
Но если ты НАСТОЛЬКО придирчив к словам |
А еще к грамматике. Потому проверяй свои посты на содержание ошибок в Word'е


Спустя 1 минута, 54 секунды (27.01.2012 - 00:44) neadekvat написал(а):
Цитата (Rand @ 27.01.2012 - 01:38) |
Делать мне больше нечего для общего случая, учитывать особый |
Он не особый. Взгляни на таблицы движков. Там этих id и его вариаций - вагон и маленькая тачка. Все идентификаторы строки? Нет, не все. А те, что идентификаторы - какой именно строки?
Цитата (Rand @ 27.01.2012 - 01:38) |
Я с человеком общаюсь, а не с машиной. |
Причем тут общение? Мы говорим о программном продукте, поэтому должны вести себя как программисты, а не как хомячки на прогулке. Я бы не смог помочь многим, и на этом форуме в частности, если бы постоянно принимал видимое за то, что "как бы вроде бы где-то считается общим случаем".
Как пишется "база данных" в сокращенном варианте по-английски? db. А у автора - bd. О каких "общих случаях" мы говорим?
Цитата (Rand @ 27.01.2012 - 01:38) |
с тобой буду по другому. |
По-другому через дефис пишется.
Спустя 28 минут, 49 секунд (27.01.2012 - 01:13) Rand написал(а):
neadekvat
Не надо своё восприятие перекладывать на других. Меня поняли - это самое главное. Если бы не поняли - переспросили бы. Речь шла об алгоритме - название поля здесь не имеет никакого значения. Единственная проблема - это то, что такое вольное название поля может потревожить некоторых тонких натур. Но это их проблема, задача решена - все счастливы. А тонкие натуры пусть занимаются педагогикой в учебных заведениях, пишут докторские диссертации и не мучают обычных людей своим необычным умом.
Не надо своё восприятие перекладывать на других. Меня поняли - это самое главное. Если бы не поняли - переспросили бы. Речь шла об алгоритме - название поля здесь не имеет никакого значения. Единственная проблема - это то, что такое вольное название поля может потревожить некоторых тонких натур. Но это их проблема, задача решена - все счастливы. А тонкие натуры пусть занимаются педагогикой в учебных заведениях, пишут докторские диссертации и не мучают обычных людей своим необычным умом.
Спустя 5 минут, 36 секунд (27.01.2012 - 01:18) neadekvat написал(а):
Rand, не надо строить из себя обиженного и правого.
Я пытаюсь до тебя донести информацию о том, что программист должен критично смотреть на код, запросы и вообще все, что связано с программным продуктом. И не важно, имеет это значение в данном контексте, или не имеет - это должно происходить автоматически.
Я пытаюсь до тебя донести информацию о том, что программист должен критично смотреть на код, запросы и вообще все, что связано с программным продуктом. И не важно, имеет это значение в данном контексте, или не имеет - это должно происходить автоматически.
Спустя 46 минут, 41 секунда (27.01.2012 - 02:05) Rand написал(а):
neadekvat
Во первых, я не обижен, я раздражен. Во вторых, посыл я прекрасно понимаю, но меня возмущает вот это:
Во первых, я не обижен, я раздражен. Во вторых, посыл я прекрасно понимаю, но меня возмущает вот это:
Цитата |
программист должен |
Чье это мнение? Твое. Я же придерживаюсь другой идеологии - "Никто никому ничего не должен" и стремлюсь только к одному - "Результат достигнут и в полной мере удовлетворяет поставленную задачу".
Отвечая на вопрос по коду я исхожу из эффективности алгоритма, по скольку "писать эффективные алгоритмы" - это именно то, к чему должен стремитсяпрограммист я, а вовсе не то, каким словом программист я назвал поле. Я хотел бы, чтобы моё восприятие нашло отклик в других программистах, как и ты, хотел бы, чтобы твоими идеалами мыслили другие. Но! Никто никому ничего не должен. Это всё равно, что холивары по типу "Готовое" vs "Велосипед" - насаждать людям своё мнение абсолютно бессмысленное и неблагодарное занятие. Каждый должен решать сам. Как жить, как работать, как говорить, ругаться ли матом, курить ли, пить ли, заниматься ли спортом. Каждый решает сам. Аминь.
Отвечая на вопрос по коду я исхожу из эффективности алгоритма, по скольку "писать эффективные алгоритмы" - это именно то, к чему должен стремится
Спустя 8 минут, 12 секунд (27.01.2012 - 02:13) neadekvat написал(а):
Цитата (Rand @ 27.01.2012 - 03:05) |
Во первых |
Цитата (Rand @ 27.01.2012 - 03:05) |
Во вторых |
Через дефис. Пора запомнить.
Цитата (Rand @ 27.01.2012 - 03:05) |
Чье это мнение? Твое. |
Мнение о чем? Нельзя же так выдерать из контекста. Я не могу запомнить дословно, где и что я писал.
Считай, что мое мнение основано на представлении о том, какой на меня должен работать программист. Кроме того, это представление основано на опыте и наблюдениях.
Неужели ты еще ни разу не обжигался, когда расценивал что-то, исходя из общепринятых форматов, а на поверке оказывалось, что тут таки свой велосипед нагорожен?
Спустя 19 минут, 12 секунд (27.01.2012 - 02:32) Rand написал(а):
Цитата (Rand @ 27.01.2012 - 05:05) |
Через дефис. Пора запомнить. |
Ну вот опять. Зачем это писать на форуме программистов? Разве я просил тебя учить меня этому? Это было бы уместно на форуме русского языка, куда бы я пришел подтянуть грамматику, а здесь я для того, чтобы разговаривать о PHP. Если мой русский на столько плох, что большинству пользователей тяжело меня читать, то пусть меня забанят модераторы. То, что тебе это режет глаз - твои проблемы, а меня мой уровень правописания устраивает.
Цитата (neadekvat @ 27.01.2012 - 05:13) |
Мнение о чем? Нельзя же так выдерать из контекста. Я не могу запомнить дословно, где и что я писал. |
Например:
Цитата (Winston @ 27.01.2012 - 03:42) |
Мы говорим о программном продукте, поэтому должны вести себя как программисты, а не как хомячки на прогулке |
Цитата (Rand @ 27.01.2012 - 04:13) |
программист должен критично смотреть на код, запросы и вообще все, что связано с программным продуктом |
Цитата (neadekvat @ 27.01.2012 - 05:13) |
Считай, что мое мнение основано на представлении о том, какой на меня должен работать программист. |
Тогда тебе стоит создать тему в разделе вакансий, где ты будешь комментировать чужие посты и говорить что-то вроде: "Так, ты плохо выражаешь свои мысли, поэтому ты мне не подойдешь". Зачем это делать в теме, где решается определенная проблема?
Спустя 7 минут, 28 секунд (27.01.2012 - 02:40) neadekvat написал(а):
Цитата (Rand @ 27.01.2012 - 03:32) |
а меня мой уровень правописания устраивает. |
А меня нет. И я не намерен смотреть, как коверкают мой родной язык. Кстати,
Цитата (Rand @ 27.01.2012 - 03:32) |
на столько плох |
Настолько - слитно.
И вообще, "мы не на форуме русского языка", "ты не моя училка русского" - это все детский сад. Мысли ты так, как я тебе говорю на страницах этой темы, ты бы уже догадался, что мне подобные вещи говорили не раз, и повторять их - бессмысленное дело.
Цитата (Rand @ 27.01.2012 - 03:32) |
Зачем это делать в теме, где решается определенная проблема? |
Потому что это форум. А на форуме обсуждают не только четко заданную проблему - иначе пропадает вся суть форума, и весь этот процесс больше начинает напоминать техническую поддержку, а не коллектив, собравшийся для обсуждения.
Я понимаю, тебе неприятно, что тебя поправляют там, где ты хотел показать свои знания. Но, знаешь... Добро пожаловать в интернет.
Создай свой форум, с блэкджэком и шлюхами, пиши там стилем Упячки и бань всех, кто тебя исправляет - останешься только ты и кучка школоты. Зато будешь самым умным.
Спустя 19 минут, 25 секунд (27.01.2012 - 02:59) Rand написал(а):
Цитата (neadekvat @ 27.01.2012 - 05:40) |
повторять их - бессмысленное дело |
В сети интернет нельзя чему-то научить людей против их воли, это будет вызывать лишь агрессию, странно, что за столько времени ты до сих пор этого не понял и продолжаешь верить в "Великий смысл" этого занятия.
А что бессмысленно, так это продолжать разговор. Восприятие мира у нас слишком разное.
Цитата (neadekvat @ 27.01.2012 - 05:40) |
тебе неприятно, что тебя поправляют там, где ты хотел показать свои знания |
Ты перепутал меня с собой. Я ответил, чтобы помочь новичку, а вот ты, судя по всем постам, решил показать остроту своего ума.
Цитата (neadekvat @ 27.01.2012 - 05:40) |
Создай свой форум, с блэкджэком и шлюхами, пиши там стилем Упячки и бань всех, кто тебя исправляет - останешься только ты и кучка школоты. Зато будешь самым умным. |
И тебе того же. Мы здесь на равных правах.
Спустя 12 минут, 35 секунд (27.01.2012 - 03:12) neadekvat написал(а):
Цитата (Rand @ 27.01.2012 - 03:59) |
В сети интернет нельзя чему-то научить людей против их воли, это будет вызывать лишь агрессию, странно, что за столько времени ты до сих пор этого не понял и продолжаешь верить в "Великий смысл" этого занятия. |
Нет, не так.
В интернете можно игнорировать людей. Но судя по тому, что ты пишешь
Цитата (Rand @ 27.01.2012 - 03:59) |
бессмысленно [...] продолжать разговор |
и при этом его продолжаешь, игнорировать ты не научился.
Цитата (Rand @ 27.01.2012 - 03:59) |
это будет вызывать лишь агрессию |
А вот теперь ты судишь только по себе.
Реагировать агрессией на справедливое замечанеи - удел неуравновешенных личностей. Я бы не сказал, что в интернете все такие. Многие вполне спокойно воспринимают замечания, и в будущем стараются писать "во-первых" через дефис и говорить "звонит" с ударением на последний слог. Да-да, я поправляю людей не только в интернете.
Цитата (Rand @ 27.01.2012 - 03:59) |
Мы здесь на равных правах. |
Естественно, но меня здесь все устраивает. А тебя, видать, таки ущемляет, когда делают замечания - я и говорю, с этим либо смириться, либо закрыться в своем мирке.
Спустя 17 минут, 59 секунд (27.01.2012 - 03:30) Rand написал(а):
Цитата (neadekvat @ 27.01.2012 - 06:12) |
меня здесь все устраивает |
Я вижу, даже моё правописание тебя абсолютно устраивает.

Цитата (neadekvat @ 27.01.2012 - 06:12) |
ты судишь только по себе |
Каждый судит по себе, и ты в том числе, глупо это отрицать. Если ты просмотришь мои посты, то увидишь, что я почти не пишу во флейме и в темах не касающихся PHP. И я стараюсь реально помогать, а не разбрасываться фразами типа "да ты посмотри, тут уже ООП! Офигеть." - думаешь это умно с твоей стороны? И да, я подозреваю, что игнорировать ты не умеешь почти так же, как и я, поскольку отвечаешь на каждое мое сообщение, так вот, для меня оставить последние слово за собой абсолютно не важно - просто сейчас есть время и настроение. Но это мой последние пост в этой теме, можешь писать, что хочешь, я не отвечу, разговор закрыт.
Спустя 8 часов, 50 минут, 46 секунд (27.01.2012 - 12:20) Oggy написал(а):

Спустя 3 минуты, 38 секунд (27.01.2012 - 12:24) Oggy написал(а):
Цитата (Rand @ 26.01.2012 - 20:47) |
Странный код. Выбираются все записи из таблицы photo. Потом в цикле идентификаторы каждой записи присваивается одной переменной $id_photo. При таком раскладе в переменной $id_photo всегда будет лежать id только последней записи. Если выбирается только одна запись, тогда цикл не нужен.if ($result)Вместо $result лучше написать mysql_num_rows > 0. Выше строчкой (перед if) напиши $id_photo = null; Или в return это: return isset($id_photo) ? $id_photo : null; Здесь измени, как сказал inpost, чтобы увидеть ошибку (Может таблицы photo не существует, мало-ли, может русскую букву `о` написал случайно): $result=mysql_query('SELECT id FROM photo') or die(mysq_error()); |
да...так и получается...переменной присваивается последнее значение с цыкла.
Как переменной присвоить самоебольшое значение айди с таблици?
извените за ошибки.
//db-data base.
//bd-база данных.
Спустя 8 минут, 40 секунд (27.01.2012 - 12:33) Rand написал(а):
Я бы сделал так:
$result = mysql_query('SELECT MAX(`id`) FROM photo') or die(mysql_error());
if (mysql_num_rows($result) > 0)
{
return mysql_result($result, 0);
}
return false;
Спустя 31 минута, 52 секунды (27.01.2012 - 13:05) neadekvat написал(а):
Свернутый текст
Цитата (Oggy @ 27.01.2012 - 13:24) |
извените за ошибки. |
Самое смешное, что, не считая опечатки, ты допустил ошибку только в слове "извините"

Спустя 1 минута, 6 секунд (27.01.2012 - 13:06) Oggy написал(а):
Цитата (Rand @ 27.01.2012 - 09:33) |
Я бы сделал так:$result = mysql_query('SELECT MAX(`id`) FROM photo') or die(mysql_error()); |
спасибо огромное
Спустя 18 минут (27.01.2012 - 13:24) Oggy написал(а):
а как етот айдишгик увеличить на единицу?
вот так?
вот так?
$result = mysql_query('SELECT MAX(`id`) FROM photo') or die(mysql_error());
if (mysql_num_rows($result) > 0)
{
return mysql_result($result++, 0);//два плюса?
}
return false;
Спустя 22 минуты, 21 секунда (27.01.2012 - 13:46) neadekvat написал(а):
Oggy, что такое $result в твоем случаи? Разберись.
И еще, у меня такое чувство, что ты пытаешься изобрести auto increment. Вот тебе и идентификатор, бляха муха.
return (mysql_result($result, 0) + 1);
И еще, у меня такое чувство, что ты пытаешься изобрести auto increment. Вот тебе и идентификатор, бляха муха.
Спустя 2 часа, 29 минут, 35 секунд (27.01.2012 - 16:16) Oggy написал(а):
Цитата (neadekvat @ 27.01.2012 - 10:46) |
Oggy, что такое $result в твоем случаи? Разберись.return (mysql_result($result, 0) + 1); И еще, у меня такое чувство, что ты пытаешься изобрести auto increment. Вот тебе и идентификатор, бляха муха. |
именно автоинкримент...но для имени фотки
спасибо
Спустя 4 минуты, 9 секунд (27.01.2012 - 16:20) neadekvat написал(а):
Цитата (Oggy @ 27.01.2012 - 17:16) |
именно автоинкримент...но для имени фотки |
Не самый лучший вариант.
Я бы посоветовал делать генерировать имя фотографии случайным образом, независимо от id в базе. Меньше мороки.