2012-07-04 4 views
1

Может ли кто-нибудь показать мне, как получить разные записи для разных запросов? В настоящее время код показывает только первую запись независимо от того, что представляет собой запрос.Получите конкретный контент от MySQL динамически

PHP

$dbh = new PDO("mysql:dbname=$db_name;host=$host", $username, $password); 
$sth = $dbh->prepare("SELECT * FROM data"); 
try { 
    $sth->execute(array($_GET['page'])); 
} 
catch(PDOException $e) { 
    die($e->getMessage()); 
} 
list($page) = $sth->fetch(PDO::FETCH_NUM); 
$sth->closeCursor(); 
echo $page; 

Javascript + Jquery

function getPage() { 
    var data = 'page=' + encodeURIComponent(document.location.hash); 
    $.ajax({ 
     url: "loader2.php", 
     type: "GET",   
     data: data,  
     cache: false, 
     success: function (html) {     
      $('#content').html(html); 
     } 
    }); 

Путь код должен работать это когда-то a href указывая сказать #home или #otherpage нажата, код загружает содержимое соответствия от моя база данных, по ее «позывным», которая соответствует ссылке href (например, позывной для #home является домом). Может ли кто-нибудь помочь мне здесь?

ответ

0

Может быть из-за недостающими, где п в вашем отборном заявлении?

$sth = $dbh->prepare("SELECT * FROM data WHERE callsign=:page"); 
try { 
    $sth->execute(array(':page' =>$_GET['page'])); 
} 
+0

Я забыл упомянуть, что я неумел в программировании php ... Приветствия! – user1492450

1

Я не вижу привязки к любому столбцу таблицы. Пожалуйста, обратитесь к примеру ниже:

<?php 
    $calories = 150; 
    $colour = 'red'; 
    $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit 
    WHERE calories < :calories AND colour = :colour'); 
    $sth->execute(array(':calories' => $calories, ':colour' => $colour)); 
?> 

Ссылка ниже имеют детали:

http://php.net/manual/en/pdostatement.execute.php

1

Оказывается, что следующая строка загружается одно значение возвращенного массива в переменную $ страницы:

list($page) = $sth->fetch(PDO::FETCH_NUM); 

Возможно, попробовать что-то вроде этого вместо этого, в течение последних 3-х строк PHP скрипт:

$resultsArray = $sth->fetch(PDO::FETCH_NUM); 
$sth->closeCursor(); 
foreach ($resultsArray as $value) 
{ 
    echo $value."\n"; 
} 

Это напечатает все результаты, возвращаемые методом PDO fetch().

Смежные вопросы