Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Изменение данных в Mysql через PHP
#1
В продолжение моего обучения прощу помощи в следующем пункте.
Необходимо чтобы была кнопка редактирования напротив каждого контакта.
[Изображение: 6b193.jpg]
PHP код:
<?php 
include_once("config.php");
checkLoggedIn("yes");
print(
"<b>".$_SESSION["login"]."</b>! Добро пожаловать<br>\n");
print(
"<a href=\"logout.php"."\">Выход</a>");
// определяем начальные данные
$db_host = 'localhost';
$db_name = 'test';
$db_username = 'root';
$db_password = 'root';
$db_table_to_show = 'form';
// соединяемся с сервером базы данных
$connect_to_db = mysql_connect($db_host, $db_username, $db_password)
or die(
"Could not connect: " . mysql_error());
// подключаемся к базе данных
mysql_select_db($db_name, $connect_to_db)
or die(
"Could not select DB: " . mysql_error());
// выбираем все значения из таблицы "form"
$qr_result = mysql_query("select * from " . $db_table_to_show)
or die(
mysql_error());

// выводим на страницу сайта заголовки HTML-таблицы
echo '<table border="1">';
echo
'<thead>';
echo
'<tr>';
echo
'<th>Номер Контакта</th>';
echo
'<th>Фамилия Имя Отчество <a style="text-decoration:none;" href="/test/select_change.php">Редактировать</a></th>';
echo
'<th>Дата Рождения</th>';
echo
'<th>Должность</th>';
echo
'<th>Компания или организация</th>';
echo
'<th>Тематика спикера</th>';
echo
'<th>Контакты (Skype/Телефон/e-mail/Адрес)</th>';
echo
'<th>Журнал регистрации звонков(Дата,Время)</th>';
echo
'<th>Флаг качества контакта</th>';
echo
'<th>Партия</th>';
echo
'<th>Политические взгляды</th>';
echo
'</tr>';
echo
'</thead>';
echo
'<tbody>';
$a = Недоступно;



// выводим в HTML-таблицу все данные клиентов из таблицы MySQL

while($data = mysql_fetch_array($qr_result)){
echo
'<tr>';
echo
'<td><center>' . $data['users_id'] . '</center></td>';
echo
'<td><center>' . $data['FIP'] . '</center></td>';
echo
'<td><center>' . $data['Datw'] . '</center></td>';
echo
'<td><center>' . $data['Doji'] . '</center></td>';
echo
'<td><center>' . $data['Kompani'] . '</center></td>';
if (
$_SESSION["ugroup"] == 1 ){
echo
'<td><center>' . $data['Tema'] . '</center></td>';
}
else
{
echo
'<td><center>' . $a . '</td>';
}
echo
'<td><center>' . $data['Kontakts'] . '</center></td>';
echo
'<td><center>' . $data['Jour'] . '</center></td>';
echo
'<td><center>' . $data['Kach'] . '</center></td>';
echo
'<td><center>' . $data['Part'] . '</center></td>';
echo
'<td><center>' . $data['Vzg'] . '</center></td>';
echo
'</tr>';
}
echo
'</tbody>';
echo
'</table>';
// закрываем соединение с сервером базы данных
mysql_close($connect_to_db);

?>

Я преполагаю что нужно создать некую переменную типа
$sql с следущим содержимым :

PHP код:
<?php 
$sql
= mysql_query(UPDATE form SET FIP="$FIP", Doji=5 WHERE users_id=$users_id);

но почему то когда я делаю эту переменную у меня белый экран, а в логах
PHP Parse error: syntax error, unexpected 'form' (T_STRING) in /var/www/test/index.php

Всем кто оказал содействие в прошлой теме огромнейшее спасибо, надеюсь и в этой помогут.
Детям нельзя в интернет. От детей интернет тупеет.
Ответ
#2
Хорошо, спасибо, белого экрана нетSmile
А как теперь этот запрос сделать кнопкой?
PHP код:
<?php 
echo '<td><center>' . $sql. '</center></td>';
Как сделать чтоб эта запись была кнопкой?
Детям нельзя в интернет. От детей интернет тупеет.
Ответ
#3
Fudji Написал:Хорошо, спасибо, белого экрана нетSmile
А как теперь этот запрос сделать кнопкой?
PHP код:
<?php 
echo '<td><center>' . $sql. '</center></td>';
Как сделать чтоб эта запись была кнопкой?

Поставьте вот это, для борьбы с ошибками в запросах - идеально.
http://www.heidisql.com/
Sad
Ответ
#4
Спасибо, но всё же как запилить кнопку редактировать))
Детям нельзя в интернет. От детей интернет тупеет.
Ответ
#5
Fudji Написал:Спасибо, но всё же как запилить кнопку редактировать))

Делаете ссылку, передающую GET параметр, например
site.com/index.php?action=sqlAction

