Как правильно пройтись по массиву?

Zaval

Новичок
То что сейчас работает:
PHP:
table_(100,'','0',1,'','');
if(isset($_SESSION['my'])) {
  $sql="SELECT * FROM ".ActTable($_SESSION['my'])." LIMIT 0,1";
  $res = mysql_query($sql);
  while ($i++ < mysql_num_fields($res)) {
    $NAMES = mysql_fetch_field($res);
    echo "<TR>
<TD CLASS=RIGHT WIDTH=50%>",
mysql_result($res,0,$NAMES->name),
"</TD>";
    if($NAMES->type != "blob") 	{
      echo "<TD CLASS=INPUT>",
input_($NAMES->name,clear_($_POST[$NAMES->name],$FirmaResult[$NAMES->name],2),'t',50),
"</TD>";
    }  else  {
      echo "<TD CLASS=INPUT>",
textarea_($NAMES->name,clear_($_POST[$NAMES->name],$FirmaResult[$NAMES->name],1)),
"</TD>";
    }
  echo "</TR>";
  }
}
echo $table;
Так вот (см. выше) я хотел запихнуть select в функцию, но не придумал как разложить массив (иначе, на сколько я помню, значения не передашь).
А tony меня посылает в ман по mysql функциям.
На кой они мне? Ну разве код ПРАВИЛЬНЕЕ написать?

Мужики вопрос перечитайте. $array[][][] надо так кецнуть
(это ножницы \бла-бла/) :)
$array[] \бла-бла/ [] \бла-бла/ []
Хух :))

(теперь это хоть прочесть можно - прим.ред.)
 

Zaval

Новичок
Функции:

input_()
textarea_()
генерят соотв. поля

clear_()
Чистит значения и выбирает онкуда их брать (из запроса к БД или оставить с $_POSTa
В общем к делу отношения не имеют.
 

RomikChef

Guest
Сколько ж всего понаворочено...
Могу поспорить, что та же функциональность у меня достигается кодом более, чем на порядок меньшим.

Значит так.
Насчет "кецнуть".
Ты, вообще, в курсе, что как минимум $array[] и $array[][] - это обязательнро МАССИВЫ?
а массивы подразумевают несколько строк.
А у тебя это все в одну. по-моему, ты настолько усложнил свою программу, что окончательно перестал понимать, что она делает.
 

Zaval

Новичок
Автор оригинала: leosha
Ты что, тормоз? Или, как сейчас модно на форуме - "медленный газ"?
PHP:
$sql = "SELECT field1,field2 FROM...";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
         ++$i;
         echo "строка ".$i."<b>".$row["field1"]."</b> текст ".$row["field2"]." <br>\n";  
}
По моему, это сказали постов 10-15 назад.
PHP:
function res()
{
$sql = "SELECT field1,field2 FROM...";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
         ++$i;
         echo "строка ".$i."<b>".$row["field1"]."</b> текст ".$row["field2"]." <br>\n";  
}
}
Что дальше?
Смотря от чего тормоз....
Зря раньше поста не заметил
ВОПРОС ЧИТАТЬ НАДО!
 

leosha

Старожил PHPCLub
>Что дальше?
А хрен его знает. Что надо то дальше?

>ВОПРОС ЧИТАТЬ НАДО!
Это да. Я читал. Еще раз сейчас перечитал.
Логика твоих манипуляций мне категорически непонятна. Делать как тебе советуют - ты не хочешь. Объяснить по человечески - не хочешь. Везде рассказываешь про кучу своих ф-ций и массивов. И чего?
 

Zaval

Новичок
Может и перенаворотил, но приведенный код прекрасно работает. Хотя чуть ущербнее чем HTML(где разумно), но зато все переменные и их значения генерятся из БД, и всегда равны названию полей а это удобно при SELECTe UPDATE и тд.
 

Zaval

Новичок
Уф.. Утомил. Если все работает, какие проблемы то?
:)
А потрындеть
:)
Если серьезно, то и вправду достаточно наворотов -хотел еще один впаять.
МЕЧТА - Все автоматизировать...
 

RomikChef

Guest
Леша, он как теререв - только пишет и ничего не читает.
я ему обяснил про массив, но по-моему, это слишком просто для него.

Осеняет меня догадка, что ему нужны в некоторых случаях ключи массива, но, как ты понимаешь, внятных пояснений мы вряд ли получим...
 

RomikChef

Guest
в конце кноцов этот кулибин с нестандартным мышлением изобретет очередные 50 строк кода, которые решат его проблему, и пойдет пыхтеть дальше, в полной уверенности, что он гений, а тут собралось сборище ничего не понимающих новичкоы.
 

RomikChef

Guest
слышь, Завал (говорящий ник, однако)
сделай в своей супер-пупер функции ДВА цикла БЕЗ ЕДИНОГО МАССИВА.
Первый фетчит из таблицы имена полей.
и в цикле выводит. в одном <tr>.
второй - Леошин пример. фетчит строки и их выводит.
Все просто и без извратов. я понимаю - все примитивно, никакой изюминки, но ты уж постарайся, а?
 

RomikChef

Guest
селект, по опредлению - одномерный.
Где ты там многомерный массив нашел?
куда его передавать? в функцию? Какие проблемы? из формы? из формы передается не массив а строка - выбор.

Ты бы писал бы связнее, а?
И не примеры нечитаемые, а постарался по-русски объяснять, что тебе надо? Ведь, могу поспорить - сам сообразишь, когда сформулируешь.
 

alpes

Весь мир на ладони
Автор оригинала: Zaval
(таблица имеет вид):

: Name : FullName
---------------------------------------
: Имя_ : Полное наимен. и т.д.

Нужно каким то образом вывести строку
echo $str;
Результат:
то что мне нужно.<b>Имя_</b>.то что мне нужно.<b>Name</b>.то что мне нужно
Если вопрос все еще актуален (почти месяц прошел), то Завалу нужна была ф-ия mysql_field_name()!
$res = mysql_query("SELECT * FROM $TblName");
$num=mysql_num_fields($res);
while($f=mysql_fetch_array($res))
for($j=0;$j<$num;$j++)
echo "то что мне нужно. [Значение]:<b>".$f[$j]."</b>. то что мне нужно. [ИмяПоля]:<b>".mysql_field_name($this->sql_res, $j)."</b>.то что мне нужно<br>";
Или по оному принципу создать массив и ф-ию отображающую этот массив.
 
Сверху