Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Динамическая генерация checkbox с использованием цикла foreach

Сообщения:  [1-10]   [11-19] 

 
 автор: sim5   (13.05.2009 в 13:10)   письмо автору
 
   для: romu4-   (13.05.2009 в 13:05)
 

Вы лучше в мануал загляните, и постарайтесь сами себе объяснить, почему так получается. Будет полезно )

  Ответить  
 
 автор: romu4-   (13.05.2009 в 13:05)   письмо автору
 
   для: sim5   (13.05.2009 в 12:56)
 

Да, вы правы!
Спасибо за ваше терпение и помощь!
;-)]

  Ответить  
 
 автор: sim5   (13.05.2009 в 12:56)   письмо автору
 
   для: romu4-   (13.05.2009 в 12:38)
 

Уберите вот этот идиотизм:

$myrow = mysql_fetch_assoc($result);
$r = count($myrow);
echo "NUM_N=".$r."<br>";

и все будет нормально.

  Ответить  
 
 автор: romu4-   (13.05.2009 в 12:38)   письмо автору
18.9 Кб
 
   для: sim5   (13.05.2009 в 12:26)
 

ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED AUTO_INCREMENT=8 ;

У меня InnoDB, последние два поля - внешние ключи. Но в моем понимании это никак не должно сказаться на обработке данных.
Тем не менее, вывести нормально данные не могу 3 день. Делаю сейчас точно так же как и вы.
Гляньте еще раз код и скриншот.
<body>

<form id="form1" name="form1" method="get" action="a1.php">
 
 <?php
   
include ("menu_top.php");
   
 
// Соединение с базой данных
require_once ("config.php");
   
// Делается выборка из таблиц базы данных 

$query "SELECT * FROM acts";
$result mysql_query ($query,$dbcon);
$myrow mysql_fetch_assoc($result);
if(!
$result) exit("<br>Error in $query : "mysql_error());   
 
$n mysql_num_rows($result);
echo 
"NUM_n=".$n."<br>";

$r count($myrow);
echo 
"NUM_N=".$r."<br>";

//for ($i=0; $i<mysql_num_rows($result); $i++)
//{
//$myrow = mysql_fetch_array($result);
//echo "<input name=\"a_model\" type=\"text\" size=\"30\" maxlength=\"10\" value= \"".htmlspecialchars($myrow['num_act'])."\"><br>";
//echo "<input name=\"b_model\" type=\"text\" size=\"30\" maxlength=\"10\" value= \"".htmlspecialchars($myrow['osnovanie'])."\"><br>";
//echo "<input name=\"b_model[]\" type=\"checkbox\" size=\"30\" maxlength=\"10\" value= \"".htmlspecialchars($myrow['osnovanie'])."\/>".htmlspecialchars($myrow['num_act'])."<br>";


//}
echo "<p><br>#Проблема тут! #<br></p>";


while(
$myrow mysql_fetch_assoc($result))
{
//echo "<input type='checkbox' name='a[]' value='".$myrow['num_act']."'>".$myrow['num_act']."<br/>";
echo "Ключ ".$myrow['num_act']." - Значение ".$myrow['osnovanie']."<br>";
}    
        
echo 
"<br>#Дальше просто пример. Не обращайте внимания #<br>";    
$a= array
(
"one"=>1,
"two"=>2,
"three"=>3,
"four"=>4,
"five"=>5,
=> "six"
);

foreach (
$a as $k => $v)
{
print 
"\$a[$k] => $v<br>";
}

echo 
"<br>#Дальше просто пример. Не обращайте внимания #<br>";

while(
$myrow mysql_fetch_assoc($result))
{
  echo 
"<input type='checkbox' name='name' value='".$myrow['osnovanie']."'>".$myrow['osnovanie']."<br/>";
}     

?> 
 
<input name="submit" type="submit" value="OK" />  
</form>
 </body>

  Ответить  
 
 автор: romu4-   (13.05.2009 в 12:37)   письмо автору
18.9 Кб
 
   для: sim5   (13.05.2009 в 12:26)
 

ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED AUTO_INCREMENT=8 ;

У меня InnoDB, последние два поля - внешние ключи. Но в моем понимании это никак не должно сказаться на обработке данных.
Тем не менее, вывести нормально данные не могу 3 день. Делаю сейчас точно так же как и вы.
Гляньте еще раз код и скриншот.
<body>

<form id="form1" name="form1" method="get" action="a1.php">
 
 <?php
   
include ("menu_top.php");
   
 
// Соединение с базой данных
require_once ("config.php");
   
// Делается выборка из таблиц базы данных 

$query "SELECT * FROM acts";
$result mysql_query ($query,$dbcon);
$myrow mysql_fetch_assoc($result);
if(!
$result) exit("<br>Error in $query : "mysql_error());   
 
$n mysql_num_rows($result);
echo 
"NUM_n=".$n."<br>";

$r count($myrow);
echo 
"NUM_N=".$r."<br>";

