PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
webid13 Отправлено: 28 Августа, 2009 - 10:49:32 • Тема: Проверка выбора ответа • Форум: Программирование на PHP

Ответов: 4
Просмотров: 348
Всем спасибо, но я решил упростить задачу...просто поставил одну из radiobutton в checked...т.к. по сути нужно было всего навсего сделать так, чтобы юзер не мог отправить пустой ответ...
webid13 Отправлено: 27 Августа, 2009 - 16:30:10 • Тема: Проверка выбора ответа • Форум: Программирование на PHP

Ответов: 4
Просмотров: 348
Собственно, мне нужен код проверки выбран ли ответ, если не выбран то юзер не может получить следующий вопрос...и, желательно, чтобы при этом выскакивало окошко, что то в духе "Выберите ответ"...
webid13 Отправлено: 27 Августа, 2009 - 13:46:38 • Тема: Проверка выбора ответа • Форум: Программирование на PHP

Ответов: 4
Просмотров: 348
Всем доброго времени.
Сразу к делу.
Написал простой опросник; Прошу помощи в написании кода проверки выбора ответа...
Заранее спасибо.

index.php
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  <HTML>
  3. <HEAD>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  5. <title>Project</title>
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. <BODY>
  8. <?php
  9. session_start();
  10. $id=($_SESSION['id']=1);
  11. ?>
  12.  
  13. <CENTER>
  14. Важно ли для Вас следующее:
  15. <P>
  16. <div align="center" id="questions">
  17. <a href="poll.php" rel='nofollow'>Начать опрос</a>
  18.  
  19. </div>
  20. </BODY>
  21. </HTML>
  22.  


poll.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. /* Переменные для соединения с базой данных */
  5. $host = 'localhost';
  6. $user = 'user';
  7. $pas = '';
  8. $db = 'project';
  9.  
  10. /* создать соединение */
  11. mysql_connect($host,$user,$pas) OR DIE("Не могу создать соединение");
  12. /* выбрать бд. Если произойдет ошибка - вывести ее */
  13.  
  14. if (isset($_SESSION['id']))
  15.  
  16. $query = "SELECT * FROM questions WHERE id = $_SESSION[id]";
  17. $res = mysql_query($query) or die(mysql_error());
  18.  
  19.         while ($row=mysql_fetch_array($res))
  20.    {
  21.         echo '<FORM ACTION="to_db.php" METHOD="post">';
  22.         echo '<input type="hidden" name="id" value="'.$_SESSION['id'].'">';
  23.         echo '<input type="hidden" name="gr" value="'.$_POST['gr'].'">';
  24.         echo '<center>'.$row['question'].'</center><BR>';
  25.         echo '<input type="radio" name="gr" align="center" value="1"> Всё равно<br>';
  26.         echo '<input type="radio" name="gr" align="center" value="2"> Не важно<br>';
  27.         echo '<input type="radio" name="gr" align="center" value="3"> Не очень важно<br>';
  28.         echo '<input type="radio" name="gr" align="center" value="4"> Важно<br>';
  29.         echo '<input type="radio" name="gr" align="center" value="5"> Очень важно<br>';
  30.         echo '<input type="submit" value="Далее">';
  31.    }
  32.  
  33. echo '</FORM>';
  34.    echo "</CENTER>";
  35.    exit;
  36.  
  37. ?>
  38.  


