Цитата (Wladim @ 5.03.2013 - 18:39) |
исправил, спасибо. |
WHERE
tbl1.avtor_key = 3 and
tbl1.loc_num = tbl2.loc_num
Цитата (Wladim @ 5.03.2013 - 18:39) |
но выводит по-прежнему Цитата Автор: РодинаLocation Number (LN): 24000110Цель: Текст1Автор: РодинаLocation Number (LN): 24000110Цель: Текст3Автор: РодинаLocation Number (LN): 24000110Цель: Текст4а не Цитата Автор: РодинаLocation Number (LN): 24000110Цель: Текст1Цель: Текст3Цель: Текст4 |
Цитата |
Расскажите почему у вас не срослось с "переносом" avtor_key? |
Цитата |
<input type="hidden" name="avtor_key" maxlength="60" size="90"> |
Цитата |
в цикле нужно правильно выбрать по условию, чтобы |
$myrow = mysql_fetch_assoc($result);Как выбрать по условию?
do
{
printf ("<table align='center' class='post' border='0'><tr><td>
<p>Автор: %s </p>
<p>Location Number: %s </p>
<p>Цель: %s </p>
</td></tr></table>",$myrow['fam'],$myrow['loc_num'],$myrow['cel']);
}
while ($myrow = mysql_fetch_assoc($result));
$result = mysql_query ("INSERT INTO Табл2 (avtor_key, cel, loc_num) VALUES ('$avtor_key', '$cel', '$loc_num')");но avtor_key в Табл2 не заносится.
Цитата (Wladim @ 5.03.2013 - 19:07) |
Как выбрать по условию? |
$myrow = mysql_fetch_assoc($result);
printf ("<table align='center' class='post' border='0'><tr><td>
<p>Автор: %s </p>
<p>Location Number: %s </p>
</td>",$myrow['fam'],$myrow['loc_num']);
while ($myrow = mysql_fetch_assoc($result)){
printf ("<td> <p>Цель: %s </p></td>", $myrow['cel']);
}
echo '</tr></table>';
$myrow = mysql_fetch_assoc($export_query);
for ($i = 0; $i<sizeof($myrow); $i++){
if ($i == 0) {
printf ("<table align='center' class='post' border='0'><tr><td>
<p>Автор: %s </p>
<p>Location Number: %s </p>
<p>Цель: %s </p>
",$myrow['fam'], $myrow['loc_num'],$myrow['cel']);
} else {
printf (" <p>Цель: %s </p>", $myrow['cel']);
}
}
echo '</td></tr></table>';
CREATE TABLE IF NOT EXISTS `autor` (
`avtor_key` int(11) NOT NULL AUTO_INCREMENT,
`fam` varchar(200) NOT NULL,
`loc_num` varchar(16) NOT NULL,
PRIMARY KEY (`avtor_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- Дамп данных таблицы `autor`
--
INSERT INTO `autor` (`avtor_key`, `fam`, `loc_num`) VALUES
(2, 'Фоменко', '20130114000002'),
(3, 'Родина', '20130124000003'),
(4, 'Капанадзе', '20130123000004'),
(5, 'Благин', '20130218000005');
CREATE TABLE IF NOT EXISTS `cel` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`avtor_key` int(11) NOT NULL,
`cel` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
--
-- Дамп данных таблицы `cel`
--
INSERT INTO `cel` (`id`, `avtor_key`, `cel`) VALUES
(1, 2, 'Текст1'),
(2, 5, 'Текст2'),
(3, 2, 'Текст3'),
(6, 2, 'Текст4');
<?php
header('Content-type: text/html; charset= utf-8');
include('connect.php');
if(isset($_POST['go'])){
if(isset($_POST['avtor_key'])){
if(is_array($_POST['avtor_key'])){
// тут надо провести валидацию массива $_POST['avtor_key']
$id = implode(',',$_POST['avtor_key']);
$query="SELECT c.cel, a.avtor_key, a.fam
FROM `cel` c
INNER JOIN (SELECT avtor_key, fam
FROM `autor`
WHERE avtor_key IN($id)) a
USING (avtor_key)
ORDER BY a.fam";
$res = mysql_query($query) or die(mysql_error());
$ch = '';
if($res){
if(mysql_num_rows($res)){
while($row = mysql_fetch_assoc($res)){
if($row['avtor_key']<>$ch){
$ch = $row['avtor_key'];
echo $row['fam'].'<br />';
}
echo $row['cel'].'<br />';
}
}
}
}
}
}
?>
<form method="post">
<?php
$result = mysql_query("SELECT * FROM `autor`");
while ($myrow = mysql_fetch_assoc($result)){
printf ("<p><input name='avtor_key[]' type='checkbox' value='%s'><label>
<strong> %s</strong></label></p>",$myrow['avtor_key'],$myrow['fam']);
}
?>
<p><input name="go" type="submit" value="Выбрать"></p>
</form>