//for ($i=0; $i<mysql_num_rows($result); $i++)
//{
//$myrow = mysql_fetch_array($result);
//echo "<input name=\"a_model\" type=\"text\" size=\"30\" maxlength=\"10\" value= \"".htmlspecialchars($myrow['num_act'])."\"><br>";
//echo "<input name=\"b_model\" type=\"text\" size=\"30\" maxlength=\"10\" value= \"".htmlspecialchars($myrow['osnovanie'])."\"><br>";
//echo "<input name=\"b_model[]\" type=\"checkbox\" size=\"30\" maxlength=\"10\" value= \"".htmlspecialchars($myrow['osnovanie'])."\/>".htmlspecialchars($myrow['num_act'])."<br>";


//}
echo "<p><br>#Проблема тут! #<br></p>";


while(
$myrow mysql_fetch_assoc($result))
{
//echo "<input type='checkbox' name='a[]' value='".$myrow['num_act']."'>".$myrow['num_act']."<br/>";
echo "Ключ ".$myrow['num_act']." - Значение ".$myrow['osnovanie']."<br>";
}    
        
echo 
"<br>#Дальше просто пример. Не обращайте внимания #<br>";    
$a= array
(
"one"=>1,
"two"=>2,
"three"=>3,
"four"=>4,
"five"=>5,
=> "six"
);

foreach (
$a as $k => $v)
{
print 
"\$a[$k] => $v<br>";
}

echo 
"<br>#Дальше просто пример. Не обращайте внимания #<br>";

while(
$myrow mysql_fetch_assoc($result))
{
  echo 
"<input type='checkbox' name='name' value='".$myrow['osnovanie']."'>".$myrow['osnovanie']."<br/>";
}     

?> 
 
<input name="submit" type="submit" value="OK" />  
</form>
 </body>

  Ответить  
 
 автор: sim5   (13.05.2009 в 12:26)   письмо автору
 
   для: romu4-   (13.05.2009 в 12:02)
 

Вот ваша таблица, которую я создал у себя (сменен только тип):
DROP TABLE IF EXISTS `acts`;
CREATE TABLE `acts` (
  `num_act` int(4) unsigned NOT NULL auto_increment,
  `osnovanie` varchar(50) NOT NULL,
  `srok_use` int(3) default NULL,
  `id_date_give` int(5) unsigned NOT NULL,
  `id_date_back` int(5) unsigned default NULL,
  PRIMARY KEY  (`num_act`),
  KEY `osnovanie` (`osnovanie`),
  KEY `id_date_give` (`id_date_give`),
  KEY `id_date_back` (`id_date_back`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=cp1251 ROW_FORMAT=FIXED AUTO_INCREMENT=8 ;

INSERT INTO `acts` VALUES (1, 'Договор № 1', 36, 1, 1);
INSERT INTO `acts` VALUES (2, 'Договор № 2', 2, 2, 2);
INSERT INTO `acts` VALUES (3, 'Договор № 3', 54, 3, 3);
INSERT INTO `acts` VALUES (4, 'Договор № 4', NULL, 4, 4);
INSERT INTO `acts` VALUES (5, 'Договор № 5', NULL, 5, 5);
INSERT INTO `acts` VALUES (6, 'Запуск КА "IntelSat-12R"', 12, 6, 6);
INSERT INTO `acts` VALUES (7, 'Запуск КА "W2A"', 20, 7, 7);

Вот запрос и вывод:
<?
$query 
"SELECT * FROM acts";
$result mysql_query($query);

while (
$row mysql_fetch_assoc($result)) {
  echo 
"ID: " $row['num_act'] . ", OSN - " $row['osnovanie'] . ", SR - " .
  
$row['srok_use'] . ", DT1 - " $row['id_date_give'] . ", DT2 - " $row['id_date_back'] . "<br>";
}
?>

Вот результат:
ID: 1, OSN - Договор № 1, SR - 36, DT1 - 1, DT2 - 1
ID: 2, OSN - Договор № 2, SR - 2, DT1 - 2, DT2 - 2
ID: 3, OSN - Договор № 3, SR - 54, DT1 - 3, DT2 - 3
ID: 4, OSN - Договор № 4, SR - , DT1 - 4, DT2 - 4
ID: 5, OSN - Договор № 5, SR - , DT1 - 5, DT2 - 5
ID: 6, OSN - Запуск КА "IntelSat-12R", SR - 12, DT1 - 6, DT2 - 6
ID: 7, OSN - Запуск КА "W2A", SR - 20, DT1 - 7, DT2 - 7

  Ответить  
 
 автор: romu4-   (13.05.2009 в 12:04)   письмо автору
 
   для: psychomc   (13.05.2009 в 11:50)
 

нет лимит я не использовал.

  Ответить  
 
 автор: romu4-   (13.05.2009 в 12:02)   письмо автору
3.5 Кб
 
   для: sim5   (13.05.2009 в 11:46)
 

Извините за кракозябрики в дампе...
Лимит не указывал.

  Ответить  
 
 автор: psychomc   (13.05.2009 в 11:57)   письмо автору
 
   для: sim5   (13.05.2009 в 11:57)
 

выше )

  Ответить  
 
 автор: sim5   (13.05.2009 в 11:57)   письмо автору
 
   для: psychomc   (13.05.2009 в 11:56)
 

Мне то вы чего хотите объяснить? Беседуйте с автором, чего вы мне вопросы задаете?

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования