Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 21:06   #1
Web-Gangsta
HTML, JS, CSS, PHP
Форумчанин
 
Аватар для Web-Gangsta
 
Регистрация: 20.04.2009
Сообщений: 233
Вопрос Вытаскиваем данные из БД на страницу

Доброго времени суток.

Пишу сайт, встал вопрос о том, как вытащить из БД данные... Как записать, я разобрался, но вот допустим у меня есть таблица под именем pages, в ней четыре столбца id, page, title, code... так вот мне необходимо идентифицировать по столбцу page, ну т.е. какие данные открывать... Т.е. если страница index, то и строчка должна быть та в которой page=index, а из этого уже, из code вытаскивать на страницу данные... С title я потом разберусь, сейчас важно это уловить... А то мне совсем что-то тяжело...
[ Вот здесь должен был быть мой юзербар... Но... ]
Web-Gangsta вне форума
Старый 11.03.2010, 22:49   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Вот есть функция для работы с БД:
http://programmersforum.ru/showthrea...t=82857&page=2
Там можно получить в переменную нужные данные.
А насчет запроса - вам, похоже, нужно использовать
Код:
 SELECT code FROM pages WHERE page=...
motorway вне форума
Старый 11.03.2010, 23:09   #3
Web-Gangsta
HTML, JS, CSS, PHP
Форумчанин
 
Аватар для Web-Gangsta
 
Регистрация: 20.04.2009
Сообщений: 233
По умолчанию

Я так понимаю Вы говорите об этом:

PHP код:
$query "INSERT INTO $tab VALUES ('1','1')";
$result mysql_query($query);
$query "SELECT * FROM $tab";
$result mysql_query($query);

while(
$row mysql_fetch_assoc($result)){
$array[] = $row; };

array2table($array,600);



mysql_close ($link);

}; 
... не могли бы помочь в расшифровке, что к чему... Мне очень важно что и как работает... Потому как если я просто тупо буду все копипастить толку от этого думаю будет мало...
[ Вот здесь должен был быть мой юзербар... Но... ]
Web-Gangsta вне форума
Старый 11.03.2010, 23:30   #4
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

http://phpclub.ru/detail/article/phpintro
http://freshcoder.ru/archives/87

Почитай. Будут вопросы - пиши.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума
Старый 12.03.2010, 10:55   #5
Web-Gangsta
HTML, JS, CSS, PHP
Форумчанин
 
Аватар для Web-Gangsta
 
Регистрация: 20.04.2009
Сообщений: 233
По умолчанию

Я разобрался с тем как выводить данные из таблицы... Даже вывел их у себя на сайте ^_^ Может кто-нибудь помочь в объяснении того как сделать форму редактирования? Я так понимаю, мне данные из всех этих ячеек надо будет вытащить в value каждого объекта (text, textarea) и там их изменить и как-бы заново отправить запрос на добавление? Но как добавить в нужную мне ячейку?
[ Вот здесь должен был быть мой юзербар... Но... ]
Web-Gangsta вне форума
Старый 12.03.2010, 11:34   #6
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Если ты редактируешь существующую строку БД, то тебе нужно использовать UPDATE, а не INSERT.

http://freshcoder.ru/archives/87
Здесь, в разделе "Изменение данных" описано как это сделать.

Простой пример:

PHP код:
echo '<form action="index.php" method="post" id="myform" name="myform" >';
echo 
'<input type="hidden" id="id" name="id" value="'.$result['id'].'" />';
echo 
'<input type="text" id="name" name="name" value="'.$result['name'].'" />';
echo 
'<input type="text" id="surname" name="surname" value="'.$result['surname'].'" />';
echo 
'<input type="submit" id="submit" name="submit" value="Change" />';
echo 
'</form>'
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума
Старый 15.03.2010, 23:38   #7
Web-Gangsta
HTML, JS, CSS, PHP
Форумчанин
 
Аватар для Web-Gangsta
 
Регистрация: 20.04.2009
Сообщений: 233
По умолчанию

Johnatan, спасибо, форма работает просто отлично, я еще добавил передачу данных через GET, что бы в value появлялось то что нужно:

PHP код:
<html>
<head>
<title>Добавление в БД</title>
</head>
<body style="margin:0px;">
<center>
<?php
$update
=$_GET['update'];

include_once(
"connect.php");

$query "SELECT * FROM pages WHERE page = '".$update."'";
$res mysql_query($query) or die(mysql_error());
$number mysql_num_rows($res);

