За последние 24 часа нас посетили 76084 программиста и 5370 роботов. Сейчас ищут 1446 программистов ...

помощь в PHP коде.

Тема в разделе "PHP для новичков", создана пользователем mister_ex_ex, 12 сен 2016.

  1. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    Друзья нужна помощь, мучаюсь второй день.
    есть страничка, поделенная на две части, с лева 10 кнопок, а с права контентная часть, изображение прикрепил.

    ajax_loc.jpg
    так вот по нажатию на первую кнопку, нужно выводить из базы данных первую строку с id 1, на второю с id 2, на 10-ю с id 10.
    все это динамически не перегружая страничку.

    код jqery который отправляет запрос на страницу php.
    Код (Text):
    1. $('#loadpage1').click(function(){
    2.                 var id = 1;
    3.                 $.post('./load.php', {id:id}, function (data) {
    4.                     $('.aside').html(data);
    5.  
    6.                 });
    7. });
    код php

    PHP:
    1. <?php
    2.  
    3.  
    4.         $pdo = new PDO('mysql:host=localhost;dbname=test;charcet=utf8', 'root', '');
    5.         $id = $_GET['id'];
    6.         $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='$id');
    7.        $stmt->execute();
    8.  
    9.        $data = $stmt->fetchAll()[0];
    10.  
    11.  
    12.        $holder = $data['title'];
    13.        $holder .= $data['text'];
    14.        $style = $data['style'];
    15.        echo $holder;
    16.        echo $style;
    но такой код выдает ошибку на строке 6, видно на картинке.

    исправляю 6-ю строку на этот ошибок не выдает, но и данных из базы тоже нет.
    Код (Text):
    1. $stmt = $pdo->prepare('SELECT * FROM ar WHERE id=$id');
    как решить эту проблему не знаю, уважаемые программисты, php гуру, кто ни будь поможет мне с этим. был бы весьма признателен. а то мучаюсь уже второй день.
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    PHP:
    1. $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='.$id);
     
  3. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    не работает.
    PHP:
    1. <?php
    2.  
    3.  
    4.         $pdo = new PDO('mysql:host=localhost;dbname=test;charcet=utf8', 'root', '');
    5.         $id = $_GET['id'];
    6.         $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='.$id');
    7.        $stmt->execute();
    8.  
    9.        $data = $stmt->fetchAll()[0];
    10.  
    11.  
    12.        $holder = $data['title'];
    13.        $holder .= $data['text'];
    14.        $style = $data['style'];
    15.        echo $holder;
    16.        echo $style;
    12.png
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Ошибку перевести не?
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    сравни свою 6-ю строку с той что написал я
     
  6. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    прошу прощения, но я новичок.
    исправляю шестую так все работает. но не так как я описал выше.
    PHP:
    1. <?php
    2.  
    3.  
    4.         $pdo = new PDO('mysql:host=localhost;dbname=test;charcet=utf8', 'root', '');
    5.         $id = $_GET['id'];
    6.         $stmt = $pdo->prepare('SELECT * FROM ar WHERE id=1');
    7.         $stmt->execute();
    8.  
    9.         $data = $stmt->fetchAll()[0];
    10.  
    11.  
    12.         $holder = $data['title'];
    13.         $holder .= $data['text'];
    14.         $style = $data['style'];
    15.         echo $holder;
    16.         echo $style;
    13.png
     
  7. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    так ты отравляешь данные POST а принимаешь GET )))
     
    mister_ex_ex нравится это.
  8. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    PHP:
    1. $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='.$id);
    ошибок нет, но и данных с базы тоже нет.
    --- Добавлено ---
    спасибо огромное, выручил, как тут плюсануть в карму?
     
  9. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    чуть внимательней и все получится )
     
    mister_ex_ex нравится это.
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Ставь палец верх/лайк, кнопка есть под каждым сообщением
     
    mister_ex_ex нравится это.
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    лал... все самое интересное впереди..
    PHP:
    1. $stmt = $pdo -> prepare( "SELECT * FROM ar WHERE id = ?" );
    2. $stmt -> execute( array ( $id ) );
    3. $data = $stmt -> fetch( PDO::FETCH_ASSOC );
    Ведь для этого prepare
     
    mister_ex_ex нравится это.
  12. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    это так можно сократить весь код на php?
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    раньше платили за количество кода, во были времена, оберни в функцию и вызывай уже её, можешь doctrine посмотреть, удобная ORM библиотека для работы с базами данных.
     
  14. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    уважаемый php гуру, я новичок, и только начал учить php, за инфу про библиотеку спасибо, я еще не дошел до функций и до библиотек)))))

    что мне с этим кодом делать? вставить в ту часть и вывести с echo?
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    Можно попробовать.
    Ты случаем не начал учить PHP без знания школьного курса математики и информатики?

    Ты задавал вопрос о укорочении кода, его можно засунуть в функцию, чтобы потом вызывать только функцию, а не дублировать этот код.
    Понятно что такое функция и её синтаксис в PHP?

    Главное понимать полностью как всё работает. Так что если что-то не понятно, ты спрашивай, чтобы понять причинно следственные связи. Так будет проще.
    Можно конечно на абум попробовать, метод тыка так называемый.
     
    mister_ex_ex нравится это.
  16. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    с математикой и информатикой вроде норм.

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

    спасибо тебе и товарищам программистам выше, написал этот вопрос несколько раз в маиле, никого ответа.


    пока этот метод активно использую)))))))))))))))))))))))))))))))

    если тебе не трудно, будь любезен покажи как этот код грамотно как написать.
     
  17. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    так тебе же дали готовый код, в этом сообщении https://php.ru/forum/threads/pomosch-v-php-kode.59993/#post-485342
     
  18. mister_ex_ex

    mister_ex_ex Новичок

    С нами с:
    12 сен 2016
    Сообщения:
    38
    Симпатии:
    1
    Все спасибо.

    Заказал эту книгу, что про нее скажешь?
    http://www.ozon.ru/context/detail/id/137538198/
     
  19. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв
    хорошая, там не всё подробно, по этому нужно ещё и самостоятельно искать если что-то не до конца понятно, но она хорошо направляет