Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
1

Узнать id таблицы и вывесети значения

05.03.2015, 14:05. Показов 1416. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Вывожу данные из бд в таблицу в таком виде(в виде информативных отдельных блоков), каждой таблице присваиваю свой id из бд:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$goods = selectAll();
foreach($goods as $item){
?>
<br>
<table id="<?=$item["id"]?>">
    <tr>
        <td rowspan="2"><a href="index.php"><?=$item["trebovanie"]?> </a></td>
    </tr>
        <td><?=$item["fio"]?><br><p>г.<?=$item["gorod"]?></td>
        <td>Дата создания <br><?=$item["date"]?></td>
    </tr>
</table>
<?php
}
?>
функции для работы
PHP
1
2
3
4
5
6
7
8
9
10
11
12
    function selectAll(){
    $sql = "SELECT * FROM sozdanie";
    $result = mysql_query($sql) or die(mysql_error());
    return array_reverse(dataBaseToArray($result));
}
function dataBaseToArray($result){
    $array = array();
    while($row = mysql_fetch_assoc($result)){
        $array[] = $row;
    }
    return $array;
}
Вопрос. Как по нажатию гиперссылки (<a href="index.php"><h2><?=$item["trebovanie"]?> </a>) открыть данные именно этой записи таблице. Номер записи будет совпадать в id таблицы, хочу прикрутить функцию
PHP
1
2
3
4
5
6
function selectOne(ЗДЕСЬ ID таблицы - $id){
    $sql = "SELECT * FROM sozdanie where id = $id ";
 
    $result = mysql_query($sql) or die(mysql_error());
    return dataBaseToArray($result);
}
и в фориче передать id
PHP
1
2
3
4
<?php
$goods = selectOne( $id таблицы);
foreach($goods as $item){
?>
Структура бд :
id komy trebovanie fio
1 Министру Повыть ЗП Пупкин
2 Президенту Выходной в субботу Петров

-----------------
1 Министру |
-----------------
2 Президенту | <- нажимаем a href, получаем -> -------------------------------------
id komy trebovanie fio
-------------------------------------
2 Президенту Выходной Петров
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2015, 14:05
Ответы с готовыми решениями:

Запрос, возвращающий значения поля одной таблицы и складывающий эти значения в поле другой таблицы
доборого дня всем, подскажите процедуру которая будет возвращать значение поля одной таблицы и...

Вывести значения одной таблицы двумя запросами,где значения второго запроса должны исключить значения первого
Есть две таблицы. Таблица GRP c полями NameGroup и CodElementGroup. Содержание её таково: Группа_1...

Сравнить уравнения и вывесети какое больше и какое меньше
А= 0,35 Х=0,21 вот что получилось в начале: #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Нужно чтоб в ComboBox от одной таблицы отображались значения из соответствующего поля другой таблицы
Нужно чтоб в combobox от одной таблицы отображались значения из соответствующего поля другой...

9
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
05.03.2015, 19:10 2
Передавайте GET-параметр в адресной строке:
index.php?id=5

В этом случае получить идентификатор в скрипте index.php можно так:
PHP
1
2
3
4
5
if(!empty($_GET['id'])){
    // Получаем по идентификатору $_GET['id'] запись и выводим 
}else{
    // Выводим главную страницу.
}
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
05.03.2015, 19:35  [ТС] 3
если не затруднит, подскажите как и куда вставить. Данные берутся из index.php и после нажания на новость долна открыться в podpis.php

create_db.php
Кликните здесь для просмотра всего текста

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "");
define("DB_NAME", "petition");
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
$sql = 'CREATE DATABASE '.DB_NAME;
mysql_query($sql) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$sql = "
CREATE TABLE sozdanie (
    id int(11) NOT NULL auto_increment,
    komy varchar(50) NOT NULL default '',
    trebovanie varchar(250) NOT NULL default '',
    opisanie varchar(250) NOT NULL default '',
    fio varchar(50) NOT NULL default '',
    gorod varchar(50) NOT NULL default '',
    date varchar(20) NOT NULL default '',
    PRIMARY KEY (id)
)";
mysql_query($sql) or die(mysql_error());
mysql_close();
echo '<p>Структура базы данных успешно создана!</p>';
?>

eshop_lib.inc.php
Кликните здесь для просмотра всего текста

PHP
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "");
define("DB_NAME", "petition");
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
function save($komy,$trebovanie,$opisanie,$fio,$gorod){
$today = date("Y-m-d H:i:s");
    $sql = "INSERT INTO sozdanie(komy, 
                                trebovanie,
                                opisanie,                           
                                fio,
                                gorod,
                                date)
                            VALUES(
                                '$komy', 
                                '$trebovanie',
                                '$opisanie',
                                '$fio',
                                '$gorod',
                                '$today'
                                )";
    mysql_query($sql) or die(mysql_error());
    mysql_close();
}
 
function clearData($data){
        return trim(strip_tags($data));
      /*Для фильтрации данных пользователя, который оформил заказ и эти данные уходят в файл*/
       // case "string_file": return trim(strip_tags($data));
    }
    function selectAll(){
    $sql = "SELECT * FROM sozdanie";
    $result = mysql_query($sql) or die(mysql_error());
    return array_reverse(dataBaseToArray($result));
}
function dataBaseToArray($result){
    $array = array();
    while($row = mysql_fetch_assoc($result)){
        $array[] = $row;
    }
    return $array;
}
function selectOne(){
    $sql = "SELECT * FROM sozdanie where id = 1";
    $result = mysql_query($sql) or die(mysql_error());
    return dataBaseToArray($result);
}
?>

index.php
Кликните здесь для просмотра всего текста
PHP/HTML
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
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
require "eshop_lib.inc.php";
?>
<html>
<head>
    <title>Поступившие петиции</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<ul class="site-navigation">
 <li><a href="#">Главная</a></li>
 <li><a href="#">Регистрация</a></li>
 <li><a href="#">Войти</a></li>
 <li><a href="#">О нас</a></li>
 <li><a href="#">Помощь</a></li>
 <li><a href="sozdat.php">Создать петицию</a>
 </li>
</ul>
<div class="logo">
<img src="logo.jpg" alt="logo" width="100%" height ="180px" >
</div>
<?php
$goods = selectAll();
foreach($goods as $item){
?>
<table border="10" cellpadding="5" cellspacing="0" width="100%" style="border-radius: 50px 0 0 50px; overflow:hidden;float: left" id="<?=$item["id"]?>" bgcolor="#c0c0c0">
    <tr>
        <td rowspan="2"><img src="list.gif" alt="альтернативный текст"></td>
        
        <td colspan="3"><a href="index.php"><h4><?=$item["trebovanie"]?> </h4></a></td>
    </tr>
        <td><h5><?=$item["fio"]?><br><p>г.<?=$item["gorod"]?></td>
        <td>Кол-во подписей<br><?=$item["id"]?></td>
        <td>Дата создания <br><?=$item["date"]?></h5></td>
    </tr>
</table>
<br>
<?php
}
?>
 
 
</body>
</html>

podpis.php
Кликните здесь для просмотра всего текста
PHP/HTML
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
32
33
<?php
require "eshop_lib.inc.php";
?>
<html>
<head>
    <title>Подписать петицию</title>
</head>
<body>
<br>
<p align="right"><a href="sozdat.php"><button><h2>Создать петицию</h2></button></a ></p>
<br>
<?php
$goods = selectOne();
foreach($goods as $item){
?>
 
<table border="10" cellpadding="15" cellspacing="0" width="80%" style="border-radius: 50px 0 0 50px; overflow:hidden;float: left" id >
    <tr>
        <td rowspan="2"><img src="list.gif" alt="альтернативный текст"></td>
        
        <td colspan="3"><a href="index.php"><h2><?=$item["trebovanie"]?> </h2></a></td>
    </tr>
        <td><?=$item["fio"]?><br><p>г.<?=$item["gorod"]?></td>
        <td>Кол-во подписей<br>(9999)</td>
        <td>Дата создания <br><?=$item["date"]?></td>
    </tr>
<?php
}
 
