За последние 24 часа нас посетили 30572 программиста и 1801 робот. Сейчас ищут 986 программистов ...

Не могу вытащить значение из базы

Тема в разделе "PHP для новичков", создана пользователем 6stPROD, 17 май 2014.

  1. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    Запрос в базу попадает НО - ID попадает туда не пользователя сессии и порядкого номера

    Добавлено спустя 8 минут 45 секунд:
    Тут все работает, спасибо большое!
     
  2. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    Ну не тупи если тебе надо какой то `user_id` то так и пиши:
    Код (PHP):
    1. $result = mysql_query ("INSERT INTO `orders` (`user_id`, `name`) VALUES ('$id','$orders')");
    Добавлено спустя 5 минут 56 секунд:если тебя не устраивает само значение переменной $id то разберись что ты в неё кладёшь:
    Код (PHP):
    1. mysql_select_db("lk",$db);
    2. $orders = $_POST['name'];
    3. $id = $_SESSION['id'];// вот тут что положил то в запрос и ушло
    4. $result = mysql_query ("INSERT INTO orders ('$id', `name`) VALUES ('$orders')"); 
     
  3. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    Код (Text):
    1. <?php
    2. //если не указан id пользователя - отправляем на главную страницу
    3. if(!isset($_SESSION['id']) ){ header("Location: index.php"); exit;}
    4. //если есть - сохраняем в переменную
    5. $id = $_SESSION['id'];
    6. //выбираем всё необходимое с таблицы p_orders
    7. $ord = mysql_fetch_assoc(mysql_query("SELECT rate,price,progress FROM p_orders WHERE user_id=$id") );
    8. $usr = mysql_fetch_assoc(mysql_query("SELECT login,name,mail FROM users WHERE id=$id") );
    9. ?>
    10. <div id="pp_main">
    11. <?
    12. $orders = $_POST['rate'];
    13. $user_id = $_SESSION['id'];
    14. $result = mysql_query ("INSERT INTO `p_orders` (`rate`, `user_id`) VALUES ('$orders','$user_id')");
    15. if ($result=='TRUE')
    16.     { echo "Добавлено в базу";}
    17.  else
    18.     { echo "Ошибка! "; }
    19. ?>
    20.  
    21. <form method="post">
    22.         <p>
    23.     <select name=rate size=1>
    24.     <option selected>Выберите</option>
    25.     <option>1</option>
    26.     <option>2</option>
    27.     <option>3</option>
    28.     <option>4</option>
    29.     </select>
    30.     </p>
    31. <input type="submit" name="submit" value="значение">
    32. </div>
    Как поставить правильно форму с кодом чтобы в базу попало значение c ID юзера и одна из опций? голову сломал уже
     
  4. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    ХЗ что ты там имеешь в виду. Скрин базы в студию что бы было видно структуру с объяснениями что куда тебе надо добавить.
     
  5. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    http://hkar.ru/sFOw

    смысл таков: пользователь переходит на страничку заказа, выбирает одно из 4 значений, которое попадает в базу после нажатия - заказать

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


    id в таблице - это порядковый номер заказа
    а значение нужно добавить в user_id


    мне нужна помощь в формировании самого скрипта страницы где юзер сделает выбор и нажмет кнопку


    Код (Text):
    1. <?
    2. $orders = $_POST['rate'];
    3. $user_id = $_SESSION['id'];
    4. $result = mysql_query ("INSERT INTO `p_orders` (`rate`, `user_id`) VALUES ('$orders','$user_id')");
    5. if ($result=='TRUE')
    6.     { echo "Добавлено в базу";}
    7.  else
    8.     { echo "Ошибка! "; }
    9. ?>
    10.  
    11. <form method="post">
    12.         <p>
    13.     <select name=rate size=1>
    14.     <option selected>Выберите</option>
    15.     <option>1</option>
    16.     <option>2</option>
    17.     <option>3</option>
    18.     <option>4</option>
    19.     </select>
    20.     </p>
    21. <input type="submit" name="submit" value="Заказать">
     
  6. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    ну так:
    Код (PHP):
    1. $a ="19";
    2. $b ="Визитка";
    3. $с ="4900";
    4. $d ="Наполнение текстом";
    5. $result = mysql_query ("INSERT INTO `tvoja_tablica` (`rate`, `price`,`user_id`, `progress` ) VALUES ('$b','$c','$a','$d')");// добавит все 4 поля
    6. $result = mysql_query ("INSERT INTO `tvoja_tablica` (`rate`, `user_id` ) VALUES ('$b','$a')");// добавит только 2 поля 
     
  7. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация
    Код (Text):
    1. <form method="post">
    2. <?
    3. $orders = $_POST['rate'];
    4. $user_id = $_SESSION['id'];
    5.  
    6.  echo "  <p>
    7.     <select name=rate size=1>
    8.     <option selected>Выберите</option>
    9.     <option>1</option>
    10.     <option>2</option>
    11.     <option>3</option>
    12.     <option>4</option>
    13.     </select>
    14.     </p>
    15. <input type='submit' name='submit' value='Заказать'>
    16. ";
    17.  
    18. $result = mysql_query ("INSERT INTO `p_orders` (`rate`, `user_id`) VALUES ('$orders','$user_id')");
    19. if ($result=='TRUE')
    20.     { echo "Добавлено в базу";}
    21.  else
    22.     { echo "Ошибка! "; }
    23. ?>
    24.  
    25. </form>
    Выводит ошибку прежде чем нажму на кнопку, как правильно составить?


    Если делаю через сторонний файл типа -
    Код (Text):
    1.  
    2. <form action="php-scripts/ord.php" method="post">
    3.   <p>
    4.     <select name=rate size=1>
    5.     <option selected>Выберите</option>
    6.     <option>1</option>
    7.     <option>2</option>
    8.     <option>3</option>
    9.     <option>4</option>
    10.     </select>
    11.     </p>
    12. <input type="submit" name="submit" value="Заказать">
    13. </form>

    и сам обработчик
    Код (Text):
    1. <?
    2.  
    3. include_once ("db.php");
    4. $orders = $_POST['name'];
    5. $user_id = $_SESSION['id'];
    6. $result = mysql_query ("INSERT INTO `p_orders` (`id`, `rate`, `user_id`) VALUES ('$id','$orders','user_id')");
    7. if ($result=='TRUE')
    8.     { echo "Заказ добавлен в базу";}
    9.  else
    10.     { echo "Ошибка! "; }
    11.    
    12. ?>
    то в базу попадает такое значение
    ID rate price user_Id
    10 пустое значение стоимость пустое


    что не так( ??
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    mysql_error. Эх ничему ты не научился.
    mysql_query возвращает булевое значение не надо сравнивать с строкой.
     
  9. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    Ты что издеваешься?
    Ты что не можешь сделать по примеру?
    на кой ты сюда добавил поле `id` ?
    тебе что пример не ясен?
    Код (PHP):
    1. $a ="19";
    2. $b ="Визитка";
    3. $с ="4900";
    4. $d ="Наполнение текстом";
    5. $result = mysql_query ("INSERT INTO `tvoja_tablica` (`rate`, `price`,`user_id`, `progress` ) VALUES ('$b','$c','$a','$d')");// добавит все 4 поля
    6. $result = mysql_query ("INSERT INTO `tvoja_tablica` (`rate`, `user_id` ) VALUES ('$b','$a')");// добавит только 2 поля   
    Для тех кто в танке на поле `id`обычно ставят автоинкримент
     
  10. 6stPROD

    6stPROD Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    124
    Симпатии:
    0
    Адрес:
    Тутаев, Ярославская область. Российская Федерация

    У меня в скрипте все нормально, я опечатался... сегодня попробую значения не из option а из переменной , которую возьму из базы(те же option) вывести, думаю получится, спасибо большое всем за помощь!
     
  11. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Так еще совет, фильтруй данные перед использование в запросах.