Все авторы

PHP MySQL Select Data

The SELECT statement is used to select data from one or more tables:

or we can use the * character to select ALL columns from a table:

To learn more about SQL, please visit our SQL tutorial.

Select Data With MySQLi

The following example selects the id, firstname and lastname columns from the MyGuests table and displays it on the page:

Example (MySQLi Object-oriented)

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) die(«Connection failed: » . $conn->connect_error);
>

$sql = «SELECT id, firstname, lastname FROM MyGuests»;
$result = $conn->query($sql);

if ($result->num_rows > 0) // output data of each row
while($row = $result->fetch_assoc()) echo «id: » . $row[«id»]. » — Name: » . $row[«firstname»]. » » . $row[«lastname»]. «
«;
>
> else echo «0 results»;
>
$conn->close();
?>

Code lines to explain from the example above:

First, we set up an SQL query that selects the id, firstname and lastname columns from the MyGuests table. The next line of code runs the query and puts the resulting data into a variable called $result.

Then, the function num_rows() checks if there are more than zero rows returned.

If there are more than zero rows returned, the function fetch_assoc() puts all the results into an associative array that we can loop through. The while() loop loops through the result set and outputs the data from the id, firstname and lastname columns.

The following example shows the same as the example above, in the MySQLi procedural way:

Example (MySQLi Procedural)

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) die(«Connection failed: » . mysqli_connect_error());
>

$sql = «SELECT id, firstname, lastname FROM MyGuests»;
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) // output data of each row
while($row = mysqli_fetch_assoc($result)) echo «id: » . $row[«id»]. » — Name: » . $row[«firstname»]. » » . $row[«lastname»]. «
«;
>
> else echo «0 results»;
>

You can also put the result in an HTML table:

Example (MySQLi Object-oriented)

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) die(«Connection failed: » . $conn->connect_error);
>

$sql = «SELECT id, firstname, lastname FROM MyGuests»;
$result = $conn->query($sql);

if ($result->num_rows > 0) echo «

«;
// output data of each row
while($row = $result->fetch_assoc()) echo «

«;
>
echo «

ID Name
«.$row[«id»].» «.$row[«firstname»].» «.$row[«lastname»].»

«;
> else echo «0 results»;
>
$conn->close();
?>

Select Data With PDO (+ Prepared Statements)

The following example uses prepared statements.

It selects the id, firstname and lastname columns from the MyGuests table and displays it in an HTML table:

Example (PDO)

class TableRows extends RecursiveIteratorIterator <
function __construct($it) <
parent::__construct($it, self::LEAVES_ONLY);
>

function current() return «

» . parent::current(). «

«;
>

$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDBPDO»;

try $conn = new PDO(«mysql:host=$servername;dbname=$dbname», $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare(«SELECT id, firstname, lastname FROM MyGuests»);
$stmt->execute();

Источник

Многоуровневый select из базы данных

Примеры построения многоуровневых выпадающих списков (select option) и базы данных с применением рекурсии PHP.

В скриптах используется MySQL-таблица `category` с полями `id` , `parent` , `name` , где поле `parent` содержит id родителя.

MySQL-таблица `category`

Оформление вложенности пробелами

  1. В начале получаем все записи из БД в виде ассоциативного массива.
  2. С помощью функции array_to_tree() преобразуем его в древовидный, к элементам массива добавляется элемент «children» в который перемещаются все дочерние элементы.
  3. С помощью функции out_options() рекурсивно выводятся все элементы массива.
  4. Во втором аргументе функции out_options() указывается id элемента, которому нужно установить selected .
prepare("SELECT * FROM `category` ORDER BY `name`"); $sth->execute(); $category = $sth->fetchAll(PDO::FETCH_ASSOC); $category = array_to_tree($category); function array_to_tree($array, $sub = 0) < $a = array(); foreach($array as $v) < if($sub == $v['parent']) < $b = array_to_tree($array, $v['id']); if(!empty($b)) < $a[$v['id']] = $v; $a[$v['id']]['children'] = $b; >else < $a[$v['id']] = $v; >> > return $a; > function out_options($array, $selected_id = 0, $level = 0) < $level++; $out = ''; foreach ($array as $i =>$row) < $out .= ''; if (!empty($row['children'])) < $out .= out_options($row['children'], $selected_id, $level); >> return $out; > ?>

Результат:

Оформление символами псевдографики

Оформление ветвей дерева с помощью символов ├ и └:

prepare("SELECT * FROM `category` ORDER BY `name`"); $sth->execute(); $category = $sth->fetchAll(PDO::FETCH_ASSOC); $category = array_to_tree($category); function array_to_tree($array, $sub = 0) < $a = array(); foreach($array as $v) < if($sub == $v['parent']) < $b = array_to_tree($array, $v['id']); if(!empty($b)) < $a[$v['id']] = $v; $a[$v['id']]['children'] = $b; >else < $a[$v['id']] = $v; >> > return $a; > function out_options($array, $selected_id = 0, $level = 0) < $level++; $out = ''; foreach ($array as $i =>$row) < $out .= ''; if (!empty($row['children'])) < $out .= out_options($row['children'], $selected_id, $level); >> return $out; > ?>

Результат:

Использование optgroup

Использование . оправдано если необходимо выбрать только крайнюю категорию в дереве, но optgroup не поддерживает вложенность и никакие пробельные символы в начале label=». » . Поэтому в примере используется — – широкое тире.

prepare("SELECT * FROM `category` ORDER BY `name`"); $sth->execute(); $category = $sth->fetchAll(PDO::FETCH_ASSOC); $category = array_to_tree($category); function array_to_tree($array, $sub = 0) < $a = array(); foreach($array as $v) < if($sub == $v['parent']) < $b = array_to_tree($array, $v['id']); if(!empty($b)) < $a[$v['id']] = $v; $a[$v['id']]['children'] = $b; >else < $a[$v['id']] = $v; >> > return $a; > function out_optgroup_options($array, $selected_id = 0, $level = 0) < $level++; $out = ''; foreach ($array as $i =>$row) < if (empty($row['children'])) < $out .= ''; > else < $out .= ''; $out .= out_optgroup_options($row['children'], $selected_id, $level); > > return $out; > ?>

Источник

вывод данных из БД MySQL в HTML тег Select

Добавлено через 14 минут
В этом виде все работает.

Загвоздка в том, что бьюсь и немогу вставить этот селект в таблицу

tr> td width=20%>Типtd> td width=80%>ВОТ СЮДАtd> tr>

Вывод информации из бд в html тег Select
Здравствуйте, снова к вам, так как здесь помогают, очень быстро и очень правильно) Есть форма.

тег select + mysql
есть база данных с таблицей растениеводство. Есть select. В него я вывожу из базы культуру. Это я.

Вывод данных из бд в html
Здравствуйте, есть база данных wmp в ней таблица classes в таблице следующая структура ID и NAME в.

выборка из mysql в тег select
Здравствуйте уважаемые форумчане. Вот такой вопрос есть тег select. Из mysql в элемент массива .

dimons, не делай вывод результата в функции, записывай всё в переменную, и из функции её верни (return), в нужное место и вставишь

ЦитатаСообщение от xand Посмотреть сообщение

dimons, не делай вывод результата в функции, записывай всё в переменную, и из функции её верни (return), в нужное место и вставишь

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
function select($result,$value_index=0,$text_index=1,$selected=1,$param=array()) // $result результатат запроса SQL // $value_index индекс в массиве для значения value (необязательный) // $text_index индекс в массиве для текстового значения option (необязательный) // $selected индекс в массиве для выбранного значения option (необязательный) // $parametrs ассоциативный массив атрибутов дискриптора SELECT (необязательный) { $otvet = '; if (isset($param)) { // Добавляем переданные через массив атрибуты while (list($param_name,$param_value)=each($param)) { if ($param_value=='multiple')// Здесь, по необходимости, можно добавить обработку JS { $otvet += ' '.$param_value; continue; } $otvet += ' $param_name='.$param_value; } } $otvet += '>'; while($row=mysql_fetch_row($result)) { if ($row[$value_index]==$selected) { $otvet += '; $otvet += $row[$text_index]; $otvet += ''."\n"; } $otvet += '"; } $otvet += ''; return $otvet; } $tvoi_select = select(. парамерты. );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
 require("func/base.inc"); include_once("func/select.inc"); dbconnect(); if (!$r=mysql_query('SELECT * FROM tip')); $discriptor_param=array(name=>'select'); $value_index=0;// тоесть, для значения value выводить строки из поля country_id $text_index=2;// тоесть, для текстового значения option выводит строки из поля country_name $selected='1';// установить выбранным опцию где value="1" mysql_data_seek($result,0);// сбросим внутренний указатель результата select($result,$value_index,$text_index,$selected,$discriptor_param); if (isset($_GET['new'])) $new = $_GET['new']; if (isset($new))//Режим добавления { echo""; echo "  Тип ".$tvoi_select."  % colspan = 2>     '; > ?>

Источник

SQL-запросы из web-страницы

В предыдущей части рассказывается, что такое MySQL, и как создавать базы и таблицы с помощью phpMyadmin, а сейчас речь пойдёт о вводе и выводе информации с помощью своей веб-страницы.

Итак, у нас есть БД домашней библиотеки — homelib и таблица polka1.

Теперь нужно сделать html-страницу из которой мы будем добавлять книги/записи в БД в таблицу polka1.

Создаём файл index.html.

Маленький нюанс, надо в теги дописать букву ‘r’

Создаём файл style.css

Зайдите в браузер /. Должно получиться так:

Здесь всё просто, вводим имя автора, название книги и вставляем текст. Поле для текста совсем маленькое, но оно предназначено только для копипасты.

Нажатие на кнопку вызывает скрипт rec.php и передаёт ему содержимое полей.

Чтобы заработало, надо создать rec.php:

‘, », »);»; // . записывать данные mysql_query($insert_sql); // отправляем данные в базу ?>

Объяснение работы заключено в комментариях. Файл (connect.php) с данными для аутинтефикации в базе, сделаем отдельно, чтоб его можно было подключать в других скриптах.

Создаём connect.php.

В предыдущей части, мы создали базу с именем homelib и её пользователем homelib с паролем 12345

Все файлы должны лежать в одной папке.

Теперь введите данные и нажмите «Записать». В БД появится новая книжка.

Если что-то не работает, то проверьте права на файлы, логин и пароль.

Следующим этапом, будет вывод всех писателей и названий из БД, а также возможность читать определённую книгу.

Изменим существующий index.html вот так:

И дополним файл style.css

 body < width:400px; margin:15px auto; background-image: url('//istarik.ru/file/bg.png'); >#submit < width:200px; height: 40px; border:0px ; background:#af87b1; margin:5px 0px 10px 63px; font-size: 18px; color: #ffffff; cursor: pointer; box-shadow: 0px 5px 2px -1px rgba(0,0,0,0.5); border-radius: 0; >#submitover < width:200px; height: 40px; border:0px ; background:#65c178; margin:5px 0px 10px 63px; font-size: 18px; color: #ffffff; cursor: pointer; box-shadow: 0px 5px 2px -1px rgba(0,0,0,0.5); border-radius: 0; >#submitback < width:200px; height: 40px; border:0px ; background:#65c178; font-size: 18px; color: #ffffff; cursor: pointer; box-shadow: 0px 5px 2px -1px rgba(0,0,0,0.5); border-radius: 0; >#submitread < width:200px; height: 40px; border:0px ; background:#8491b7; font-size: 16px; color: #ffffff; cursor: pointer; box-shadow: 0px 5px 2px -1px rgba(0,0,0,0.5); border-radius: 0; >#submit:hover, #submitover:hover, #submitback:hover, #submitread:hover < box-shadow: 0px 2px 2px -1px rgba(0,0,0,0.6); >#Nknig

Не хватает обработчика нажатия на кнопку, это файл allauthor.php, сделаем его:

Номер книги: «.$row[‘id’].»

Автор: «.$row[‘author’].»

Название: «.$row[‘title’] .»

—————————————-«); > while($row = mysql_fetch_array($result)); ?>

Нажатие переведёт пользователя на страницу со списком авторов и их книг, сохранённых в таблице polka1.

Создадим обработчик (read.php) нажатия на кнопку «Читать», она будет выводить на отдельную страничку текст книги.

Теперь если ввести в поле номер книги и нажать «Читать», то откроется страница с текстом.

Внизу будут кнопки возврата к поиску и на главную страницу.

Ну вот, Вы научились вводить и выводить данные со своей html-странички.

Материал написан для ознакомления с БД и не подходит для работы на сервере имеющем доступ в интернет, так как может быть подвержен sql инъекциям .

  • 7 июня 2015, 20:19
  • stD
  • 32548
  • —>

    Известит Вас о новых публикациях

    Источник

    Читайте также:  Поле загрузки файлов, которое мы заслужили
    Оцените статью