?>
</table>
</body>
</html>
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
05.03.2015, 21:31 4
Рекомендую переделать архитектуру. В index.php - только подключение шаблона и вызов функций, никакого HTML.
А дальше делаете HTML под каждую страницу (главная - main.php, страницы - articles.php и т.д.).

Если ничего не менять, то:
1. В файле index.php во всех ссылках показываете идентификатор статьи в виде GET-параметра, т.е. ссылки заменить на:
PHP
1
<a href="podpis.php?id=<?=$item['id']?>">
Или не id, а название поля-идентификатора в вашей таблицы.

2. В функцию selectOne передаёте id:
PHP
1
$goods = selectOne($_GET['id']);
3. В функции selectOne получаете $id и подставляете в БД:
PHP
1
2
3
4
5
function selectOne($id){
    $sql = "SELECT * FROM sozdanie where id = " . (int) $_GET['id'];
    $result = mysql_query($sql) or die(mysql_error());
    return dataBaseToArray($result);
}
1
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
06.03.2015, 17:11  [ТС] 5
Извините назрел вопрос, как тогда получить кол-во подписей новости?
1)в функцию col_podpisei
PHP
1
2
3
4
5
function col_podpisei($id){
    $sql = "SELECT count(*) FROM people where  nomer = $id";
    $result = mysql_query($sql) or die(mysql_error());
    return $result;
}
передаю с index.php ее порядковый номер
PHP
1
<td><?=col_podpisei($item["id"])?></td>
смотрю количество полей по заданным критерия и вывожу, только результат - Resource id # =(( А требуется количество записей, направьте в нужное русло.
cr.db
Кликните здесь для просмотра всего текста

PHP
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
32
33
34
35
36
37
<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "");
define("DB_NAME", "petition");
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
$sql = 'CREATE DATABASE '.DB_NAME;
mysql_query($sql) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$sql = "
CREATE TABLE sozdanie (
    id int(11) NOT NULL auto_increment,
    komy varchar(50) NOT NULL default '',
    trebovanie varchar(250) NOT NULL default '',
    opisanie text NOT NULL default '',
    fio varchar(50) NOT NULL default '',
    gorod varchar(50) NOT NULL default '',
    date varchar(20) NOT NULL default '',
    PRIMARY KEY (id)
)";
mysql_query($sql) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$sql = "
CREATE TABLE people (
    id int(11) NOT NULL auto_increment,
    im varchar(20) NOT NULL default '',
    family varchar(30) NOT NULL default '',
    email varchar(20) NOT NULL default '',
    gorod varchar(50) NOT NULL default '',
    nomer varchar(20) NOT NULL default '',
    date varchar(20) NOT NULL default '',
    PRIMARY KEY (id)
)";
mysql_query($sql) or die(mysql_error());
mysql_close();
echo '<p>Структура базы данных успешно создана!</p>';
?>

index.php
Кликните здесь для просмотра всего текста
PHP
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
32
33
34
35
36
37
38
39
<?php
require "eshop_lib.inc.php";
?>
<html>
<head>
    <title>Поступившие петиции</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php include('template/header.php'); ?>
 
 
<div class="telo">
<?php
$goods = selectAll();
foreach($goods as $item){
?>
<table border="10" cellpadding="5" cellspacing="0" width="100%" style="border-radius: 10px 50px 10px 50px; overflow:hidden;float: left" id="<?=$item["id"]?>" bgcolor="#c0c0c0">
    <tr>
        <td rowspan="2"><img src="list.gif" alt="альтернативный текст"></td>
        
        <td colspan="3"><a href="podpis.php?id=<?=$item['id']?>">
<h4><?=$item["trebovanie"]?> </h4></a></td>
    </tr>
 
        <td><h5><?=$item["fio"]?><br><p>г.<?=$item["gorod"]?></td>
        <td>Кол-во подписей<br><?=col_podpisei($item["id"])?></td>
        <td>Дата создания <br><?=$item["date"]?></h5></td>
    </tr>
    <br>
    <br>
</table>
<?php
}
?>
<?php include('template/footer.php'); ?>
 
