Вопрос (foreach)?

PHP:
array( 'Иванов', 'Петров', 'Сидоров' )
и
PHP:
array( "'Иванов', 'Петров', 'Сидоров'" )
это разные массивы
 
tashkentchi
Читай предыдущий топ. Массивы, имхо, тут вообще не нужны.
Я делал подобное, когда мне нужно было сделать рекурсивный вывод данных из базы и привязать их к функции Яваскрипта, со слоями и вложнностями. Слой я завершал именно тогда. когда вложенность в базе менялась на меньшую. А значение вложенности я заоминал по принципу, описанному выше.
 
$a[$schetchik]["surname"]="Иванов";
$a[$schetchik]["id"]=1023;
// следующий
$a[$schetchik]["surname"]="Петров";
$a[$schetchik]["id"]=4078;
// и т.д.

Reset($a);
foreach ($a as $k=>$v) {

if(substr($a[$k]["surname"],0,1)!==substr($a[$k+1]["surname"],0,1))$a[$k]["surname"].='<br />';

$disp.= "<a href=\"show_contact.php?id=$a[$k][\"id\"]\" class='a0'><font color='#122d3c'>$a[$k][\"surname\"]</font></a><br> ";

}

вообщем помоему так надо , если я правильно понял , это правильно в том случае ,если твоя база например текстовая , иначе читай как правильно написать запрос к тому или иному серверу базы данных.
пример к mysql
$query="select * from `my_table` order by `surname` asc";

а дальше циклом выводишь данные и смотришь свое условие .
 
Ахтунг :)

PHP:
$a='';
$line='';

while($row=mysql....){
  $line .= $row['name'];
  if($row['name']{0}!=$a) 
    $line .='<br />';

  $a=$row['name']{0};
}
так бут работать?
 
Alex2003
Переписал моё решение готовым кодом? Зачем? Ты думаешь, он бы сам не смог?
 
а ты думаешь сутки на эту задачу - не жестоко? если он смог, то уже давно... ИМХО.
 
по последнему варианту: чего-то подобного я уже добивался.
<br> должны ставится на строчку раньше, и потом, среди них встречаются не логичные.
 
В моем случае, используя последний напутствующий вариант, в некоторых местах вставляются ненужные бр, а все остальные должны ставится на позицию выше.
 
В двух случаях бр ставится в середине списка на одну букву.
Но ни это главное, а то, что остальные бр должны ставится на строчку ранее.
 
О, господи!
Так ты просто скопировал тот код, который тебе дали? Ты понимаешь, что он выполняет? И где вставляется бр? И как сделать так, что бр вставлялся на строчку ранее?
 
Все, заработало, всем спасибо. Работает по схеме последнего разжеванного варианта.
 
Что не люблю на форумах, так это то, что человеку который занимается чем либо всего пару месяцев, легких ответов ждать не приходится. Решение простое, а конкретного мало кто предлагает. А вот то что у меня получилось: :))

while ($row = mysql_fetch_array($result)) {
$id = $row['id'];
$fio = $row['fio'];

if($row['fio']{0}!=$a)
$display_block.='<br />';
$display_block .= " <a href=\"show_contact.php?id=$id\" class='m8'>$fio</a>$fuck<br> ";
$a=$row['fio']{0};

++$i; }

-~{}~ 10.06.05 15:30:

++$i; - это немного от другого
 
_Михаил_
Всё-таки криво. Всё, что нужно было переделать в данном тебе коде, это поставить проверку условия смены первой буквы в самое начало цикла. И всё.
Что не люблю на форумах, так это то, что человеку который занимается чем либо всего пару месяцев, легких ответов ждать не приходится.
А чего ты хотел? Только так и можно чему-то научиться.
А решение и вправду простое. Надо всего лищь шевельнуть могзгами. Этому тебя и учат. А с готовым кодом ты не научишься решать свои проблемы.
 
Сверху