Форум Gatchina Online

Форум Gatchina Online (http://forum.gatchina.ru/index.php)
-   Программирование и разработка (http://forum.gatchina.ru/forumdisplay.php?f=4)
-   -   Вопросник по PHP (http://forum.gatchina.ru/showthread.php?t=6686)

Том 20.02.2012 02:23

Спасибо, вроде получилось со случайным выводом 3-х станций.

Код страницы eldoradio.php такой:

PHP код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Эльдорадио</title>
   
  </head>
  <body>

<p align="center"><font color="#000080"><b>Эльдорадио Санкт-Петербург</b></font></p>

<div align="center">
<?php
echo file_get_contents ("http://tophit.org/channels/radio/player/eldoradio.inc");
?>

<p>

<?php
echo file_get_contents ("http://tophit.org/channels/radio/all.php");
?>

</div>

<div id="feed-piter">
</div>
  </body>
</html>

код страницы eldoradio.inc такой:

PHP код:

<EMBED TYPE="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" ID="WM" Name="WM" Width="700" Height="63" Src="http://www.onair.eltel.net/eldoradio128.m3u" AutoSize="0" AutoStart="1" ClickToPlay="1" DisplaySize="0" EnableContextMenu="1" EnableFullScreenControls="1" EnableTracker="0" volume="0" PlayCount="1" ShowControls="1" ShowAudioControls="1" ShowDisplay="0" ShowGotoBar="0" ShowPositionControls="0" ShowStatusBar="1" ShowTracker="0"></EMBED

код страницы all.php такой:

PHP код:

<div align="center">
<a href="http://tophit.org/" title="Радио Твоей Мечты"><img src="http://tophit.org/img/tophit.gif" border="0" alt="Радио Твоей Мечты" /></a>
</div>

<div valign="top">


<table border="1" width="100%">
<tr><td>
<div align="center"><b><font color="#008000">Радио-каналы</font></b></div>
</td>
</tr>
<tr><td valign="top">

<?php

$scripts 
= array("http://tophit.org/channels/radio/player/eldoradio.inc""http://tophit.org/channels/radio/player/retrofm.inc""http://tophit.org/channels/radio/player/keksfm.inc");  

    include(
$scripts[rand(0,sizeof($scripts)-1)]);

?>

<p>
<a title="Твоя мелодичная станция" href="http://tophit.org/channels/radio/eldoradio.php">
Эльдорадио</a></p>
<p>
<a title="Играем что хотим" href="http://tophit.org/channels/radio/keksfm.php">
Кекс FM</a></p>
<p>
<a title="Подпевай" href="http://tophit.org/channels/radio/retrofm.php">
Ретро FM</a></p>
<p>
<a title="Европа Плюс" href="http://tophit.org/channels/radio/europaplus.php">
Европа Плюс</a></p>
<a title="Радио Ваня" href="http://tophit.org/channels/radio/radiovania.php">Радио Ваня
</a>
<p>
<a title="Бизнес FM" href="http://tophit.org/channels/radio/businessfm.php">Бизнес FM
</a>
</p>


&nbsp;<br>

</td>
</tr>
</table>


</div>

Только теперь проблема - при воспроизведении станции загружается 2 плейера... Ещё один файл all.php делать, что ли?

ΛLIEN 20.02.2012 02:45

Вместо,
PHP код:

<?php 
echo file_get_contents ("http://tophit.org/channels/radio/player/eldoradio.inc"); ?>

если файлы лежат на одном серваке и тем более в одной папке, можно просто
PHP код:

<?php include("eldoradio.inc"); ?>

php движок сам разберется, где php код, где хтмл код.

Чтобы два раза не вставляло одно и тоже, используй include_once() вместо include().

ps: как-то у тебя все сложно и не понятно зачем отдельные php скрипты, делающие одно и тоже, только плеер разный. вернее, даже не плеер, а ссылка в коде плеера "Src=".
Можно ограничится одним скриптом, где если не передается никакого параметра http://сервер/скрипт.php, вставляется случайная ссылка в код плеера, а если ссылка типа такой http://сервер/скрипт.php?eldoradio вставляется определенная.

Том 15.12.2012 15:23

Помогите, пожалуйста, уже все мозги сломал.

Есть код для wordpress (немного переделанный):

PHP код:

<?php $randompost $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT 1");
 if (
$randompost) {
 foreach (
$randompost as $post) {  
  
$ID $post->ID;
  
$postid get_post($post->ID);
  
$title $postid->post_title?>
<?php 
echo $title ?>
 <?php } } ?>

Он работает - но не так, как надо. Выводится заголовок поста - а нужно чтобы выводился пост целиком.

Том 18.12.2012 23:35

Дашенька, спасибо, но так вообще ничего не отображается =)

Insya 20.12.2012 12:28

Цитата:

Сообщение от Том (Сообщение 448164)
Дашенька, спасибо, но так вообще ничего не отображается =)

Ну тогда сделай так:

PHP код:

<?php $randompost $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY RAND() LIMIT 1");
if (
$randompost) {
 foreach (
$randompost as $post) {  
   
$ID $post->ID;
   
query_posts('p='.$ID);  
   if(
have_posts())
   {   
    while( 
have_posts() )
    {   
        
the_post();  
        
the_title();
        
the_content();  
    }  
   } 
   else 
   {  
    echo 
"Постов не найдено";
   } 
} } 
?>


Том 20.12.2012 20:00

Даша, так тоже не получется - просто пустой экран. Ты сама можешь убедиться, установив тестовый экземпляр wordpress и плагин типа php-exec (чтобы в постах мог исполняться php-код).

В-общем, я нашёл временное решение:

PHP код:

<?php
query_posts
(array(
'orderby' => 'rand',
'showposts' => '5',
'cat'  => '1,3'
));
if (
have_posts()) :
while (
have_posts()) : the_post(); ?>
<?php
endwhile;
endif; 
?>

Но мне не очень нравится, потому что заголовок поста не в виде ссылки (обычный текст). Выглядит это так:

http://citemind.info/random

Некрасиво оформлено. Буду думать дальше, пока пусть так =)

Insya 20.12.2012 22:46

Цитата:

Сообщение от Том (Сообщение 448269)
Ты сама можешь убедиться

дык я проверяла перед тем, как тебе кинуть, у меня все работает

Том 20.12.2012 23:15

Цитата:

Сообщение от Insya (Сообщение 448273)
дык я проверяла перед тем, как тебе кинуть, у меня все работает

У меня в теле страницы (например хидер или футер) тоже работает, а вот в самом посте как php-код - нет... Не знаю, может это ещё от версии wp зависит и от используемой темы...

Insya 21.12.2012 11:02

Цитата:

Сообщение от Том (Сообщение 448275)
а вот в самом посте как php-код - нет...

не очень поняла, что ты имел ввиду, но если очень надо, то напиши мне - разберемся

Том 09.01.2013 17:10

Пожалуйста, попробуйте авторизоваться на сайте через какой-либо из этих соц. сервисов:

vkontakte, facebook, twitter, livejournal, google, yandex, mailruapi, odnoklassniki, openid.

http://citemind.info/wp-login.php

А то чё-то некоторые жалуются, что не работает эта фича...


Текущее время: 23:22. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc. Перевод: zCarot