</body>
</html>


lib
Кликните здесь для просмотра всего текста
PHP
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
define("DB_HOST", "localhost");
define("DB_LOGIN", "root");
define("DB_PASSWORD", "");
define("DB_NAME", "petition");
mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
function save($komy,$trebovanie,$opisanie,$fio,$gorod){
$today = date("Y-m-d H:i:s");
    $sql = "INSERT INTO sozdanie(komy, 
                                trebovanie,
                                opisanie,                           
                                fio,
                                gorod,
                                date)
                            VALUES(
                                '$komy', 
                                '$trebovanie',
                                '$opisanie',
                                '$fio',
                                '$gorod',
                                '$today'
                                )";
    mysql_query($sql) or die(mysql_error());
    mysql_close();
}
function save2($im, $family, $email, $gorod, $nomer){
$today = date("Y-m-d");
    $sql = "INSERT INTO people (im, 
                                family,
                                email,                          
                                gorod,
                                nomer,
                                date                            
                                )
                            VALUES(
                                '$im', 
                                '$family',
                                '$email',
                                '$gorod',
                                '$nomer',
                                '$today'
                                    )";
    mysql_query($sql) or die(mysql_error());
    mysql_close();
}
 
function clearData($data){
        return trim(strip_tags($data));
    }
    function selectAll(){
    $sql = "SELECT * FROM sozdanie";
    $result = mysql_query($sql) or die(mysql_error());
    return array_reverse(dataBaseToArray($result));
}
function dataBaseToArray($result){
    $array = array();
    while($row = mysql_fetch_assoc($result)){
        $array[] = $row;
    }
    return $array;
}
function selectOne($id){
    $sql = "SELECT * FROM sozdanie where  id = $id";
    $result = mysql_query($sql) or die(mysql_error());
    return dataBaseToArray($result);
}
function col_podpisei($id){
    $sql = "SELECT count(*) FROM people where  nomer = $id";
    $result = mysql_query($sql) or die(mysql_error());
    return $result;
}
?>
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
06.03.2015, 17:54 6
Nesta, mysql_query возвращает информацию в специфичном виде. Если нужно вывести 1 строку, делаете так:
PHP
1
2
$result = mysql_fetch_assoc(mysql_query('SELECT * FROM `table` WHERE `id` = 1'));
echo $result['id'];
Если вывести все строки, используем цикл:
PHP
1
2
3
4
$result = mysql_query('SELECT * FROM `table`);
while($row = mysql_fetch_assoc($result)){
    echo $row['id'];
}
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
06.03.2015, 18:30  [ТС] 7
Нам нужно узнать количество этих совпадений по условию, и вывести это количество(кол-во совпадений)
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
06.03.2015, 22:00 8
Nesta, mysql_num_rows
0
2 / 2 / 2
Регистрация: 11.05.2010
Сообщений: 84
07.03.2015, 11:45  [ТС] 9
Безрезультатно.
PHP
1
2
3
4
5
6
7
function col_podpisei($id){
    $sql = "SELECT * FROM people where  nomer = $id";
    $result =  mysql_query($sql) or die(mysql_error());
    $num_rows = mysql_num_rows($result);
    return  $snum_rows;
    
}
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
07.03.2015, 14:35 10
Цитата Сообщение от Nesta Посмотреть сообщение
$num_rows = mysql_num_rows($result);
return $snum_rows;
$num_rows и $snum_rows - разные переменные.
1
07.03.2015, 14:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2015, 14:35
Помогаю со студенческими работами здесь

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

Выборка значения из таблицы по переменной из другой таблицы
&lt;?php $result_rw = mysql_query(&quot;SELECT achive_id FROM users_achive WHERE user_id = '$id'&quot;,...

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

Выборка значения из Справочной таблицы, используя значения с формы
Создана форма на содержимое таблицы &quot;Перевозки&quot;. При вводе новой записи значение поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru