Друзья нужна помощь, мучаюсь второй день. есть страничка, поделенная на две части, с лева 10 кнопок, а с права контентная часть, изображение прикрепил. так вот по нажатию на первую кнопку, нужно выводить из базы данных первую строку с id 1, на второю с id 2, на 10-ю с id 10. все это динамически не перегружая страничку. код jqery который отправляет запрос на страницу php. Код (Text): $('#loadpage1').click(function(){ var id = 1; $.post('./load.php', {id:id}, function (data) { $('.aside').html(data); }); }); код php PHP: <?php $pdo = new PDO('mysql:host=localhost;dbname=test;charcet=utf8', 'root', ''); $id = $_GET['id']; $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='$id'); $stmt->execute(); $data = $stmt->fetchAll()[0]; $holder = $data['title']; $holder .= $data['text']; $style = $data['style']; echo $holder; echo $style; но такой код выдает ошибку на строке 6, видно на картинке. исправляю 6-ю строку на этот ошибок не выдает, но и данных из базы тоже нет. Код (Text): $stmt = $pdo->prepare('SELECT * FROM ar WHERE id=$id'); как решить эту проблему не знаю, уважаемые программисты, php гуру, кто ни будь поможет мне с этим. был бы весьма признателен. а то мучаюсь уже второй день.
не работает. PHP: <?php $pdo = new PDO('mysql:host=localhost;dbname=test;charcet=utf8', 'root', ''); $id = $_GET['id']; $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='.$id'); $stmt->execute(); $data = $stmt->fetchAll()[0]; $holder = $data['title']; $holder .= $data['text']; $style = $data['style']; echo $holder; echo $style;
прошу прощения, но я новичок. исправляю шестую так все работает. но не так как я описал выше. PHP: <?php $pdo = new PDO('mysql:host=localhost;dbname=test;charcet=utf8', 'root', ''); $id = $_GET['id']; $stmt = $pdo->prepare('SELECT * FROM ar WHERE id=1'); $stmt->execute(); $data = $stmt->fetchAll()[0]; $holder = $data['title']; $holder .= $data['text']; $style = $data['style']; echo $holder; echo $style;
PHP: $stmt = $pdo->prepare('SELECT * FROM ar WHERE id='.$id); ошибок нет, но и данных с базы тоже нет. --- Добавлено --- спасибо огромное, выручил, как тут плюсануть в карму?
лал... все самое интересное впереди.. PHP: $stmt = $pdo -> prepare( "SELECT * FROM ar WHERE id = ?" ); $stmt -> execute( array ( $id ) ); $data = $stmt -> fetch( PDO::FETCH_ASSOC ); Ведь для этого prepare
раньше платили за количество кода, во были времена, оберни в функцию и вызывай уже её, можешь doctrine посмотреть, удобная ORM библиотека для работы с базами данных.
уважаемый php гуру, я новичок, и только начал учить php, за инфу про библиотеку спасибо, я еще не дошел до функций и до библиотек))))) что мне с этим кодом делать? вставить в ту часть и вывести с echo?
Можно попробовать. Ты случаем не начал учить PHP без знания школьного курса математики и информатики? Ты задавал вопрос о укорочении кода, его можно засунуть в функцию, чтобы потом вызывать только функцию, а не дублировать этот код. Понятно что такое функция и её синтаксис в PHP? Главное понимать полностью как всё работает. Так что если что-то не понятно, ты спрашивай, чтобы понять причинно следственные связи. Так будет проще. Можно конечно на абум попробовать, метод тыка так называемый.
с математикой и информатикой вроде норм. я только начал учить php, а код выше набросал отрезками и кусочками. для моей нужды пока хватает. спасибо тебе и товарищам программистам выше, написал этот вопрос несколько раз в маиле, никого ответа. пока этот метод активно использую))))))))))))))))))))))))))))))) если тебе не трудно, будь любезен покажи как этот код грамотно как написать.
так тебе же дали готовый код, в этом сообщении https://php.ru/forum/threads/pomosch-v-php-kode.59993/#post-485342
хорошая, там не всё подробно, по этому нужно ещё и самостоятельно искать если что-то не до конца понятно, но она хорошо направляет