das ist also für eine Frage? wie sieht den das Formular aus? kann man online sehen?
Strafpunkte zählen.
Einklappen
X
-
Online kannst du es noch nicht sehen, weil es noch nicht funzt. Hier ist mehr HTML als php. Mit einer Frage ist es ganz einfach.
PHP-Code:#Fargen
$anfrage=mysql_query("SELECT * FROM table_name WHERE id LIKE '$id'");
while($row=mysql_fetch_array($anfrage)){
echo'
<form action="bla.php" method="post">
<input type="Hidden" name="id" value="'.$row["id"].'">
<table border="0" width="100%" align="center">
<tr>
<th colspan="3">Frage Nr.: '.$_SESSION["counter"].'<br><br></th>
</tr>
<tr>
<th colspan="3" align="left">'.$row["aufgaben_frage"].'</th>
</tr>
<tr>
<td width="413">'.$row["frage1"].'</td>
<td width="40">
<input type="Checkbox" name="antwort1" value="'.$row["antwort1"].'">
</td>
<td rowspan="3" width="142">';
#prüft ob bild exestirt
if($row["bild"]!=""){
echo'<img src="../bla/'.$row["bild"].'"><br><br>
<a href="bla.php?bild='.$row["bild"].'" target="_blank">
<img src="../bla/lupe.gif" width="42" height="30" border="0">
</a>';
}
else{echo' ';}
#ende
echo' </td>
</tr>
<tr>
<td>'.$row["frage2"].'</td>
<td>
<input type="Checkbox" name="antwort2" value="'.$row["antwort2"].'">
</td>
</tr>';
#prufen ob 3-te frage existirt
if($row["frage3"]!=""){
echo'<tr>
<td>'.$row["frage3"].'</td>
<td>
<input type="Checkbox" name="antwort3" value="'.$row["antwort3"].'">
</td>
</tr>';
}
else{ echo'<tr><td colspan="3"> </td></tr>';}
echo'<tr>
<td colspan="3" align="center">
<br><br>
<input type="Submit" value="'.$submit.'">
</td>
</tr>
</table>
</form>';
Kommentar
-
Das habe ich mir eigentlich gedacht, aber war nicht sicher. Da er unterscheidet sich nur in Kleinigkeiten.
PHP-Code:$bogen=1;//Muss später geandert werden auf $_GET["bogen"]
echo'
<form action="bla.php" method="get">
<table border="1" class="hell" width="595" align="center" frame="box" rules="groups" bordercolor="#000000" cellpadding="10" cellspacing="0">
<input type="Hidden" name="prufen" value="pruf">
<input type="Hidden" name="bogen" value="'.$bogen.'">';
$anfrage=mysql_query("SELECT * FROM table_name WHERE bogen LIKE '$bogen' ORDER by id");
while($row=mysql_fetch_array($anfrage)){
echo'
<tr>
<th colspan="3" align="left">'.$row["aufgaben_frage"].'</th>
</tr>
<tr>
<td width="413">'.$row["frage1"].'</td>
<td width="40">
<input type="Checkbox" name="a'.$row["id"].'" value="'.$row["antwort1"].'">
</td>
<td rowspan="3" width="142">';
#prüft ob bild exestirt
if($row["bild"]!=""){
echo'<img src="../bla/'.$row["bild"].'"><br><br>
<a href="bla.php?bild='.$row["bild"].'" target="_blank">
<img src="../bla/lupe.gif" width="42" height="30" border="0">
</a>';
}
else{echo' ';}
#ende
echo' </td>
</tr>
<tr>
<td>'.$row["frage2"].'</td>
<td>
<input type="Checkbox" name="b'.$row["id"].'" value="'.$row["antwort2"].'">
</td>
</tr>
<tr>';
#prüft ob 3te frage existirt
if($row["frage3"]!=""){echo'
<td>'.$row["frage3"].'</td>
<td>
<input type="Checkbox" name="c'.$row["id"].'" value="'.$row["antwort3"].'">
</td>';
}
else{ echo'<td colspan="4"> </td>';}
#ende
echo'</tr>
<tr>
<td colspan="3"><hr color="#000000"></td>
</tr>';
}
echo'
<tr>
<td colspan="3" align="center">
<input type="Submit" value="Prüfen">
</td>
</tr>
</table>
</form>
';
}
Kommentar
-
ich sagte:
Original geschrieben von asp2php
nicht in php, sondern, das was im Browser angezeigt wird. Bitte als txt anhängen.
Andererseits ist deine Formulierung etwas verwirrend, denn
- Du sagtest: jede Frage hat 3 Antworte, in deine Datenbanktabelle steht was von frage1 bis frage3; sind das die Antworte?
- du prüftst irgendwie mit $_POST[$a]!=1. hier sehe ich $row["antwort1"] (bis anwort3)
- ...
Kommentar
-
-
Original geschrieben von vitalinka
Wir reden irgendwie aneinander vorbei.
10 Aufgaben $row[aufgaben_frage].
2 bis 3 Antworten $row[frage1].
Checkbox Name=a?$row[id]
value=$row[antwort1] Richtig=1 Falsch=0
- Antwort ist richtig (value=1)
+ isset liefert false -> nicht gecheckt -> bal hinzuaddieren
+ isset liefert true -> i.O.
- Antwort ist falsch (value=0)
+ isset liefert true -> gecheckt -> bal hinzuaddieren
+ isset liefert false -> i.O.
hab ich noch was vergessen ....
EDIT:
ach ja, es ist nicht sehr schlau, die checkbox mit 0 und 1 zu belegen, denn man braucht nur den Quellcode im Browser anzuschauen, schon kommt man drauf, was man ankreuzen mußZuletzt geändert von asp2php; 24.11.2004, 15:06.
Kommentar
-
Genau so, wie du es beschreibst habe ich mir vorgestellt. Deswegen ist ja auch eine komplizierte IF Anweisung. Oder meinst du, dass ich mehrere IFs ausprobieren soll? Und weiter weiß ich einfach nicht.
Ich habe hier was ausprobiert, aber funzt auch nicht.
Bekomme alle Strafpunkte 1+2.....9+10 aufgelistet.
PHP-Code:if(isset($_GET[$a]) && $_GET[$a]==0 ||
!isset($_GET[$a]) && $row["antwort1"]==1 ||
isset($_GET[$b]) && $_GET[$b]==0 ||
!isset($_GET[$b]) && $row["antwort2"]==1 ||
isset($_GET[$c]) && $_GET[$c]==0 ||
!isset($_GET[$c]) && $row["antwort3"]==1)
{
$straf=$straf+$row["bal"];
echo'<h3 align="">Strafpunkte '.$straf.'</h3>';}
Kommentar
-
also, eins ist sicher: ich werde dir das Teil nicht umbauen
Ich habe dir den Weg schon gezeigt, wie du prüfen sollst/kannst. Die Umsetzung mußt du schon selbst.
Tipp: Prüfe erst mal nichts, sondern gebe die Daten einfach aus, und zwar grüppchenweise, pro Frage die gesendete Werte und die aus der DB zusammen, dann kannst du anfangen, die Bedingungen zu formulieren. Manchmal hilft es, wenn man den Sachverhalt wirklich sieht.
Kommentar
-
Hallo Leute.
Ich dachte. Forum ist dazu da, um zu helfen?
Ein Wort array hätte gereicht, um mein Problem zu lösen.
PHP-Code:while($row=mysql_fetch_array($anf)){
$a='a'.$row["id"];#Übergegebene Imput Name
$b='b'.$row["id"];
$c='c'.$row["id"];#ende
if(isset($_POST[$a]) && $_POST[$a]!=1 || !isset($_POST[$a]) && $row["antwort1"]==1 ||
isset($_POST[$b]) && $_POST[$b]!=1 || !isset($_POST[$b]) && $row["antwort2"]==1 ||
isset($_POST[$c]) && $_POST[$c]!=1 || !isset($_POST[$c]) && $row["antwort3"]==1)
{
$bal=$row["bal"];
}
else{ $bal=0;}
$straf[]=$bal;
}
echo' Strafpunkte '.array_sum($straf).'';
Kommentar
-
Original geschrieben von vitalinka
Ich dachte. Forum ist dazu da, um zu helfen?
Ein Wort array hätte gereicht, um mein Problem zu lösen.OffTopic:
und wir denken, die deutsche sprache ist u.a. dazu da, ein problem verständlich zu beschreiben.
leider wird von leuten wie dir immer wieder versucht, uns was das angeht eines besseren zu belehren.I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
Kommentar