2015-09-23 6 views
-4

Я пытаюсь выяснить, как я собираюсь отображать свои данные из базы данных. Однако я хочу показать одну конкретную запись. Вот мой дизайн базы данных: MySQL database example.MySQL выбор отдельных данных?

Я использую PHP, чтобы связать его с веб-сайтом. На веб-сайте я хотел бы, чтобы он отображался из таблицы рассказов: «Это книга об Интернете!» Только это не что иное, только эта конкретная запись. Book_number является первичным ключом и автоматически увеличивается.

Вот мой текущий код:

<?php 
// Change variables if going to a server. 
$username = "root"; 
$password = ""; 
$hostname = "localhost"; 

//connect 
$dbhandle = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 

//Select book database. 
$selected = mysql_select_db("book",$dbhandle) 
    or die("Could not select examples"); 

    //select all the records from the book database 
$result = mysql_query("SELECT book_name, story, time_track FROM book"); 
//fetch data 
while ($row = mysql_fetch_array($result)) { 
    echo "ID:".$row{'book_name'}." Name:".$row{'story'}." 
    ".$row{'time_track'}."<br>"; 
} 

//close 
mysql_close($dbhandle); 

?> 

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

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

+0

Используйте [WHERE] (http://www.w3schools.com/sql/sql_where.asp) параметр – Crecket

+0

Если вы можете, вы должны [прекратить использование 'mysql_ * 'functions] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте об использовании PDO, [это действительно не сложно] (http://jayblanchard.net/demystifying_php_pdo.html). –

ответ

1

Вам нужно фильтровать записи через SQL Как это:

$book_number = $_GET['book_number']; 
$result = mysql_query("SELECT book_name, story, time_track FROM book 
WHERE book_number = '$book_number' 
"); 

Вы можете передать эту переменную BOOK_NUMBER через URL (GET) с/без шифрования.

Лучше шифровать переменные при отправке их по URL-адресам.

+0

Вы должны передать '$ book_number' через URL. В противном случае. просто измените '$ book_number = $ _GET ['book_number'];' на '$ book_number = 1;' и он будет работать. – Pupil

+0

Извините за это, пожалуйста, перейдите на '$ book_number = 1', и он должен работать. – Pupil

0

ИСПОЛЬЗОВАТЬ

ВЫБРАТЬ book_name, история, time_track из книги WHERE book_name = «Ваша книга»

Этот запрос поможет выбрать подробности этого конкретного названия книги.

+0

Вы можете поделиться кодом? –

-1

Try This

<?php 
// Change variables if going to a server. 
$username = "root"; 
$password = ""; 
$hostname = "localhost"; 

//connect 
$dbhandle = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 

//Select book database. 
    mysql_select_db("book",$dbhandle) 
    or die("Could not select examples"); 

    //select single record from the book table which book_number is 1. 
$result = mysql_query("SELECT book_name, story, time_track FROM book WHERE book_number='1'"); 
//fetch data 
while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    echo "ID:".$row['book_name']." Name:". $row['story'].$row['time_track']."<br>"; 
} 

//close 
mysql_close($dbhandle); 

?> 
+0

Примечание: Неопределенный индекс: book_name в D: \ Program \ xamp \ htdocs \ c \ story \ c.php в строке 20 Примечание: Неопределенный индекс: история в D: \ Program \ xamp \ htdocs \ c \ story \ c .php в строке 20 Примечание: Неопределенный индекс: time_track в D: \ Program \ xamp \ htdocs \ c \ story \ c.php в строке 20 ID: Имя: –

+0

Спасибо. Использовать квадратные скобки для массива –

+2

Зачем OP «попробуйте это»? Хороший ответ всегда будет объяснять, что было сделано, и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO. –

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