Меню по алфавиту

  • Автор темы Автор темы dirol
  • Дата начала Дата начала
прекрасно.
ну и?
ещё какие-то вопросы остались?

-~{}~ 19.01.07 17:43:

Других переменных нет
гм-гм.
программисту должно быть ОЧЕНЬ внимательным.
ты хорошо подумал? подумай ещё раз. какие у тебя есть в этом скрипте переменные?
 
Фанат
$ath=mysql_query("SELECT Name FROM sonnik_miller;");
$ath показывает первую строку результата запроса
 
даааааааааа? и что же в этой строке записано?
а остальные строки в какой переменной?

нет, не зря я решил заставить тебя понять свой собственный код. дело и так уже зашло слишком далеко =)
 
resource(4) of type (mysql result)
ошибся
вот что возвращает: var_dump($ath);

а вот что это значит - не понимаю :(
Больше переменных нет

PS: и если не сложно, объясните, пожалуйста...
echo "".$son['Name']."<br>";
это выводит наименования из массива $son
Что означают точки?
 
вот видишь? значит не "первую строку результата запроса"? =)
и видишь, как легко проверить собственные предположения? всего лишь написать var_dump()
если у тебя что-то не работает так, как ты хочешь - всегда применяй эту команду, чтобы посмотреть - А ТО ЛИ ЛЕЖИТ В ПЕРЕМЕННОЙ, что ты думаешь. Чаще всего оказывается совсем другое =)

итак. что мы имеем в итоге?
ты понял, что возвращает тебе mysql_fetch_array?

-~{}~ 19.01.07 18:05:

точки означают объединение строки.
 
Фанат
mysql_fetch_array возвращает массив, вот, к примеру, часть массива:
array(2) { [0]=> string(7) "Абрикос" ["Name"]=> string(7) "Абрикос" }
array(2) { [0]=> string(10) "Адам и Ева" ["Name"]=> string(10) "Адам и Ева" }

и что все-таки значит: resource(4) of type (mysql result) :rolleyes:
 
mysql_fetch_array возвращает массив, вот, к примеру, часть массива:
array(2) { [0]=> string(7) "Абрикос" ["Name"]=> string(7) "Абрикос" }
отлично.
нужна тебе его длина для разбивки на страницы? ;-)
)
и что все-таки значит: resource(4) of type (mysql result)
ну, это-то самое простое.
догадаешься сам, в описании к какой функции это прочесть? ;-
 
длину массива нам необходимо знать обязательно, т.к. если она меньше 10, то разбивать на колонки не надо, если же больше, то необходимо разбить.
 
хм.
mysql_fetch_array возвращает массив, вот, к примеру, часть массива:
array(2) { [0]=> string(7) "Абрикос" ["Name"]=> string(7) "Абрикос" }
я, кажется, невнимательно читал твои откровения.
что значит фраза "часть массива"?
что это такое, по-твоему - массив?
 
Фанат,
array(2) { [0]=> string(7) "Абрикос" ["Name"]=> string(7) "Абрикос" }
это является массивом.
 
ты же только что сказал, что это ЧАСТЬ массива?

-~{}~ 19.01.07 18:41:

а если это - массив, то при каких условиях его размер станет больше 10?
 
Фанат
скажу, наверное очень криво - это массив в массиве, т.е. часть большого массива
array(2) { [0]=> string(7) "Абрикос" ["Name"]=> string(7) "Абрикос" }
array(2) { [0]=> string(10) "Адам и Ева" ["Name"]=> string(10) "Адам и Ева" }
array(2) { [0]=> string(5) "Автор" ["Name"]=> string(5) "Автор" }
как я понимаю, длина этого массива равна 3
 
отлично!
ну тогда нет проблем - примени функцию count к этому массиву!
 
Фанат
так применял уже - не считает...
$count = count($son);
echo $count;
возвращает 2

var_dump($count)
возвращает int(2)
 
постой.
при чём здесь $son? $son - это ведь массив в массиве?
 
var_dump($son)
возвращает весь массив, который в свою очередь состоит тоже из массивов, которые нам и нужно сосчитать.
но в какой переменной хранятся данные об этих массивах.
$son - нет
$ath - нет
что тогда? не понимаю...
 
у тебя проблема. ты видишь факты, но не веришь им. Надо тебе пдарить бритву Оккама. Брейся ей регулярно каждый день.
var_dump($son) возвращает тебе строчку
array(2) { [0]=> string(7) "Абрикос" ["Name"]=> string(7) "Абрикос" }
одну.
а ты думаешь, почему-то, что оно возвращает тебе какой-то огромный массив. при том, что этого массива ты не видишь. Но все равно продолжаешь считать, что он есть. Научись приводить свое представление о реальности в непротиворечивый вид.

в общем, ладно. я и так уж чувствую себя неудобно за то что тебя так мучаю.
в общем, смотри.
mysql_fetch_array возвращает СТРОКУ из базы. ОДНУ СТРОКУ. в виде массива.
первый раз вызвал - вернуло первую строку.
второй раз вызвал - вернуло вторую строку. 10 раз вызвал - вернуло 10 строк. 10 массивов. отдельных. А никакого большого массива нет.
 
т.е., если у меня в базе 100 наименований, значит это 100 массивов и нужно сосчитать сколько их всего этих массивов.
а мы ведь можем сделать так? задать запрос к базе - опять же COUNT, получим значение наименований и с этим значением уже работать, если оно > 10 и т.д.
или я брежу?
 
правильно.
именно так и надо делать.

но пока тебе рано ещё делать разбивку на страницы. ты ещё с этим-то кодом не разгобрался.
я тебя спрашивал, что делает функция while. не зря, между прочим, спрашивал. Тебе надо понять, что она делает
 
Фанат
функция while - это цикл, т.к. mysql_fetch_array - возвращает только ОДНУ строку из базы, а их может быть сотни, то нам необходимо постоянно повторять функцию mysql_fetch_array.
И она будет выполняться до тех пор, пока в таблице будут строки.
 
Сверху