|
|
|
| Подскажите пожалуйста, почему из базы данных выводится только answer_o , вместо того, чтобы выводились все запрошенные данные, в чем ошибка? вот пример :
Голосование
<?php
include "bd.php";
mysql_query("SET NAMES UTF8");
$result=mysql_query("SELECT question, answer_o, answer_t, answer_th FROM answer");
$r = mysql_fetch_assoc($result);
print_r($r['question']);
$r = mysql_fetch_assoc($result);
print_r($r['answer_o']);
$r = mysql_fetch_assoc($result);
print_r($r['answer_t']);
$r = mysql_fetch_assoc($result);
print_r($r['answer_th']);
?>
|
| |
|
|
|
|
|
|
|
для: sims_87
(15.07.2010 в 18:01)
| | mysql_fetch_assoc - извлекает ряд результата как ассоциативный массив.
$r = mysql_fetch_assoc($result);
print $r['question'];
print $r['answer_o'];
print $r['answer_t'];
print $r['answer_th'];
при этом внутренний указатель будет смещаться на следующую запись ресурса. | |
|
|
|
|
|
|
|
для: sim5
(15.07.2010 в 18:57)
| |
$r = mysql_fetch_assoc($result);
print $r['question'];
print $r['answer_o'];
print $r['answer_t'];
print $r['answer_th'];
|
к сожалению так он не выводит вообще ничего. при использовании цикла while, он все прекрасно выводит, но проблема в том, что мне нужно к вариантам ответов (это голосование) приставить "чекбоксы", а цикл эти "чекбоксы" увеличивает в количестве :( | |
|
|
|
|
|
|
|
для: sims_87
(15.07.2010 в 19:03)
| | Вы написали без цикла, а значит речь у вас может идти об одной записи. Если вы перед циклом сделаете запрос mysql_fetch_assoc(), то цикл будет выводить ресурс начаная со второй записи. В любом случае $r = mysql_fetch_assoc($result) вернет набор.
Если у вас возвращается множество записей, то вы обязаны пройти их циклом, ибо от куда вы узнаете, что именно эта запись из набора вам нужна в текущий момент? Если же вас интерсует только одна из записей, то извлекайте ее по условию.
И вообще, словами просто объясните чего нужно сделать, а то пишете одно, а оказывается интересует другое, да еще и утверждаете, что не работает, вот только оказывается, что не работает "по вашему понятию". | |
|
|
|
|
|
|
|
для: sim5
(15.07.2010 в 19:24)
| | Извиняюсь за непонятное изложение. Попробую еще раз.
Вобщем эта система голосования, нужно из базы данных вывести вопрос и варианты ответов, которые находятся в одной таблице, а вывести их нужно в HTML форму. т.е. к каждому варианту ответов подставить флажок и вставить кнопку "голосовать". с циклом while у меня происходит путанница, HTML форма выводится неправильно. меня интересует как можно из базы данных все это вывести (возможно цикл не тот, или он тут вообще не нужен?). я новичок, и не разбираюсь пока особо в РНР. | |
|
|
|
|
|
|
|
для: sims_87
(15.07.2010 в 20:20)
| | Ну юмористы...) Ну новичок, ну не программист, но излагать нормальным языком задачу то можете? Чай сперва человек научился думать и излагать мысли свои обыной речью, а уж затем только придумал компьютеры и ПО к ним. )
Если к каждому вопросу (или просто сообщению) есть "варианты ответов", то для каждой записи должен быть выбор одного из вариантов. Для этого служат радиокнопки с зависомой фиксацией, что в HTML достигается простым способом - указанием одного и того же имени в группе радиокнопок. Чекбокс же служит для независимого выбора какого либо значения.
У вас есть записи, и эти записи должны иметь уникальные номера (id, от идентификация). Если некая запись может иметь пять значений параметра голосования, то значит нужно разместить подле нее пять радиокнопок, имена которых должны быть связаны по этим ID, а атрибут value их, будет содержать значения параметра голосования, например, оценку от 1 до 5. При этом, если вы говорите, что записей много и пользователь может видеть на странице несколько записей, и за любую из них может проголосовать, то можно конечно у кажой группы радиокнопок добавить свою кнопку SUBMIT, отправляющую форму, но это ни к чему (хотя будет оправдано, если приличный скроллинг имеет страница, но форму можно в этом случае отправить и выбором радиокнопки, но тогда голосование по каждой записи, это отдельный запрос для каждой записи будет, это накладно), достаточно одной кнопки на все фому, а на сервере проверить массив кнопок, получив id тех, которые отправили значения (пользователь сделал выбор). Например:
<form action="" method="post">
Text 1 (id = 1)
<input type="radio" name="vote[1]" value="1">
<input type="radio" name="vote[1]" value="2">
<input type="radio" name="vote[1]" value="3">
<input type="radio" name="vote[1]" value="4">
<input type="radio" name="vote[1]" value="5"><br>
Text 2 (id = 2)
<input type="radio" name="vote[2]" value="1">
<input type="radio" name="vote[2]" value="2">
<input type="radio" name="vote[2]" value="3">
<input type="radio" name="vote[2]" value="4">
<input type="radio" name="vote[2]" value="5"><br>
<input type="submit" value="Голосовать">
</form>
|
Если пользователь сделает выбор в любой из групп, то на сервере будет получен массив $_POST['vote'], ключи которого будут равны id записей в базе, а значения значению выбранного пользователем.
Что касается проблем вывода записей, формы и ее элементов к цикле, то значит ваш код либо не логичен, либо содержит явные ошибки. | |
|
|
|
|
|
|
|
для: sim5
(15.07.2010 в 20:52)
| | спасибо! | |
|
|
|