Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт для работы с BD 
:(
    Опции темы
deMike
  Дата 9.9.2005, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


M.Shinoda
**


Профиль
Группа: Участник
Сообщений: 361
Регистрация: 12.10.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 0



У меня возник очерядной вопрос.
Предположем у меня есть html таблица плана:

Код

<table>
<tr>
 <td>Имя</td>
 <td>Фамилия</td>
 <td>Отчество</td>
</tr>
<tr>
 <td>$value</td>
 <td>$value</td>
 <td>$value</td>
</tr>
</table>


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

Спасибо, удачи!

Это сообщение отредактировал(а) Мастeр - 9.9.2005, 19:18
PM MAIL WWW   Вверх
-=Ustas=-
Дата 9.9.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Ты с СУБД из PHP по-ходу не работал?!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 9.9.2005, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Мастeр открываем книжку и читаем "Взаимодействие с Базами Данных"... Помимо этого еще и поиск рулит и FAQ...
Объяснять тебе теорию СУРБД и работы с ними через PHP никто не будет.
PM ICQ   Вверх
-=Ustas=-
Дата 9.9.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



У меня просто время было smile Держи, там уже под себя перебьешь, но принципы тебе должны быть понятны:
- сама выборка
Код

<?php // выборка

...
...// Тут собсна сам коннект и выбор БД
...// Приконнектились, выбрали

$sql = "SELECT
            name,
            family,
            fathername
        FROM
            your_table
        ORDER BY
            name";
$res = mysql_query($sql);
if (!$res) {
    echo mysql_error();
    exit();
} else {
    if (mysql_num_rows($res) == 0) { // Записей в таблице нет
        ...// Если хочешь, выведи сообщение
    } else {
        echo "<table>
                <tr>
                <td>Имя</td>
                <td>Фамилия</td>
                <td>Отчество</td>
                </tr>";

        while ($obj = mysql_fetch_object($res)) {
            echo "<tr>
                  <td>".$obj->name."</td>
                  <td>".$obj->family."</td>
                  <td>".$obj->fathername."</td>
                  </tr>";
        }
        echo "</table>";
    }
}

?>

- удаление
Код

<?php // например delete.php

...
...// Тут собсна сам коннект и выбор БД
...// Приконнектились, выбрали

if (!isset($delete)) {
    echo "
    <form action='".$_SERVER['PHP_SELF']."' method='POST'>
        Введите имя :<input name='userName' type='text'><br>
        <input type='submit' name=\"delete\" value='Удалить'>
    </form>";
} else {
    $sql = "DELETE FROM
                your_table
            WHERE
                name = '".mysql_escape_string($_POST['userName'])."'";
    if (mysql_query($sql)) {
        ...// Такая запись была и она успешно удалена
    } else {
        ...// Либо нет такой записи, либо смотри mysql_error();
    }
}

?>



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
deMike
Дата 10.9.2005, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


M.Shinoda
**


Профиль
Группа: Участник
Сообщений: 361
Регистрация: 12.10.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 0



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

И здесь проблема в том, что нужно определить на какой строке сейчас находится ссылка, и должно быть две иконки, одна активировать другая заблокировать, тоесть нужно определить ещё и состояние/текс в поле false или true.

Картинки:
- activate.gif
- block.gif

Запрос примерно такой:

Код
If ($_GET['activate'] == true) {
$query= "UPDATE `clients` SET `activate` = 'true' WHERE `id` = '{$_GET['id']}' LIMIT 1";
mysql_query($query);
};

PM MAIL WWW   Вверх
Рыжий
Дата 10.9.2005, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



Мастeр
запрос еще может пойти.
Хотя безопасность сильно хромает - нет проверки $_GET['id'].
Для того, чтобы поставить нужную картинку тебе нужно соединиться с базой достать это поле и если true то одна картинка а если false - другая. запрос (очень приблизительно!!!):

Код

$sql= 'select * from `clients` where id = "'.$_GET['id'].'" limit 1';
$result=mysql_query($sql);
while ($row=mysql_fetch_assoc($result))
if ($row['activate']=="true") $picture="activate.gif";
else $picture="block.gif";

Будут вопросы - спрашивай. smile

Это сообщение отредактировал(а) PHP-Script - 10.9.2005, 19:40
PM MAIL ICQ   Вверх
deMike
Дата 12.9.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


M.Shinoda
**


Профиль
Группа: Участник
Сообщений: 361
Регистрация: 12.10.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 0



Подскажите как по id определить значение поля email и phone в базе?
PM MAIL WWW   Вверх
-=Ustas=-
Дата 12.9.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Код

$sql = "SELECT
            email,
            phone
        FROM
            your_table
        WHERE
            id = '".$_GET['id']."'"; // или $_POST['id'], сморя откуда принимаешь


PHP-Script, а чё конструкция такая громоздкая?! Не проще ли:
Код

$picture = ($row['activate']=="true") ? "activate.gif" : "block.gif";



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
deMike
Дата 12.9.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


M.Shinoda
**


Профиль
Группа: Участник
Сообщений: 361
Регистрация: 12.10.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 0



Спасибо огромное -=Ustas=-.
Добавлено @ 15:09
А как ассоциировать с картинкой ссылку?

Одна ссылка такова:
"index.php?act=admincp&key=7574631938&activate=true&id=".$userid.""

другая:
"index.php?act=admincp&key=7574631938&activate=false&id=".$userid.""
PM MAIL WWW   Вверх
-=Ustas=-
Дата 12.9.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Ну как, получаешь всё, как было указано выше, определяешь картинку:
Код

$picture = ($row['activate'] == "true") ? "activate.gif" : "block.gif";
$activate = ($row['activate'] == "true") ? "false" : "true";

, затем уже формируешь саму ссылку
Код

echo "<a href=\"index.php?act=admincp&key=7574631938&activate=".$activate."&id=".$userid.""\"><img src=\"".$picture."\"></a>";

Это будет одна ссылка - т.е. если там запись активна, то эта ссылка будет отображаться как "заблокировать", если же запись заблокирована, то ссылка - соотвественно активировать.
Или тебе такой вариант не подходит?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
deMike
Дата 12.9.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


M.Shinoda
**


Профиль
Группа: Участник
Сообщений: 361
Регистрация: 12.10.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 0



Так толе у меня руки из одного места толе что-то здесь не так: smile

Код

// Определение + преобразование

If ($_GET['activate'] == "true") {
$query= "UPDATE `clients` SET `activate` = 'true' WHERE `id` = '{$_GET['id']}' LIMIT 1";
mysql_query($query);
}
else
If ($_GET['activate'] == "false") {
$query= "UPDATE `clients` SET `activate` = 'false' WHERE `id` = '{$_GET['id']}' LIMIT 1";
mysql_query($query);
}

$qsql= 'select * from `clients` where id = "'.$_GET['id'].'" limit 1';
$qresult=mysql_query($qsql);

$picture = ($row['activate'] == "true") ? "images\activate.gif" : "images\block.gif";    
$activate = ($row['activate'] == "true") ? "false" : "true";


Ссылка:

Код

<a href=\"index.php?act=admincp&key=7574631938&activate=".$activate."&id=".$obj->id."\"\">
<img src=\"".$picture."\"></a>


Это сообщение отредактировал(а) Мастeр - 12.9.2005, 16:13
PM MAIL WWW   Вверх
deMike
Дата 12.9.2005, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


M.Shinoda
**


Профиль
Группа: Участник
Сообщений: 361
Регистрация: 12.10.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 0



Неужели никто не поможет?
PM MAIL WWW   Вверх
-=Ustas=-
Дата 12.9.2005, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Блин, ну в самом-то деле!!! Ну ты что, не видишь своих ошибок?!?!? smile
Код

<?php

// Определение + преобразование

$strActivate = ($_GET['activate'] == "true") ? "true" : "false";

$sql= "UPDATE
          `clients`
       SET
          `activate` = '".$strActivate."'
       WHERE
          `id` = '".$_GET['id']."'";
mysql_query($sql);

$sql= "SELECT
           *
       FROM
           `clients`
       WHERE
            id = '".$_GET['id']."'
       LIMIT 1";
$res = mysql_query($sql);
$row = mysql_fetch_array($res);

$picture     = ($row['activate'] == "true") ? "images\activate.gif" : "images\block.gif";
$strActivate = ($row['activate'] == "true") ? "false" : "true";

echo "<a href=\"index.php?act=admincp&key=7574631938&activate=".$activate."&id=".$row['id']."\"><img src=\"".$picture."\"></a>";

?>


З.Ы. Я его немножко оптимизировал от твоих громоздких проверок.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Guest
  Дата 14.9.2005, 13:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ошибка в строке:

Код
echo "<a href=\"index.php?act=admincp&key=7574631938&activate=".$activate."&id=".$row['id']."\"><img src=\"".$picture."\"></a>";


Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'
  Вверх
Guest
Дата 14.9.2005, 13:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Так всё глюка больше не возникает НО, ссылка выглядит так:
index.php?act=admin&key=****&activate=&id= - здесь пусто.
  Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1253 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.