Несколько вопросов по php

Ответить
Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02.01.2010
есть код

Код: Выделить всё

<?
$open = fsockopen("y-mihantosa.homeip.net","8000");
if ($open) {
fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
$read = fread($open,1000);
$text = explode("content-type:text/html",$read);
$text = explode(",",$text[1]);
} else { $er="Connection Refused!"; }
?> 
как в место
$open = fsockopen("y-mihantosa.homeip.net","8000");
выводить значения из бд

Код: Выделить всё

<?php  
  include ("db_config.php"); 
  $result = mysql_query("SELECT * FROM monik",$db);

  if ($result && mysql_num_rows($result)> 0)  
  {
     while ($myrow = mysql_fetch_assoc($result)) 
     {
         echo ' 
'. $myrow['ip'] .':'. $myrow['port'] .'
';}
  }
  mysql_free_result($result);

?>

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
чтобы выводить из бд, данные сначала надо положить туда..

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02.01.2010

Код: Выделить всё

<?php  
  include ("db_config.php"); 
  $result = mysql_query("SELECT * FROM monik",$db);

  if ($result && mysql_num_rows($result)> 0)  
  {
    while ($myrow = mysql_fetch_assoc($result)) 
    {
      $open = fsockopen($myrow['ip'],$myrow['port']);
      if ($open) {
        fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
        $read = fread($open,1000);
        $text = explode("content-type:text/html",$read);
        $text = explode(",",$text[1]);
      } else { 
        $er="Connection Refused!"; 
      }
      if ($text[1]==1) { $state = "Включено"; } else { $state = "Выключено"; }
      if ($er) { echo $er; exit; }
      echo $myrow['ip'] .':'. $myrow['port'] ;
    }
  }
  mysql_free_result($result);
?>

сделал так,спасибо Distructor
остаеться вопрос : как сюда выводить данные
Сейчас слушают: $text[0] из $text[3] возможных ($text[4] уникальных слушателей)<br>
Мax слушателей: $text[2]<br>
Состояние радио: <b>$state</b><br>
Битрейт: $text[5] Kbps<br>
Название трека: $text[6]
ведь если в мой код всавить Состояние радио: <b>$state</b><br> то перемеменная $state остаеться без изменений.
данные из бд я вывожу '. $myrow['ip'] .'

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
если вывод идет в html, то

Код: Выделить всё

Состояние радио: <b><?php print $state ?></b><br>
если в php, то проверяй правильность кавычек и доставляй недостающие

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02.01.2010
проблема была в тот что echo открывалось одинарными кавычками....
заменив на двойные все работает на ура

-- добавлено 18 май 2010, 18:40 --

если сервер отсутствует(непрваильные данные) ,то в строчке $open = fsockopen($myrow['ip'],$myrow['port']);
выскакивает ошибка
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Этот хост неизвестен. in
Warning: fsockopen() [function.fsockopen]: unable to connect to
помогите убрать ошибку и не выводить сервер
НЕ прав пишется раздельно!!!!!

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
чтобы не выводить ошибку достаточно добавить @

Код: Выделить всё

$open = @fsockopen($myrow['ip'],$myrow['port']);
а потом уже проверять $open на false

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02.01.2010

Код: Выделить всё

if ($text[1]==1) { $state = "Включено"; } else { $state = "Выключено"; }

выводит текст,а коим образом пихнуть картинку вместо текста?
НЕ прав пишется раздельно!!!!!

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
SuBbI писал(а):выводит текст,а коим образом пихнуть картинку вместо текста?
ты же вроде как HTML освоил? просто вставить нужный <img ... />

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02.01.2010
Хм,10минут сам разобрался...опять с кавычками путаюсь......
не могу понять принцип и разницу <"> или <'>
НЕ прав пишется раздельно!!!!!

Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009
и в чем сложность?

Отличие одинарных кавычек от двойных в php только одно - внутри двойных ищутся вставленные переменные и заменяются их значениями, а внутри одинарных все остается как есть.
Принцип довольно прост - все что открыл надо закрыть)
Если в строке вида

Код: Выделить всё

<?php 
$str = " value username ";
?>
надо взять имя в кавычки, то используется экранирование

Код: Выделить всё

<?php 
$str = " value \"username\" ";
?>
т.о. \" рассматривается как обычный символ и не закрывает строку

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02.01.2010
теперь никаких)
НЕ прав пишется раздельно!!!!!

Ответить