to_db.php
PHP:
скопировать код в буфер обмена
  1.  
  2.   <?PHP
  3.  
  4. /* Переменные для соединения с базой данных */
  5. $host = 'localhost';
  6. $user = 'user';
  7. $pas = '';
  8. $db = 'project';
  9.  
  10. /* создать соединение */
  11. mysql_connect($host,$user,$pas) OR DIE("Не могу создать соединение ");
  12. mysql_query('SET @@collation_connection = @@collation_database');
  13. /* выбрать базу данных. Если произойдет ошибка - вывести ее */
  14.         mysql_select_db($db) or die(mysql_error());
  15. session_start();       
  16.         $a=$_POST['gr'];
  17.         $q=$_SESSION['id'];
  18.        
  19. /* запрос для вставки информации в таблицу */
  20.         $query = "INSERT INTO usersanswers (question,answer) VALUES('$q','$a')";
  21.  
  22. /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
  23. mysql_query($query) or die(mysql_error());
  24.  
  25. /* Закрыть соединение */
  26.  
  27.  
  28. $id = $_SESSION['id']++;
  29. if ($id<=4)
  30. {
  31. header('Location: poll.php?id='.$id');
  32. }
  33. else
  34. {
  35. echo ("Спасибо, Ваши ответы учтены.");
  36. session_destroy();
  37. }
  38.  
  39. ?>
  40.  
webid13 Отправлено: 14 Июля, 2009 - 12:36:47 • Тема: Помогите с сессией • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 60
не, с этим то понятно, вся суть вопроса в том чтобы, после нажатия на кнопку "далее" пользователю выдался вопрос id+1, и при этом выполнился бы код отправки в базу...
webid13 Отправлено: 14 Июля, 2009 - 08:07:50 • Тема: Помогите с сессией • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 60
Есть код:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4. /* Переменные для соединения с базой данных */
  5. $hostname = 'localhost';
  6. $username = 'user';
  7. $password = '';
  8. $db = 'project';
  9.  
  10. /* создать соединение */
  11. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение");
  12. /* выбрать бд. Если произойдет ошибка - вывести ее */
  13. mysql_select_db($db) or die(mysql_error());
  14. if(empty($_GET['id']))
  15. {
  16. $id = 1;
  17. }
  18. else
  19. {$id = $_GET['id'];}
  20.  
  21. $query = "SELECT * FROM questions WHERE id = $id";
  22. $res = mysql_query($query) or die(mysql_error());
  23. /*Цикл для формы*/
  24.  
  25.         while ($row=mysql_fetch_array($res))
  26.    {
  27.         echo '<FORM ACTION="to_db.php" METHOD="post">';
  28.         echo '<input type="hidden" value="'.$_SESSION['db'].'">';
  29.         echo '<input type="hidden" name="id" value="'.$_POST['id'].'">';
  30.         echo '<input type="hidden" name="gr" value="'.$_POST['gr'].'">';
  31.         echo '<center>'.$row['question'].'</center><BR>';
  32.         echo '<input type="radio" name="gr" align="center" value="1"> Всё равно<br>';
  33.         echo '<input type="radio" name="gr" align="center" value="2"> Не важно<br>';
  34.         echo '<input type="radio" name="gr" align="center" value="3"> Не очень важно<br>';
  35.         echo '<input type="radio" name="gr" align="center" value="4"> Важно<br>';
  36.         echo '<input type="radio" name="gr" align="center" value="5"> Очень важно<br>';
  37.         echo '<input type="submit" value="Далее">';
  38.    }
  39. echo '</FORM>';
  40.    echo "</CENTER>";
  41.  
  42. ?>
  43.  


И код отправки информации в БД:
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  <?php
  3. /* Переменные для соединения с базой данных */
  4. $hostname = 'localhost';
  5. $username = 'user';
  6. $password = '';
  7. $db = 'project';
  8.  
  9. /* создать соединение */
  10. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
  11. mysql_query('SET @@collation_connection = @@collation_database');
  12. /* выбрать базу данных. Если произойдет ошибка - вывести ее */
  13.         mysql_select_db($db) or die(mysql_error());
  14.  
  15.         $a=$_POST['gr'];
  16.         $id=$_POST['id'];
  17. /* запрос для вставки информации в таблицу */
  18.         $query = "INSERT usersanswers SET answer='$a', question = '$id'";
  19. /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
  20. mysql_query($query) or die(mysql_error());
  21.  
  22.         exit;
  23. echo 'figa';
  24. /* Закрыть соединение */
  25. mysql_close();
  26. ?>
  27.  


Нужно, id загнать в сессию, так чтобы после выполнения кода отправки данных, пользователь видел следующий вопрос, и т.д.
Кому не сложно, или просто нечем заняться. помогите плиз.
webid13 Отправлено: 07 Июля, 2009 - 13:55:44 • Тема: Помогите с созданием постраничного вывода данных из БД... • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 71
Всем спасибо за помощь, но остался один не решённый вопрос.
Подскажи, как всё же сделать так чтобы нажимая "Далее" выдавался следующий вопрос, а как только вопросы закончатся пользователь видел бы :"Спасибо, ваши ответы учтены".
В ниже приведённом коде, после нажатия "Далее" "фразочка" выдаётся сразу, чего мне не надо.
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  
  3. /* Переменные для соединения с базой данных */
  4. $hostname = 'localhost';
  5. $username = 'user';
  6. $password = '';
  7. $dbName = 'project';
  8.  
  9. /* создать соединение */
  10. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение");
  11. /* выбрать бд. Если произойдет ошибка - вывести ее */
  12. mysql_select_db($dbName) or die(mysql_error());
  13.  
  14. if(empty($_GET['id'])) $id = 1;
  15. else $id = $_GET['id'];
  16.  
  17.  
  18. $query = "SELECT * FROM questions WHERE id = $id";
  19. $res = mysql_query($query) or die(mysql_error());
  20. /*Цикл для формы*/
  21.  
  22.   while ($row=mysql_fetch_array($res))
  23.    {
  24.    echo '<FORM ACTION="to_db.php" METHOD="post">';
  25.    echo '<FORM ACTION="to_db.php?id='.($_GET['id']+1).'" METHOD="post">';
  26.    echo '<center>'.$row['question'].'</center><BR>';
  27.    echo '<input type="radio" name="gr" align="center" value="1"> Всё равно<br>';
  28.    echo '<input type="radio" name="gr" align="center" value="2"> Не важно<br>';
  29.    echo '<input type="radio" name="gr" align="center" value="3"> Не очень важно<br>';
  30.    echo '<input type="radio" name="gr" align="center" value="4"> Важно<br>';
  31.    echo '<input type="radio" name="gr" align="center" value="5"> Очень важно<br>';
  32.    echo '<input type="submit" value="Далее">';
  33.    }
  34.    
  35. echo '</FORM>';
  36.    echo "</CENTER>";
  37.  
  38.  


to_db.php:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. /* Переменные для соединения с базой данных */
  3. $hostname = "localhost";
  4. $username = "user";
  5. $password = "";
  6. $dbName = "project";
  7. $userstable = "UsersAnswers";
  8.  
  9. /* создать соединение */
  10. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
  11. mysql_query('SET @@collation_connection = @@collation_database');
  12. /* выбрать базу данных. Если произойдет ошибка - вывести ее */
  13. mysql_select_db($dbName) or die(mysql_error());
  14.  
  15. $a=$_POST['gr'];
  16. $id=$_POST['id'];
  17. /* составить запрос для вставки информации о клиенте в таблицу */
  18. $query = "update $userstable SET answer='$a' WHERE id='$id'";
  19. /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
  20. mysql_query($query) or die(mysql_error());
  21. echo "Спасибо, ваши ответы учтены.";
  22.  
  23. /* Закрыть соединение */
  24. mysql_close();
  25.  
webid13 Отправлено: 19 Июня, 2009 - 11:04:20 • Тема: Помогите с созданием постраничного вывода данных из БД... • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 71
aldan8 Спасибо, но вчера успел сам разобрать этот момент, с передачей данных в базу, тоже понятно...остался реально один только вопрос, я понимаю что для того, чтобы выдавался следующий вопрос нужно изменить значение переменной, соответственно надо сделать чтобы функция id++ работала именно при нажатии на кнопку "Далее...". Вот только как её вписать правильно в код, увы, но не понимаю Не понял ...
Вот собственно код:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4. /* Переменные для соединения с базой данных */
  5. $hostname = 'localhost';
  6. $username = 'user';
  7. $password = '';
  8. $dbName = 'project';
  9.  
  10. /* создать соединение */
  11. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение");
  12. /* выбрать бд. Если произойдет ошибка - вывести ее */
  13. mysql_select_db($dbName) or die(mysql_error());
  14.  
  15. if(empty($_GET['id'])) $id = 1;
  16. else $id = $_GET['id'];
  17.  
  18.  
  19. $query = "SELECT * FROM questions WHERE id = $id";
  20. $res = mysql_query($query) or die(mysql_error());
  21. /*Цикл для формы*/
  22.  
  23.   while ($row=mysql_fetch_array($res))
  24.    {
  25.    echo '<FORM ACTION="to_db.php" METHOD="post">';
  26.    echo '<center>'.$row['question'].'</center><BR>';
  27.    echo '<input type="radio" name="gr" align="center" value="1"> Всё равно<br>';
  28.    echo '<input type="radio" name="gr" align="center" value="2"> Не важно<br>';
  29.    echo '<input type="radio" name="gr" align="center" value="3"> Не очень важно<br>';
  30.    echo '<input type="radio" name="gr" align="center" value="4"> Важно<br>';
  31.    echo '<input type="radio" name="gr" align="center" value="5"> Очень важно<br>';
  32.    echo '<input type="submit" value="Далее...">';
  33.    
  34.    }
  35. echo '</FORM>';
  36.    echo "</CENTER>";
  37.  
  38. ?>
  39.  


Вот код передачи данных:
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  <?php
  3. /* Переменные для соединения с базой данных */
  4. $hostname = "localhost";
  5. $username = "user";
  6. $password = "";
  7. $dbName = "project";
  8. $userstable = "UsersAnswers";
  9.  
  10. /* создать соединение */
  11. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
  12. mysql_query('SET @@collation_connection = @@collation_database');
  13. /* выбрать базу данных. Если произойдет ошибка - вывести ее */
  14. mysql_select_db($dbName) or die(mysql_error());
  15.  
  16. $a=$_POST['gr'];
  17. $id=$_POST['id'];
  18. /* составить запрос для вставки информации о клиенте в таблицу */
  19. $query = "update $userstable SET answer='$a' WHERE id='$id'";
  20. /* Выполнить запрос. Если произойдет ошибка - вывести ее. */
  21. mysql_query($query) or die(mysql_error());
  22. echo "Спасибо, ваши ответы учтены.";
  23.  
  24. /* Закрыть соединение */
  25. mysql_close();
  26. ?>
  27.  

Подскажи, как всё же сделать так чтобы нажимая "Далее" выдавался следующий вопрос, а как только вопросы закончатся пользователь видел бы :"Спасибо, ваши ответы учтены".
Заранее спасибо.
webid13 Отправлено: 18 Июня, 2009 - 16:00:22 • Тема: Помогите с созданием постраничного вывода данных из БД... • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 71
Всем доброго времени!!!
Не могу разобраться с созданием постраничного вывода данных из MySQL на страницу Не понял .
Всё что находил по этому вопросу выглядит "а-ля Yandex), меня это не устраивает.

Есть БД(project) с информацией (table "questions"; columns: "Q-id", "question" ), нужно сделать так, чтобы на страницу выводилась одна строка из таблицы , 5 radiobutton`s и одна кнопка "Далее...", при нажатии на которую пользователю выдавалась следующая строка из таблицы с такими же кнопками, а информация из выбранной radiobutton записывалась в другую таблицу(table: "answers"; columns: "question", "answers" ) в колонку "answers".

Помогите кто может. Заранее спасибо!

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB