За последние 24 часа нас посетили 32006 программистов и 1821 робот. Сейчас ищут 1155 программистов ...

Вставка php кода в html строку

Тема в разделе "PHP для новичков", создана пользователем 6stPROD, 10 сен 2013.

  1. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    Доброго дня!

    Столкнулся с такой проблемой:

    <?php
    $sdd_db_host='localhost';// Хост
    $sdd_db_name='sts';// Имя базы данных
    $sdd_db_user='root';// Логин Mysql
    $sdd_db_pass='';// Пароль Mysql
    @mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);// устанавливаем связь с сервером
    @mysql_select_db($sdd_db_name);// переключаемся на нужную нам базу данных
    $result=mysql_query('SELECT * FROM `sts` ORDER BY id DESC LIMIT 1');// делаем выборку из таблицы
    ?>

    <li><img src="images/map/<?php $row['map'] ?> .jpg" width="235px" height="170px" /></li>

    по идее скрипт должен подключиться к базе, найти нужную нам строчку и выдать название..к которому припишется расширение .jpg и выдастся на экран как картинка... но к сожалению на сайте пустое окошко...

    Прошу помочь
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    1)
    вы, надеюсь, умышленно поставили там этих собачек, ведь так? В противном случае вам сделали медвежью услугу.
    2) сразу забивайте на mysql и переходите на mysqli. Имеется ввиду не база, а пхпшный адаптер. Хотя бы потому что mysql - уже deprecated и в следующей версии пыха будет выпилен.
    3) код делится на 2 части - логика и вывод. Все, что не внутри <?php ?> - это вывод. Просто текст, который будет отдан сервером. Равно как и результат работы всяких print-ов и echo. Все это идет в буфер вывода. Все, что внутри php-тегов не идет в буфер вывода - это просто исполняемый код. Если вы посреди Html-кода поставили <?php $row['map'] ?>, это все равно что просто написать $row['map'] в коде. Вам же надо получить значение этой переменной. Тогда надо написать:

    <li><img src="images/map/<?php echo $row['map']; ?> .jpg" width="235px" height="170px" /></li>

    Это выплюнет значение переменной в данный участок html-кода буфер вывода и, как следствие, в ответ сервера.
     
  4. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    Код (Text):
    1.     <?php include ('function/config.php'); ?>
    2.    
    3.     <li><img src="images/map/<?php echo $row['map']; ?> .jpg" width="235px" height="170px" /></li>
    Я все равно не понял ничего... картинка не отображается...а исходный код равен - <img src="images/map/ .jpg" > ... (


    сам кусок конфига
    Код (Text):
    1. $sdd_db_host='localhost';// Хост
    2. $sdd_db_name='sts';// Имя базы данных
    3. $sdd_db_user='root';// Логин Mysql
    4. $sdd_db_pass='';// Пароль Mysql
    а вышенаписаный скрипт вставлен в индекс


    и вобще есть смысл вставлять инклуд? или достаточно написать
    Код (Text):
    1.  <li><img src="images/map/<?php echo $row['map']; ?> .jpg" width="235px" height="170px" /></li>
    ? хотя как скрипт узает что я хочу попасть в базу и вытащить из нее строчку..блин ничего не понимаю (
     
  5. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    После запроса
    Код (PHP):
    1. $result=mysql_query('SELECT * FROM `sts` ORDER BY id DESC LIMIT 1');// делаем выборку из таблицы 
    забыли забрать данные в массив $row
    Код (PHP):
    1. $row = mysql_fetch_array($result); 
     
  6. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    На данный момент в индексе у меня стоит вот такой код...а значение все равно не выводится из базы (

    Код (Text):
    1. <?php
    2. $sdd_db_host='localhost';// Хост
    3. $sdd_db_name='sts';// Имя базы данных
    4. $sdd_db_user='root';// Логин Mysql
    5. $sdd_db_pass='';// Пароль Mysql
    6. @mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass);// устанавливаем связь с сервером
    7. @mysql_select_db($sdd_db_name);// переключаемся на нужную нам базу данных
    8. $result=mysql_query('SELECT * FROM `sts` ORDER BY id DESC LIMIT 1');// делаем выборку из таблицы
    9. $row = mysql_fetch_array($result);
    10. ?>
    11.    
    12.     <li><img src="images/map/<?php echo $row['map']; ?> .jpg" width="235px" height="170px" /></li>
     
  7. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Выведите в браузер массив $row:
    Код (PHP):
    1. $row = mysql_fetch_array($result);//после этой строки в $row что-то должно быть
    2. var_dump($row); 
    При выводе картинки уберите "px" из параметров width="235px" height="170px"
     
  8. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    Огромное спасибо ) разобрался )
    после $row добавил
    {
    echo '<li><img src="images/map/'.$row['map'].'.jpg "</li>';
    }