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

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02 янв 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
Администратор
Сообщения: 1600
Зарегистрирован: 28 дек 2009
чтобы выводить из бд, данные сначала надо положить туда..

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02 янв 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
Администратор
Сообщения: 1600
Зарегистрирован: 28 дек 2009
если вывод идет в html, то

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

Состояние радио: <b><?php print $state ?></b><br>

если в php, то проверяй правильность кавычек и доставляй недостающие

Аватара пользователя
SuBbI
Сообщения: 161
Зарегистрирован: 02 янв 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
Администратор
Сообщения: 1600
Зарегистрирован: 28 дек 2009
чтобы не выводить ошибку достаточно добавить @

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

$open = @fsockopen($myrow['ip'],$myrow['port']);

а потом уже проверять $open на false

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

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

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

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

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

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

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

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

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

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

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

<?php
$str = " value \"username\" ";
?>

т.о. \" рассматривается как обычный символ и не закрывает строку

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


Вернуться в «Вопросы по программированию»