Как влиять на параметр SQL-запроса?

Статус
В этой теме нельзя размещать новые ответы.

sergvk

Новичок
Как влиять на параметр SQL-запроса?

Как упростить этот код так, чтобы получить все переменые $row_recX? Предполагается, что их очень много, а в коде их всего две для примера. Сложность в том, что я не знаю как из скрипта влиять на параметр SQL-запроса id так, чтобы он циклически возрастал на единичку.
PHP:
mysql_select_db($database_ex, $ex);
$query_rec1 = "SELECT * FROM headers WHERE id = 1";
$rec1 = mysql_query($query_rec1, $ex) or die(mysql_error());
$row_rec1 = mysql_result($rec1,0,1);
echo $row_rec1;
mysql_free_result($rec1);
$query_rec2 = "SELECT * FROM headers WHERE id = 2";
$rec2 = mysql_query($query_rec2, $ex) or die(mysql_error());
$row_rec2 = mysql_result($rec2,0,1);
echo $row_rec2;
mysql_free_result($rec2);
 

Фанат

oncle terrible
Команда форума
Прикольно.
Я даже боюсь спрашивать, где ты взял этот код.
В общем, прочитай сначала вот эту статью для начинающих:
http://phpclub.ru/detail/article/phpintro
выполни оттуда все примеры, а потом, если какие-то вопросы останутся - задавай их.
 

sergvk

Новичок
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
--------------------------------------------------------------------------------
Вот тот же самый вопрос. Только кода побольше:

Вот таблички базы:
CREATE TABLE `kurses` (
`id` int(5) NOT NULL,
`nazvan` varchar(200) NOT NULL,
`date` varchar(200),
`prodolzh` varchar(17) NOT NULL,
`stoim` varchar(10) NOT NULL,
`catid` tinyint(4),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `menu1` (
`id` tinyint(4) NOT NULL,
`kurs` varchar(255) NOT NULL,
`catid` tinyint(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


PHP:
<?php 
mysql_select_db($database_ex, $ex); 
$query_Recordset1 = "SELECT kurses.catid, kurses.nazvan, menu1.kurs, (  
SELECT COUNT(  *  )  
FROM  `kurses`  
WHERE catid = menu1.id ) AS  `qwe`  
FROM  `kurses` ,  `menu1`  
WHERE menu1.id = kurses.catid AND kurses.catid=1"; 
$Recordset1 = mysql_query($query_Recordset1, $ex) or die(mysql_error()); 
?> 
<?php 
mysql_select_db($database_ex, $ex); 
$query_Recordset2 = "SELECT kurses.catid, kurses.nazvan, menu1.kurs, (  
SELECT COUNT(  *  )  
FROM  `kurses`  
WHERE catid = menu1.id ) AS  `qwe`  
FROM  `kurses` ,  `menu1`  
WHERE menu1.id = kurses.catid AND kurses.catid=2"; 
$Recordset2 = mysql_query($query_Recordset2, $ex) or die(mysql_error()); 
?> 
<!--и.т.д пока не исчерпаются все catid-->  
<html> 
<head> 
<meta charset=windows-1251 /> 
</head> 
<body> 
<?php $header =  mysql_result($Recordset1,0,2)?> 
<?php $counter =  mysql_result($Recordset1,0,3)?> 
<?php $catid = mysql_result($Recordset1,0,0)?> 
<h2><?php echo $header ?>&nbsp;(<?php echo $counter ?>)</h2> 
<?php for($i=0;$i<=2;$i++){ 
$row_Recordset1[$i] = mysql_result($Recordset1,$i,1);  
echo $row_Recordset1[$i];?> 
<br /> 
<?php }?> 
<a href="kurses.php?catid=<?php echo $catid ?>">>></a> 
 
<?php $header1 =  mysql_result($Recordset2,0,2)?> 
<?php $counter1 =  mysql_result($Recordset2,0,3)?> 
<?php $catid1 = mysql_result($Recordset2,0,0)?> 
<h2><?php echo $header1 ?>&nbsp;(<?php echo $counter1 ?>)</h2> 
<?php for($i=0;$i<=2;$i++){ 
$row_Recordset2[$i] = mysql_result($Recordset2,$i,1);  
echo $row_Recordset2[$i];?> 
<br /> 
<?php }?> 
<a href="kurses.php?catid=<?php echo $catid1 ?>">>></a> 
<!--и.т.д пока не исчерпаются все catid-->  
</body> 
</html> 
 
 
<?php 
 mysql_free_result($Recordset1); 
 mysql_free_result($Recordset2); 
 ?>
Все пашет, но код мегагромоздкий. Можно ли подсократить организовав цикл?
 

Гравицапа

elbirret elcno

DiMA

php.spb.ru
Команда форума
От, блин, и здесь тот же отстой... У меня на работе веб-дизайнер такое же г. с теми же названиями переменных один в один на сайте строчит. Вернее, строчил, до увольнения. Видимо, это заразное.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху