[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: return
Oggy
вот функция:


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());

Спустя 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 только последней записи. Если выбирается только одна запись, тогда цикл не нужен.
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 написал(а):
smile.gif действительно ,всё дело было в запросе
но зато узнал много нового
спасибо

Спустя 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'е ph34r.gif biggrin.gif

Спустя 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)
меня здесь все устраивает

Я вижу, даже моё правописание тебя абсолютно устраивает. laugh.gif
Цитата (neadekvat @ 27.01.2012 - 06:12)
ты судишь только по себе

Каждый судит по себе, и ты в том числе, глупо это отрицать. Если ты просмотришь мои посты, то увидишь, что я почти не пишу во флейме и в темах не касающихся PHP. И я стараюсь реально помогать, а не разбрасываться фразами типа "да ты посмотри, тут уже ООП! Офигеть." - думаешь это умно с твоей стороны? И да, я подозреваю, что игнорировать ты не умеешь почти так же, как и я, поскольку отвечаешь на каждое мое сообщение, так вот, для меня оставить последние слово за собой абсолютно не важно - просто сейчас есть время и настроение. Но это мой последние пост в этой теме, можешь писать, что хочешь, я не отвечу, разговор закрыт.

Спустя 8 часов, 50 минут, 46 секунд (27.01.2012 - 12:20) Oggy написал(а):
ohmy.gif

Спустя 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)
извените за ошибки.

Самое смешное, что, не считая опечатки, ты допустил ошибку только в слове "извините" biggrin.gif

Спустя 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());

if (mysql_num_rows($result) > 0)
{
return mysql_result($result, 0);
}

return false;

спасибо огромное

Спустя 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 в твоем случаи? Разберись.

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 в базе. Меньше мороки.
Быстрый ответ:

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