2010-11-08 3 views
-2

Вот ссылка, на источник: https://docs.google.com/document/pub?id=1VxiZbysGLVx71ni0biGm2NbhhSCkPZmGWng-ik7IHNQКак создать этот скрипт в функции PHP?

<?php 
$user1 = mysql_query("SELECT * FROM `users` WHERE `id`='$user->id'"); 
while($user = mysql_fetch_object($user1)){ 
    $data2 = mysql_query("SELECT *,UNIX_TIMESTAMP(`start`) AS `start`,0 FROM `users` WHERE `id`='$user->id'"); 
    $data1 = mysql_fetch_object($data2); 
    $date = $user->howlong; 
    $timedif1 = $data1->start-3600+$date-time(); 
    if($data1->start + $date > time()){ 
     list($h,$min,$sec)=explode(":",date("H:i:s",$timedif1)); 
     $countdown = $data1->start+$date-time(); 
    } 
} 
?> 

У вас есть <?php echo $countdown ?> время до конца!

Вопрос: Как создать этот скрипт в функции PHP?

+0

Пожалуйста, ваши код здесь, не у всех есть аккаунт Google. Кроме того, я не совсем понимаю вопрос. Какая часть превращения этого в функцию вызывает проблемы? –

+0

Oo, okey. И я хочу преобразовать весь код в функцию. – Nation

+0

http://php.net/manual/en/language.functions.php –

ответ

2

Было бы что-то вроде этого:

<?php 

// getCountdown() function 
function getCountdown($userId) 
{ 
$user1 = mysql_query("SELECT * FROM `users` WHERE `id`='$userId'"); 
while($user = mysql_fetch_object($user1)){ 
    $data2 = mysql_query("SELECT *,UNIX_TIMESTAMP(`start`) AS `start`,0 FROM `users` WHERE `id`='$userId'"); 
    $data1 = mysql_fetch_object($data2); 
    $date = $user->howlong; 
    $timedif1 = $data1->start-3600+$date-time(); 
    if($data1->start + $date > time()){ 
     list($h,$min,$sec)=explode(":",date("H:i:s",$timedif1)); 
     $countdown = $data1->start+$date-time(); 
    } 
return $countdown; 
} 

// call function and pass user id parameter 
$countdown = getCountdown($user->id); 
// display function output 
echo $countdown; 

?> 
+0

tnx mate :) Это сработало отлично :) Но как определить такой же $ обратный отсчет для нескольких объектов? Пример: у меня 10 зданий. Каждое здание имеет разные времена. Когда пользователь начинает строить первое здание, обратный отсчет PHP $ начинает работать для всех зданий. Как этого избежать? – Nation

+0

Затем функция getCountdown должна возвращать список массивов вместо одного объекта. См .: http://www.php.net/manual/en/language.types.array.php и http://www.php.net/manual/en/function.mysql-fetch-array.php. –

0
function yourfuction(){ 
    $user1 = mysql_query("SELECT * FROM `users` WHERE `id`='$user->id'"); 
    while($user = mysql_fetch_object($user1)){ 
    $data2 = mysql_query("SELECT *,UNIX_TIMESTAMP(`start`) AS `start`,0 FROM `users` where 
    `id`='$user->id'"); 
    $data1 = mysql_fetch_object($data2); 
    $date = $user->howlong; 
    $timedif1 = $data1->start-3600+$date-time(); 
    if($data1->start + $date > time()){ 
    list($h,$min,$sec)=explode(":",date("H:i:s",$timedif1)); 
    $countdown = $data1->start+$date-time(); 
} 
+0

И как я могу запустить эту функцию? Я знаю, его глупый вопрос, но я никогда не использовал функции PHP. – Nation

+0

Прошу прощения за отсутствие объяснений. вы можете вызвать эту функцию: yourfunction(); – Orbit

+0

: D Tnx mate .... – Nation

Смежные вопросы