Пример
//условие
if ($a == $b) {
//тут какой-то вывод
}
//тут какой-то код
//а тут оно опять понадобилось через n количество строк.
if ($a == $b) {
//тут какой-то вывод
}
Можно ли после закрытия условия еще раз его выполнить, чтоб еще раз не писать тоже самое условие.
Спустя 3 минуты, 30 секунд (17.02.2011 - 10:23) Evilsoul написал(а):
только функцией
Спустя 1 минута, 10 секунд (17.02.2011 - 10:24) Snus написал(а):
Renden
Расшифруй вот эту строчку
Расшифруй вот эту строчку
Цитата |
Можно ли после закрытия условия еще раз его выполнить, чтоб еще раз не писать тоже самое условие. |
Спустя 1 минута, 5 секунд (17.02.2011 - 10:26) Evilsoul написал(а):
Snus
см. пример, он там объясняет.
см. пример, он там объясняет.
Спустя 2 минуты, 22 секунды (17.02.2011 - 10:28) Snus написал(а):
Evilsoul
Знаешь, я уже привык, что многие на этом форуме пишут код один,а просят помочь в другом. Понять точно, что они хотят сложно. Поэтому, чтобы не услышать в итоге вот это - "Нет, это не то, что я хотел, будьте вы все прокляты, гомосеки!", я на всякий случай уточняю, что хочет автор.
Знаешь, я уже привык, что многие на этом форуме пишут код один,а просят помочь в другом. Понять точно, что они хотят сложно. Поэтому, чтобы не услышать в итоге вот это - "Нет, это не то, что я хотел, будьте вы все прокляты, гомосеки!", я на всякий случай уточняю, что хочет автор.
Спустя 10 минут, 14 секунд (17.02.2011 - 10:38) Renden написал(а):
Snus
Ххаха +1)) Не у мня вопрос в коде был)
Evilsoul
Хм.. тогда посоветуй как обойти загвоздку есть код:
вопрос как закрыть div class "общий" чтобы в него попал вывод $row['param']?
с утра голова не варит вообще))
Ххаха +1)) Не у мня вопрос в коде был)
Evilsoul
Хм.. тогда посоветуй как обойти загвоздку есть код:
while($row = mysql_fetch_assoc($query)) {
if ($row['id'] != $id) {
$id = $row['id'];
//тут выводиться 1 строчка имени
echo '<div class="общий"><div class="имени">'.$row['name'].'</div>';
}
//а тут куча строчек параметров к этому имени
echo $row['param']; //если я сдесь закрою див то их будет больше чем открытых, тк открытый всего 1
}
//Див не закрыт
вопрос как закрыть div class "общий" чтобы в него попал вывод $row['param']?
с утра голова не варит вообще))
Спустя 5 минут, 40 секунд (17.02.2011 - 10:44) Snus написал(а):
while($row = mysql_fetch_assoc($query)) {
echo '<div class="общий">';
if ($row['id'] != $id) echo '<div class="имени">'.$row['name'].'</div>';
echo $row['param'];
echo '</div>';
}
Спустя 3 минуты, 54 секунды (17.02.2011 - 10:48) Renden написал(а):
Snus
ты непонял, в твоем случае див общий откроется допустим 10 раз (потому что цикл выведет 10 строк), а мое условие режет повторяющиеся выводы имени (вывод 3 раза допустим), так вот надо окрыть div class общий 3 раза и закрыть 3 раза, а не 10.
Криво обьяснил, надеюсь поймешь.
ты непонял, в твоем случае див общий откроется допустим 10 раз (потому что цикл выведет 10 строк), а мое условие режет повторяющиеся выводы имени (вывод 3 раза допустим), так вот надо окрыть div class общий 3 раза и закрыть 3 раза, а не 10.
Криво обьяснил, надеюсь поймешь.
Спустя 3 минуты, 46 секунд (17.02.2011 - 10:51) Evilsoul написал(а):
перед циклом открой и после цикла закрой
Спустя 1 минута, 6 секунд (17.02.2011 - 10:53) Evilsoul написал(а):
echo '<div class="общий">';
while($row = mysql_fetch_assoc($query)) {
if ($row['id'] != $id) {
$id = $row['id'];
//тут выводиться 1 строчка имени
echo '<div class="имени">'.$row['name'].'</div>';
}
//а тут куча строчек параметров к этому имени
echo $row['param']; //если я сдесь закрою див то их будет больше чем открытых, тк открытый всего 1
}
echo '</div>'; //Див закрыт
Спустя 1 минута, 3 секунды (17.02.2011 - 10:54) Renden написал(а):
Evilsoul
Тогда див будет только 1, а надо столько раз сколько выводиться row['name'].
кароче надо обьединить одним дивом $row['name'] и $row['param'], блин неужели я так криво изьясняюсь что меня никто понять не может
Тогда див будет только 1, а надо столько раз сколько выводиться row['name'].
кароче надо обьединить одним дивом $row['name'] и $row['param'], блин неужели я так криво изьясняюсь что меня никто понять не может
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Спустя 2 минуты, 47 секунд (17.02.2011 - 10:56) Evilsoul написал(а):
так сделай ЛИМИТ, или тебе нужны все 10 строк?
Спустя 2 минуты, 36 секунд (17.02.2011 - 10:59) Evilsoul написал(а):
или создай в цикле два массива парам и нейм и выведи где нужно будет, вариантов куча... тебе видней чего ты хочешь.
Спустя 1 минута, 32 секунды (17.02.2011 - 11:01) Renden написал(а):
Evilsoul
Нужны, ща прокоментирую код:
У мня с массивами беда, я незнаю как с ними работать тольком.
Нужны, ща прокоментирую код:
//Сам запрос выводит:
//Вася Пупкин | параметр1
//Вася Пупкин | параметр2
//Вася Пупкин | параметр3 и тд.
while($row = mysql_fetch_assoc($query)) {
if ($row['id'] != $id) {
$id = $row['id'];
//тут выводиться 1 строчка имени допустим Вася Пупкин
echo '<div class="общий"><div class="имени">'.$row['name'].'</div>';
}
//тут допустим 5 строчек с параметрами Васи Пупкина
echo $row['param'];
}
//нужно закрлючить ИМЯ и Параметры в 1 общий див.
У мня с массивами беда, я незнаю как с ними работать тольком.
Спустя 1 минута, 16 секунд (17.02.2011 - 11:02) Evilsoul написал(а):
Я сам не супер-пупер программер :) но что-то вроди этого:
while($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $id)
{
$id = $row['id'];
$name .= array($row['name']);
}
$param .= array($row['param']);
}
Спустя 2 минуты, 56 секунд (17.02.2011 - 11:05) Evilsoul написал(а):
$name и $param у тебя должны получится индексными массивами, которые сможешь вывести где захочень echo $name[0].$param[1].$param[2] ...
Спустя 1 минута, 4 секунды (17.02.2011 - 11:06) Snus написал(а):
Renden
Тебе нужен вот такой вид?
Тебе нужен вот такой вид?
Вася Пупкин:
- Большой пенис
- Маленькая зарплата
- Занудная жена
Петя Васечкин
- Пенис кроха
- ЗП такая же
- Жены нет (см. пункт 1)
Спустя 48 секунд (17.02.2011 - 11:07) Evilsoul написал(а):
Snus
как я понял, да.
как я понял, да.
Спустя 4 минуты, 15 секунд (17.02.2011 - 11:11) Renden написал(а):
Snus
именно
Evilsoul
echo $name[0].$param[1].$param[2] ... так писец не удобно выводить, тк параметров может быть n-количество
именно
Evilsoul
echo $name[0].$param[1].$param[2] ... так писец не удобно выводить, тк параметров может быть n-количество
Спустя 1 минута, 25 секунд (17.02.2011 - 11:12) Evilsoul написал(а):
Renden
ну а получилось?
ну а получилось?
Спустя 2 минуты, 33 секунды (17.02.2011 - 11:15) Snus написал(а):
Renden
while($row = mysql_fetch_assoc($query)) {
$arr[$row['name']][] = $row['param'];
}
foreach($arr as $name => &$arr2){
echo '<div class="name">'.$name.'</div>';
foreach($arr2 as &$param){
echo '<div class="param">'.$param.'</div>';
}
}
Спустя 1 минута, 18 секунд (17.02.2011 - 11:16) Evilsoul написал(а):
Renden
а для такого вывода есть цикл for($i = 0; $i < 100; $i++)
а для такого вывода есть цикл for($i = 0; $i < 100; $i++)
Спустя 54 секунды (17.02.2011 - 11:17) Evilsoul написал(а):
Snus
Вот завернул
3 цикла ещё и друг в друге
Вот завернул
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 4 минуты, 9 секунд (17.02.2011 - 11:21) Snus написал(а):
Evilsoul
Как вариант. Тратить часы работы, чтобы решить задачу более оптимально, у меня нет.![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Зато вариант резиновый. Любое кол-во наименований и параметров пихай - код менять не нужно.
Как вариант. Тратить часы работы, чтобы решить задачу более оптимально, у меня нет.
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Зато вариант резиновый. Любое кол-во наименований и параметров пихай - код менять не нужно.
Спустя 5 минут, 59 секунд (17.02.2011 - 11:27) Renden написал(а):
Snus
Прости, но это тоже самое что было у меня доэтого. Я тебя обманул нечаяно мне надо не
Прости, но это тоже самое что было у меня доэтого. Я тебя обманул нечаяно мне надо не
Цитата |
Вася Пупкин: - Большой пенис - Маленькая зарплата - Занудная жена Петя Васечкин - Пенис кроха - ЗП такая же - Жены нет (см. пункт 1) |
А так
- Пенис кроха
Вася Пупкин - Жены нет (см. пункт 1)
- Пенис кроха
- Пенис кроха
Петя Васечкин - ЗП такая же
- Жены нет (см. пункт 1)
В html это должно быть так:
<div class="общий">
<div class="name">Вася Пупкин</div>
<div class="param">- Пенис кроха</div>
..
</div>
<div class="общий">
<div class="name">Петя Васечкин</div>
<div class="param">- Жены нет</div>
..
</div>
Спустя 1 минута, 23 секунды (17.02.2011 - 11:29) Evilsoul написал(а):
Renden
у тебя массивы получились, как я писал?
у тебя массивы получились, как я писал?
Спустя 1 минута, 44 секунды (17.02.2011 - 11:30) Renden написал(а):
Evilsoul
Несовсем, что-то перебрать их не получается.. Ща еще попробую.
Несовсем, что-то перебрать их не получается.. Ща еще попробую.
Спустя 3 минуты, 28 секунд (17.02.2011 - 11:34) Evilsoul написал(а):
Renden
Не нужно их перебирать, я сам тебе переберу, я не уверен что в такой способ он точно сформируется...
Запусти это:
и отпиши что выведет тебе.
Не нужно их перебирать, я сам тебе переберу, я не уверен что в такой способ он точно сформируется...
Запусти это:
while($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $id)
{
$id = $row['id'];
$name .= array($row['name']);
}
$param .= array($row['param']);
}
echo '<pre>';
print_r($name);
echo '</pre>';
echo '<pre>';
print_r($param);
echo '</pre>';
и отпиши что выведет тебе.
Спустя 22 секунды (17.02.2011 - 11:34) Snus написал(а):
Renden
?! Так просто div дописать и все. Я тебе мысль подкинул.
И Выведет он тебе
?! Так просто div дописать и все. Я тебе мысль подкинул.
while($row = mysql_fetch_assoc($query)) {
$arr[$row['name']][] = $row['param'];
}
foreach($arr as $name => &$arr2){
echo '<div class="общий">';
echo '<div class="name">'.$name.'</div>';
foreach($arr2 as &$param){
echo '<div class="param">'.$param.'</div>';
}
echo '</div>';
}
И Выведет он тебе
<div class="общий">
<div class="name">Вася Пупкин</div>
<div class="param">- Пенис кроха</div>
..
</div>
<div class="общий">
<div class="name">Петя Васечкин</div>
<div class="param">- Жены нет</div>
..
</div>
Спустя 13 минут, 9 секунд (17.02.2011 - 11:47) Renden написал(а):
Snus
Для меня это слишком сложно для понимания, как ты это сделал. Но параметр у мня там не один $row['param'] а там еще куча $row['param2'], $row['param3'], $row['date'], в твоем случае мне придеться для каждого делать отдельный foreach так чтоль?))
Как-то странно для того чтоб внедрить 1 общий див надо устраивать такие танцы с бубном..жесть, я думаю как-то проще все можно это..
Для меня это слишком сложно для понимания, как ты это сделал. Но параметр у мня там не один $row['param'] а там еще куча $row['param2'], $row['param3'], $row['date'], в твоем случае мне придеться для каждого делать отдельный foreach так чтоль?))
Как-то странно для того чтоб внедрить 1 общий див надо устраивать такие танцы с бубном..жесть, я думаю как-то проще все можно это..
Спустя 2 минуты, 42 секунды (17.02.2011 - 11:50) Evilsoul написал(а):
Renden
Ты мне напишешь что в выводе ты получил?
Какие тут танцы? создать два массива и вывести всё где нужно...
Ты мне напишешь что в выводе ты получил?
Какие тут танцы? создать два массива и вывести всё где нужно...
Спустя 1 минута, 37 секунд (17.02.2011 - 11:52) Snus написал(а):
Renden
Делай так
Делай так
while($row = mysql_fetch_assoc($query)) {
$param = $row['param'];
$param2 = $row['param2'];
$param3 = $row['param3'];
$arr[$row['name']][] = compact('param','param2','param3');
}
foreach($arr as $name => &$arr2){
echo '<div class="общий">';
echo '<div class="name">'.$name.'</div>';
foreach($arr2 as &$val){
echo '<div class="param">'.$val['param'].'</div>';
echo '<div class="param">'.$val['param2'].'</div>';
echo '<div class="param">'.$val['param3'].'</div>';
}
echo '</div>';
}
Спустя 2 минуты, 47 секунд (17.02.2011 - 11:54) Evilsoul написал(а):
Renden
Покажи мне вывод, ибо буду ругаться
Покажи мне вывод, ибо буду ругаться
![mad.gif](http://phpforum.ru/html/emoticons/mad.gif)
Спустя 1 минута, 12 секунд (17.02.2011 - 11:56) Renden написал(а):
Evilsoul
не ругайся)))
не ругайся)))
Цитата |
ArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray |
Спустя 57 секунд (17.02.2011 - 11:56) Evilsoul написал(а):
во блин, немного не так как хотелось, сек...
Спустя 2 минуты, 53 секунды (17.02.2011 - 11:59) Evilsoul написал(а):
о, а без точки попробуй
$name = array($row['name']);так.
Спустя 1 минута, 28 секунд (17.02.2011 - 12:01) Evilsoul написал(а):
и вывод дай, блин сейчас сам попробую.
Спустя 47 секунд (17.02.2011 - 12:02) Renden написал(а):
Evilsoul
Так только 1 результат
Так только 1 результат
Array
(
[0] => Вася
)
Array
(
[0] => 15.08.2011
)
Спустя 1 минута, 6 секунд (17.02.2011 - 12:03) Snus написал(а):
Renden
Я тебе рабочий код дал, чего голову ломаешь?
Я тебе рабочий код дал, чего голову ломаешь?
Спустя 4 минуты, 21 секунда (17.02.2011 - 12:07) Renden написал(а):
Snus
Да я его сохранил, я просто ищю другие варианты, просто у мня был код малюсенький, 1 условие if и все, а теперь столько циклов и массивов, которых я не понимаю, если у меня появиться еще раз такая задача, я нехочу копипастить тупо не понимая как так сделать..
Да я его сохранил, я просто ищю другие варианты, просто у мня был код малюсенький, 1 условие if и все, а теперь столько циклов и массивов, которых я не понимаю, если у меня появиться еще раз такая задача, я нехочу копипастить тупо не понимая как так сделать..
Спустя 8 минут, 33 секунды (17.02.2011 - 12:16) Evilsoul написал(а):
Вот, сделал:
Вывод покажешь, должно работать.
$name = array();
$param = array();
while($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $id)
{
$id = $row['id'];
$name[] = $row['name'];
}
$param[] = $row['param'];
}
echo '<pre>';
print_r($name);
echo '</pre>';
echo '<pre>';
print_r($param);
echo '</pre>';
Вывод покажешь, должно работать.
Спустя 1 минута, 16 секунд (17.02.2011 - 12:17) Snus написал(а):
Evilsoul
И как же ты потом соберешь $name и $param в том виде, как показал автор?
И как же ты потом соберешь $name и $param в том виде, как показал автор?
Спустя 31 секунда (17.02.2011 - 12:17) Evilsoul написал(а):
потом вставим в нужные дивы и всё.
Спустя 31 секунда (17.02.2011 - 12:18) Evilsoul написал(а):
Snus
Легко
Легко
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 3 минуты, 44 секунды (17.02.2011 - 12:22) Snus написал(а):
Evilsoul
Показывай
Показывай
Спустя 1 минута, 49 секунд (17.02.2011 - 12:23) Renden написал(а):
Evilsoul
Отходил, вывод вроде верный..
Ну и как собрать теперь это чтоб Дивы располагались верно?
Отходил, вывод вроде верный..
Array
(
[0] => Инна
[1] => Денис
[2] => Сергей
[3] => Ольга
[4] => Анна
[5] => Вера
)
Array
(
[0] => 13.06.2011
[1] => 21.11.2011
[2] => 11.07.2011
[3] => 10.10.2011
[4] => 1.07.2011
[5] => 1.12.2011
[6] => 12.09.2011
[7] => 25.07.2011
[8] => 13.06.2011
[9] => 1.08.2011
[10] => 16.05.2011
[11] => 7.11.2011
[12] => 11.01.2011
[13] => 8.06.2011
[14] => 4.05.2011
[15] => 15.08.2011
)
Ну и как собрать теперь это чтоб Дивы располагались верно?
Спустя 8 минут, 26 секунд (17.02.2011 - 12:32) Evilsoul написал(а):
Прошу прощения, немного не так, сейчас всё напишу.
Спустя 1 минута, 14 секунд (17.02.2011 - 12:33) Snus написал(а):
Господа, объясните мне почему нельзя использовать предложенный мною метод?
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 3 минуты, 46 секунд (17.02.2011 - 12:37) Evilsoul написал(а):
Snus
потому что грузно очень
Вот:
должны получить ассоциативный массив.
потому что грузно очень
Вот:
$name = array();
while($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $id)
{
$id = $row['id'];
$name[$row['name']] = $row['param'];
}
}
echo '<pre>';
print_r($name);
echo '</pre>';
должны получить ассоциативный массив.
Спустя 1 минута, 19 секунд (17.02.2011 - 12:38) Renden написал(а):
Snus
Я его использую, спасибо,яж тебе плюсанул даже, мне обидно то что я использую готовое решение, которое я не понимаю как оно работает, поэтому пытаюсь как-то более просто это реализовать, и чтоб самое главное я понял как так получилось.
Я его использую, спасибо,яж тебе плюсанул даже, мне обидно то что я использую готовое решение, которое я не понимаю как оно работает, поэтому пытаюсь как-то более просто это реализовать, и чтоб самое главное я понял как так получилось.
Спустя 1 минута, 1 секунда (17.02.2011 - 12:39) Snus написал(а):
Evilsoul
Ты хоть сам представляешь какого вида массив твой будет?
Ты будешь перезаписывать ключ $row['name']
Ты хоть сам представляешь какого вида массив твой будет?
Ты будешь перезаписывать ключ $row['name']
Спустя 20 секунд (17.02.2011 - 12:40) Evilsoul написал(а):
$name[$row['name']] .= $row['param'];
точку забыл
Спустя 18 секунд (17.02.2011 - 12:40) Snus написал(а):
Renden
Я тебе могу объяснить вкратце что к чему там
Я тебе могу объяснить вкратце что к чему там
Спустя 35 секунд (17.02.2011 - 12:40) Evilsoul написал(а):
Snus
ассоциативный многомерный
ассоциативный многомерный
Спустя 37 секунд (17.02.2011 - 12:41) Evilsoul написал(а):
а вывод сделать через foreach()
Спустя 28 секунд (17.02.2011 - 12:42) Renden написал(а):
Evilsoul
Так не верно, результаты параметров не все.
Array
(
[Инна] => 13.06.2011
[Денис] => 11.07.2011
[Сергей] => 1.07.2011
[Ольга] => 12.09.2011
[Анна] => 1.08.2011
[Вера] => 8.06.2011
)
Snus, буду признателен.
Так не верно, результаты параметров не все.
Array
(
[Инна] => 13.06.2011
[Денис] => 11.07.2011
[Сергей] => 1.07.2011
[Ольга] => 12.09.2011
[Анна] => 1.08.2011
[Вера] => 8.06.2011
)
Snus, буду признателен.
Спустя 28 секунд (17.02.2011 - 12:42) Snus написал(а):
Цитата (Evilsoul @ 17.02.2011 - 09:40) |
$name[$row['name']] .= $row['param']; точку забыл |
И получится у тебя
'Вася Пупкин' => 'Большой пенисТупая женаМаленькая ЗП'
Спустя 1 минута, 7 секунд (17.02.2011 - 12:43) Evilsoul написал(а):
Renden
вот так
$name[$row['name']][] .= $row['param'];
вот так
Спустя 43 секунды (17.02.2011 - 12:44) Evilsoul написал(а):
и получим так:
это то, чего я пытался добится
Array
(
[dfjs] => Array
(
[0] => dfjasdafsdfs1
[1] => dfjasdafsdfs1
)
)
это то, чего я пытался добится
Спустя 27 секунд (17.02.2011 - 12:44) Snus написал(а):
Цитата (Evilsoul @ 17.02.2011 - 09:43) |
Renden$name[$row['name']][] .= $row['param']; вот так |
И чем же теперь твой пример отличается от моего?
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 34 секунды (17.02.2011 - 12:45) Evilsoul написал(а):
Snus
он без 3 циклов друг в друге, короткий и простой
он без 3 циклов друг в друге, короткий и простой
Спустя 49 секунд (17.02.2011 - 12:46) Snus написал(а):
Evilsoul
Ты так показал пример, как создать массив, а теперь распарсь его. Покажи свой пример как вывести в нужном автору виде.
Ты так показал пример, как создать массив, а теперь распарсь его. Покажи свой пример как вывести в нужном автору виде.
Спустя 1 минута, 23 секунды (17.02.2011 - 12:47) Renden написал(а):
Evilsoul
Ога, и как терь вывести?
Ога, и как терь вывести?
Array
(
[Инна] => Array
(
[0] => 13.06.2011
[1] => 21.11.2011
)
[Денис] => Array
(
[0] => 11.07.2011
[1] => 10.10.2011
)
[Сергей] => Array
(
[0] => 1.07.2011
[1] => 1.12.2011
)
Спустя 1 минута, 24 секунды (17.02.2011 - 12:48) Snus написал(а):
Renden
Если дампнешь мой вариант, то поймешь, что Evilsoul ничего нового не предложил
Если дампнешь мой вариант, то поймешь, что Evilsoul ничего нового не предложил
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 4 минуты, 30 секунд (17.02.2011 - 12:53) Renden написал(а):
Evilsoul
Snus кстати прав)
Snus кстати прав)
Цитата |
И получится у тебя |
'Вася Пупкин' => 'Большой пенисТупая женаМаленькая ЗП'
Так и получаеться если подставить несколько параметров..
Snus
Ты вроде обещался в краце показать как ты так сделал, и что у тя за символ &$val перед переменной в переборе масива?
Спустя 54 секунды (17.02.2011 - 12:54) Evilsoul написал(а):
Renden
Следующим циклом, я вроде писал, foreach(); щя напишу
Следующим циклом, я вроде писал, foreach(); щя напишу
Спустя 2 минуты, 49 секунд (17.02.2011 - 12:57) Evilsoul написал(а):
$name = array();
while($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $id)
{
$id = $row['id'];
$name[$row['name']][] .= $row['param'];
}
}
foreach($name as $key => $val)
{
echo '<div class="общий"><div class="name">' . $key . '</div>';
echo '<div class="param">'. $key -> $val . '</div>';
echo '</div>';
}
Спустя 7 минут, 28 секунд (17.02.2011 - 13:04) Snus написал(а):
Evilsoul
Ты хоть знаешь, что выдаст твой foreach? ^^
Ты хоть знаешь, что выдаст твой foreach? ^^
Спустя 42 секунды (17.02.2011 - 13:05) Evilsoul написал(а):
Snus
Дело в том что у тебя мало того что 3 цикла друг в друге, так они у тебя еще и не принимают больше трех параметров "param"
Дело в том что у тебя мало того что 3 цикла друг в друге, так они у тебя еще и не принимают больше трех параметров "param"
Спустя 20 секунд (17.02.2011 - 13:05) Renden написал(а):
Evilsoul
Страннно имена выводяться, а значения нет..
Страннно имена выводяться, а значения нет..
Спустя 1 минута, 59 секунд (17.02.2011 - 13:07) Evilsoul написал(а):
Сейчас посмотрю, я с foreach оч. мало работал, да и с массивами тоже, вот мне и интересна эта тема, ибо вариант Санса считаю не оч. хорошим.
Спустя 31 секунда (17.02.2011 - 13:08) Snus написал(а):
Evilsoul
А твой вообще дальше ключей и array не идет. Это раз. Во-вторых - запросто можно foreach'ем пройтись по params. Я показал как вариант. Если он дергает их из таблицы, где не намечается прибавления столбцов - то сойдет код. Если таблица может быть резиновой - то foreach
А твой вообще дальше ключей и array не идет. Это раз. Во-вторых - запросто можно foreach'ем пройтись по params. Я показал как вариант. Если он дергает их из таблицы, где не намечается прибавления столбцов - то сойдет код. Если таблица может быть резиновой - то foreach
Спустя 1 минута, 17 секунд (17.02.2011 - 13:09) Snus написал(а):
Evilsoul
У тебя такой же массив получается. Так распарсь его. Действительно видно, что ты мало работал с массивами.
У тебя такой же массив получается. Так распарсь его. Действительно видно, что ты мало работал с массивами.
Спустя 45 минут, 57 секунд (17.02.2011 - 13:55) Evilsoul написал(а):
Вот такой вариант как по мне будет намного оптимальней и быстрее, количество входящих параметров "парам" не имеет значения, количество строк с именем не имеет значения, цикл фор выполнит столько итераций, сколько будет нужно.
$name = array();
while($row = mysql_fetch_assoc($query))
{
if ($row['id'] != $id)
{
$id = $row['id'];
$name[$row['name']][] .= $row['param'];
}
}
foreach($name as $key => $val)
{
echo '<div class="общий" style="border:1px solid;"><div class="name">' . $key . '</div>';
for($i = 0; $i < count($name[$key]); $i++)
echo '<div class="param">' . $name[$key][$i] . '</div>';
echo '</div>';
}
Спустя 4 минуты, 19 секунд (17.02.2011 - 13:59) Snus написал(а):
Evilsoul
Так чем твой код отличается от моего-то? ))) Только тем, что у меня foreach, а у тебя for?!
Так чем твой код отличается от моего-то? ))) Только тем, что у меня foreach, а у тебя for?!
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
Спустя 1 минута, 33 секунды (17.02.2011 - 14:01) Evilsoul написал(а):
Snus
Я же тебе написал
)) они не вложены все вместе и не привязаны к определенному количеству парам
Я же тебе написал
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 минута, 14 секунд (17.02.2011 - 14:02) Snus написал(а):
Evilsoul
А ты мой скрипт запусти для начала, чтобы судить, раз ты его прочитать не можешь ) param, param2 и param3 - 3 лвл массива )) а у тебя только 2. В остальном твой скрипт делает тоже самое, что и мой.
А ты мой скрипт запусти для начала, чтобы судить, раз ты его прочитать не можешь ) param, param2 и param3 - 3 лвл массива )) а у тебя только 2. В остальном твой скрипт делает тоже самое, что и мой.
Спустя 56 секунд (17.02.2011 - 14:03) Snus написал(а):
Цитата (Snus @ 17.02.2011 - 08:15) |
Renden
|
Вот первый вариант, который я ему предложил. Чем он отличается от твоего? :D
А вот это у тебя
if ($row['id'] != $id)
{
Абсолютно лишнее действие )
Спустя 4 минуты, 50 секунд (17.02.2011 - 14:08) Evilsoul написал(а):
Snus
Ничем.
я это действие не трогал, потому что я не знаю зачем оно ему и что проверяет.
Ничем.
if ($row['id'] != $id)
{
я это действие не трогал, потому что я не знаю зачем оно ему и что проверяет.
Спустя 59 секунд (17.02.2011 - 14:09) Snus написал(а):
Evilsoul
Ну так почему ты сказал, что мой вариант плохой? Если сам предлагаешь такой же? ) Жду извинений )
Ну так почему ты сказал, что мой вариант плохой? Если сам предлагаешь такой же? ) Жду извинений )
Спустя 6 минут, 21 секунда (17.02.2011 - 14:15) Evilsoul написал(а):
Snus
Подожду решения автора
Подожду решения автора
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)