| 
	| 
	
	| 
		
	| 
			
			 
			
				09.04.2010, 14:22
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 09.04.2010 
						Сообщений: 5
					 
		
 |  |  
	| 
				Как поместить javascript в php цикл do{} while()
			 Вот такой вот код: 
$actionr = mysql_query("SELECT name, description, newprice, oldprice, time FROM action");
			$action = mysql_fetch_array ($actionr);
			$count = "countdown";
			$counter = "counter";
			do {
              echo "<table width='100%' height='182' border='0' cellpadding='10' cellspacing='0'>
          <tr>
            <td valign='top' class='kartinka'><img src='img/sapogs.jpg' width='135' height='135' align='left' class='kartinka'>
			<p><strong>$action[name]</strong>, $action[description]</p><p>За <span class='redtext'><strong>$action[newprice]</strong></span> рублей вместо $action[oldprice] рублей.</p>
			  
			<div>
			<DIV align='center' id='$count'></DIV>";
			
print "<script type=\"text/javascript\">
       D = new Date();
time_diff = (Date.UTC($action[time]) - D.getTime()) / 1000;
  
        function $count() {      
           work_number = time_diff--;
           days = Math.floor(work_number / 86400);      
           work_number -= days * 86400;
           hours = Math.floor(work_number / 3600);
           work_number -= hours * 3600;
           minutes = Math.floor(work_number / 60);
           work_number -= minutes * 60;
           seconds = Math.floor(work_number % 60);
           days = (days < 10) ? \"0\"+days : days;
           hours = (hours < 10) ? \"0\"+hours : hours;
           minutes = (minutes < 10) ? \"0\"+minutes : minutes;
           seconds = (seconds < 10) ? \"0\"+seconds : seconds;
           values = [
              declOfNum(days, [\"день\", \"дня\", \"дней\"]), 
              declOfNum(hours, [\"час\", \"часа\", \"часов\"]), 
              declOfNum(minutes, [\"минута\", \"минуты\", \"минут\"]), 
              declOfNum(seconds, [\"секунда\", \"секунды\", \"секунд\"])
           ];
           document.getElementById('$counter').innerHTML =  values.join(\" \") + \".\";      
        }
        function declOfNum(number, titles) {
           cases = [2, 0, 1, 1, 1, 2];
           return \"<b>\" + number + \"</b> \" + titles[ (number%100>4 && number%100<20)? 2 : cases[Math.min(number%10, 5)] ];
        }
     </script>";
	 echo "<body onload='$count()'>
     <div id='wrapper'>
        осталось
        <div id='$counter'></div>
     </div>";
    print "<script type=\"text/javascript\">
        setInterval(\"$count()\", 1000);
     </script>";
     echo "</div>
			</td>
          </tr>
        </table>	
<p></p>";
$count = "countdowntwo";
$counter = "countertwo";
}
while ($action = mysql_fetch_array ($actionr));
Первый блок работает второй нет, ? - подскажите как сделать чтоб заработал второй, (в базе всего две записи), а также третий и т.д.
 
P.S. Только умоляю, не отвечайте терминами и заумными словечками понятными только программистам, они и без Вас все хорошо знают.
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				09.04.2010, 14:32
			
			
			
		 |  
	| 
		
			|  | Матрос       |  | 
					Регистрация: 04.04.2008 
						Сообщений: 6,246
					 
		
 |  |  
	| для общего ознакомления
	
 
	| Сообщение от galap |  
	| P.S. Только умоляю, не отвечайте терминами и заумными словечками понятными только программистам, они и без Вас все хорошо знают. |  
	
 а как отвечать? 
если вы не программист, и не в теме, то для вас есть раздел "работа" форума. 
для отладки JS-используйте firebug 
также советую глянутьна исхдны код страницы, и посмотреть сгенерировалось там именно то, что вам нужно, в принципе |  |  
	| 
		
	| 
			
			 
			
				09.04.2010, 14:39
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 09.04.2010 
						Сообщений: 5
					 
		
 |  |  
	| Оказывается, в принципе все работает (не хватило терпения подождать секунду), второй блок появляется с задержкой в секунду. 
Но, дело в том что оба блока отсчитывают одинаковое время , хотя дата у них разная.
 
P.S. Я всегда думал, что форумы нужны для того чтобы те кто в теме помогали тем кто еще не в теме, потомучто те кто в теме не задают вопросы а отвечают на них (Если бы я был совсем не в теме то не задавал бы подобных вопросов). Просто помочь не влазяя    в мою личную жизнь, можно? |  |  
	| 
		
	| 
			
			 
			
				09.04.2010, 14:53
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 09.04.2010 
						Сообщений: 5
					 
		
 |  |  
	| Всем спасибо, разобрался.Для тех кто не в теме:
 
 <?php
 $actionr = mysql_query("SELECT name, description, newprice, oldprice, time FROM action");
 $action = mysql_fetch_array ($actionr);
 $count = "countdown";
 $counter = "counter";
 $date = "D";
 $time = "time";
 do {
 echo "<table width='100%' height='182' border='0' cellpadding='10' cellspacing='0'>
 <tr>
 <td valign='top' class='kartinka'><img src='img/sapogs.jpg' width='135' height='135' align='left' class='kartinka'>
 <p><strong>$action[name]</strong>, $action[description]</p><p>За <span class='redtext'><strong>$action[newprice]</strong></span> рублей вместо $action[oldprice] рублей.</p>
 
 <div>
 <DIV align='center' id='$count'></DIV>";
 
 print "<script type=\"text/javascript\">
 $date = new Date();
 $time = (Date.UTC($action[time]) - $date.getTime()) / 1000;
 
 function $count() {
 work_number = $time--;
 days = Math.floor(work_number / 86400);
 work_number -= days * 86400;
 hours = Math.floor(work_number / 3600);
 work_number -= hours * 3600;
 minutes = Math.floor(work_number / 60);
 work_number -= minutes * 60;
 seconds = Math.floor(work_number % 60);
 days = (days < 10) ? \"0\"+days : days;
 hours = (hours < 10) ? \"0\"+hours : hours;
 minutes = (minutes < 10) ? \"0\"+minutes : minutes;
 seconds = (seconds < 10) ? \"0\"+seconds : seconds;
 values = [
 declOfNum(days, [\"день\", \"дня\", \"дней\"]),
 declOfNum(hours, [\"час\", \"часа\", \"часов\"]),
 declOfNum(minutes, [\"минута\", \"минуты\", \"минут\"]),
 declOfNum(seconds, [\"секунда\", \"секунды\", \"секунд\"])
 ];
 document.getElementById('$counter').innerHTML =  values.join(\" \") + \".\";
 }
 
 function declOfNum(number, titles) {
 cases = [2, 0, 1, 1, 1, 2];
 return \"<b>\" + number + \"</b> \" + titles[ (number%100>4 && number%100<20)? 2 : cases[Math.min(number%10, 5)] ];
 }
 </script>";
 echo "<body onload='$count()'>
 <div id='wrapper'>
 осталось
 <div id='$counter'></div>
 </div>";
 
 print "<script type=\"text/javascript\">
 setInterval(\"$count()\", 1000);
 </script>";
 echo "</div>
 </td>
 </tr>
 </table>
 <p></p>";
 $count = "countdowntwo";
 $counter = "countertwo";
 $date = "T";
 $time = "timer";
 }
 while ($action = mysql_fetch_array ($actionr));
 ?>
 
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				09.04.2010, 14:57
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	| 
	
 
	| Сообщение от galap |  
	| P.S. Я всегда думал, что форумы нужны для того чтобы те кто в теме помогали тем кто еще не в теме, потомучто те кто в теме не задают вопросы а отвечают на них (Если бы я был совсем не в теме то не задавал бы подобных вопросов). Просто помочь не влазяя в мою личную жизнь, можно? |  
	
 Вы ошибались. http://phpclub.ru/faq/WhyForum |  |  |  |