Глюк PHP. или мне кажется?
Добавлено: 25 янв 2005, 22:19
Здраствуйте. Я студент. Задали задачу: имеются много Database, в них - таблицы. Использовать PHP(обязательное условие). Нужно присоединятся, указав host, user и password - это я сделал. Далее, выбрать нужную базу данных и из нее таблицу, отобразить ее - это я тоже все сделал. Затем нужно выбирая поля таблиц, уметь их редактировать. Это я хотел сделать с помощью двойного цикла и поля таблиц отображать вот так:
while ($row = mysql_fetch_object($res))
for ($i = 0; $i != mysql_numfields($fields); $i++)
printf("<td><input type=text name=xxx[$z] value=$tmp></td>");
,где переменной $tmp я заранее присвоил значение поля, а
$z меняется от 0 до строки*столбцы.
Так вот, таблица отобразилась прекрасно, но когда я перешел к редактированию, и нажал сохранить изменения (submit), то в полях таблиц исчезло первые 4 значения, если их было там больше. Причем поля, где только
цифры, ведут себя несколько подругому.
Уверен, что код я весь написал правильно. Вот эта его часть:
$z=0;
while ($row = mysql_fetch_object($res))
{
printf("<tr>");
for ($i = 0; $i != mysql_numfields($fields); $i++)
{
$z=$z+1;
$rowname = mysql_fieldname($fields,$i);
$tabrep[$rowsnum][$curcol] = $row->$rowname;
$tmp = $tabrep[$rowsnum][$curcol]; if ($pole[$z])
printf("<td>
else printf("<td>
}
printf("</tr>");
}
Так вот, я думаю: это глюк, или что?
И если глюк, то как с ним боротся? Прошу ответить, если кто-то сталкивался с чем-то подобным, или имеет какие-нибудь догадки. Заранее спасибо!!!
while ($row = mysql_fetch_object($res))
for ($i = 0; $i != mysql_numfields($fields); $i++)
printf("<td><input type=text name=xxx[$z] value=$tmp></td>");
,где переменной $tmp я заранее присвоил значение поля, а
$z меняется от 0 до строки*столбцы.
Так вот, таблица отобразилась прекрасно, но когда я перешел к редактированию, и нажал сохранить изменения (submit), то в полях таблиц исчезло первые 4 значения, если их было там больше. Причем поля, где только
цифры, ведут себя несколько подругому.
Уверен, что код я весь написал правильно. Вот эта его часть:
$z=0;
while ($row = mysql_fetch_object($res))
{
printf("<tr>");
for ($i = 0; $i != mysql_numfields($fields); $i++)
{
$z=$z+1;
$rowname = mysql_fieldname($fields,$i);
$tabrep[$rowsnum][$curcol] = $row->$rowname;
$tmp = $tabrep[$rowsnum][$curcol]; if ($pole[$z])
printf("<td>
<input type=text name=pole[$z] maxlength=100 size=10 value=$pole[$z]>
td>");else printf("<td>
<input type=text name=pole[$z] maxlength=100 size=10 value=$tmp>
</td>");}
printf("</tr>");
}
Так вот, я думаю: это глюк, или что?
И если глюк, то как с ним боротся? Прошу ответить, если кто-то сталкивался с чем-то подобным, или имеет какие-нибудь догадки. Заранее спасибо!!!