Далее в этом самом index.php каким либо образом при его запуске проверяете if($_GET['action']=="sqlAction")
{
Ну а тут какой-то код с sql или чем угодно
}

Потом погуглите понятие контроллера.
Sad
Ответ
#6
if($_GET['action']=="sqlAction")
{
$sql = mysql_query('UPDATE form SET FIP="'.$FIP.'", Doji="'.$Doji.'", WHERE users_id='.$users_id);
}
<a href="index.php?action=sqlAction">Редактировать</a>
0 на массу(
Детям нельзя в интернет. От детей интернет тупеет.
Ответ
#7
Fudji Написал:if($_GET['action']=="sqlAction")
{
$sql = mysql_query('UPDATE form SET FIP="'.$FIP.'", Doji="'.$Doji.'", WHERE users_id='.$users_id);
}
<a href="index.php?action=sqlAction">Редактировать</a>
0 на массу(

Решается отладкой, хотя бы через echo('test'); .
Прверяете, какие условия срабатывают, какие нет, где выполнение останавливается.
Sad
Ответ
#8
Код:
echo '<th>Партия</th>';
    echo '<th>Политические взгляды</th>';
+    echo '<th><a href="index.php?action=edit&amp;user_id=' . $user_id . '">Редактировать</a></th>';
    echo '</tr>';

Код:
if ($_GET['action']=="edit")
{
    if (!empty($_GET['user_id'])
    {
        $sql = mysql_query('UPDATE form SET FIP="'.$FIP.'", Doji="'.$Doji.'", WHERE users_id='.$_GET['user_id'].');

        .... bla bla bla
        .... bla bla bla
    }
    else
        echo 'User ID empty!';
}

А вообще, каша из топора продолжается.

Поскольку у вас назревает масса условий, то есть смысл смотреть в сторону:
Код:
switch ($action)
{
    case "edit":
        echo "bla bla bla";
        break;

    case "auth":
        echo "bla bla bla";
        break;

    default:
        echo $main_page;
        break;
}
Родился, живу и когда-нибудь умру.
Ответ
#9
Код:
if ($_GET['action']=="edit")
{
    if (!empty($_GET['user_id'])
    {
        $sql = mysql_query('UPDATE form SET FIP="'.$FIP.'", Doji="'.$Doji.'", WHERE users_id='.$_GET['user_id'].');

        .... bla bla bla
        .... bla bla bla
    }
    else
        echo 'User ID empty!';
}


Это куда? и что подразумевается под бла бла бла?
Детям нельзя в интернет. От детей интернет тупеет.
Ответ
#10
Fudji Написал:
Код:
if ($_GET['action']=="edit")
{
    if (!empty($_GET['user_id'])
    {
        $sql = mysql_query('UPDATE form SET FIP="'.$FIP.'", Doji="'.$Doji.'", WHERE users_id='.$_GET['user_id'].');

        .... bla bla bla
        .... bla bla bla
    }
    else
        echo 'User ID empty!';
}


Это куда? и что подразумевается под бла бла бла?

Это ваш код, который будет обрабатываться при этом условии. Как правило используется в примерах для показа модели кода.

Лучше пересмотрите модель вашего скрипта, иначе дальше будет ещё больше непонятно.

Рекомендую:
1. Использовать шаблонизацию для HTML кода.
2. Использовать буферизацию кода шаблонов.
3. Использовать switch переключатель событий.
4. Разделить скрипт на модули. Как пример:
- index.php - основной класс (проверка куков, обновление сессий, отправка HTML кода пользователю);
- engine.php - класс для обработки событий через переключатель и вызов соответствующих модулей;
5. Основные функции работы с шаблонами, базой данных и т.д. убрать в классы для удобного использования. Пример: $mysql->query("bal bla bla");, $tpl->load("main.tpl"); и т.д.
Родился, живу и когда-нибудь умру.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  проблема с подключением через odbc к ms sql epmak 8 5,865 01-05-2015, 02:50 PM
Последний пост: epmak
  Автоматическая замена данных в форме linliss 8 3,677 01-13-2014, 12:46 PM
Последний пост: Froxz
  mysql запрос APKO 38 10,950 03-27-2012, 03:22 PM
Последний пост: x3k
  PHP+MySQL (статистика "TOP сервера") Jocker 14 7,057 12-22-2011, 09:40 AM
Последний пост: Jocker
  PHP+MySQL Jocker 3 2,679 12-14-2011, 09:17 PM
Последний пост: Jocker
  Защита сайта, MySQL баз и сервера Lineage2 Jocker 17 5,039 12-07-2011, 04:08 PM
Последний пост: Jocker
  mysql OR flashboom777 6 3,995 06-03-2011, 02:49 PM
Последний пост: flashboom777
  Видеокурсы по PHP5,MySQL Lolitop 2 3,608 08-02-2010, 01:01 AM
Последний пост: PROGRAMMATOR

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)