while (
$row=mysql_fetch_array($res)) {
    echo 
'<p><h2>Редактирование БД</h2><p>';
    echo 
'<form action="update.php" method="POST">';
    echo 
'<table cellpadding="5" cellspacing="5" border="0">';
    echo 
'<tr>';
    echo 
'<td>Имя страницы:</td>';
    echo 
'<td><input type="text" value="'.$row['page'].'" style="width:500px;" name="page"></td>';
    echo 
'</tr>';
    echo 
'<tr>';
    echo 
'<td>Заголовок:</td>';
    echo 
'<td><input type="text" value="'.$row['title'].'" style="width:500px;" name="title"></td>';
    echo 
'</tr>';
    echo 
'<tr>';
    echo 
'<td style="vertical-align:top;">Содержимое:</td>';
    echo 
'<td><textarea cols="20" rows="10" style="width:500px; height:300px;" name="code">'.$row['code'].'</textarea></td>';
    echo 
'</tr>';
    echo 
'<tr>';
    echo 
'<td colspan="2" align="center"><input type="submit" name="submit" value="Добавить"></td>';
    echo 
'</tr>';
    echo 
'</table>';
    echo 
'</form>';
}

?>
</center>
</body>
</html>
Я вот только не разобрался со скриптом который должен заменять в БД информацию. Хотел сделать вот из этого кода:

PHP код:
<?php
    
include_once("connect.php");
        
    
$page $_POST['page'];
    
$title $_POST['title'];
    
$code $_POST['code'];
    
$query "SELECT `id`
    FROM `pages`
    WHERE `page`='
{$page}'        ";
    
$sql mysql_query($query) or die(mysql_error());
    if (
mysql_num_rows($sql) > 0){
        echo 
'<script>alert("Такая страница уже существует"); location="new_bd.php";</script>';
    }
    
    else{
        
$query "INSERT INTO pages(page , title , code )
        VALUES ('
$page', '$title', '$code')";
        
$result mysql_query($query) or die(mysql_error());;
        echo 
'<script>alert("Успешно");
                location="new_bd.php";</script>'
;
    }
?>
Но не вышло... Я где-то чего-то не понял...
[ Вот здесь должен был быть мой юзербар... Но... ]
Web-Gangsta вне форума
Старый 16.03.2010, 03:11   #8
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Johnatan Посмотреть сообщение
Если ты редактируешь существующую строку БД, то тебе нужно использовать UPDATE, а не INSERT.
читайте что люди пишут)

PHP код:
$result31 mysql_query ("UPDATE tablica SET stolbec1 = '$stolbec1',
stolbec2='
$stolbec2', WHERE id='$id'" ,$db); 
где tablica нужная вам талбица в БД, stolbec1 и stolbec2 нужные столбцы,
а выражение WHERE id='$id' определяет по полю id в какую !существующую строку буду вносится изменения.
P.S. а ваще прально грят - почитайте основы работы с MySQL БД))
думай как баг, действуй как баг, и ты найдешь баг )

Последний раз редактировалось mrgrudge; 16.03.2010 в 03:16.
mrgrudge вне форума
Старый 16.03.2010, 03:13   #9
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Во-первых, читаем очень внимательно (!!!) http://www.phpfaq.ru/slashes
Во-вторых, INSERT используется только для создания новой записи в таблице. Если ты запись редактируешь, то нужно использовать UPDATE, который вносит изменения в существующую запись
Вот, можешь поковырять этот код: http://www.phpfaq.ru/formtable

edit: mrgrudge, снайпер блин.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума
Старый 02.04.2010, 22:03   #10
Web-Gangsta
HTML, JS, CSS, PHP
Форумчанин
 
Аватар для Web-Gangsta
 
Регистрация: 20.04.2009
Сообщений: 233
По умолчанию

Я решил сделать "администраторскую". Т.е. у меня на сайте есть авторизация и нужно каким-то образом вытащить кнопку "администраторская", когда на сайт вошел администратор... Я так понял это надо узнавать по нику, но как лучше сделать это, что бы было защищеннее... Боюсь наделав дыр потом поплатиться...
[ Вот здесь должен был быть мой юзербар... Но... ]
Web-Gangsta вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как данные из полей ввода передать на другую страницу Arassir PHP 1 01.02.2010 22:42
Запаролить страницу xBARTONx PHP 1 23.01.2010 02:49
Пароль на страницу Amen PHP 6 08.10.2009 22:25
Выделить страницу StasSv Microsoft Office Excel 7 28.02.2008 10:34
Help! Ссылки на страницу с БД DiX Microsoft Office Excel 1 18.07.2007 02:13