YES!!!!
Danke newton, genau das war die Antwort auf die ich gewartet hab. Funzt jetzt wunderbar. Hoffe, du bleibst diesem Forum etwas länger erhalten!
Aber auch Dir, JoelH, vielen Dank, das du dir die Mühe gemacht hast!!!
Array?
Einklappen
X
-
Moin....
ich seh nicht ganz Dein Problem.
zum einen würde ich anstelle der Case-Umgebung folgendes Schreiben:
$Anzeige = array('keine Bewertung', '1', '2', '3', '4', '5');
for ($i=0;$i<=5;$i++)
{
echo "<option value=".$i;
if ($zensur==$i) echo " selected ";
echo ">".$Anzeige[$i]."</option>";
}
Das ist etwas kompakter als die Case-Umgebung.
Um zu jedem Schüler den passenden Wert zu speichern, solltest Du anstellen von
<select name=\"zensur\" SIZE=\"1\">";
lieber
<select name='zensur[".$SID."]' SIZE='1'>";
schreiben. Somit wird zu jedem Feld Zensur an der Stelle $SID die Zensur abgespeichert ($zensur[Schülernummer] = Zensurenwert). Dieser kann dann mit LIST ausgelesen werden.
while ( list($SNummer, $SZensur) = each($zensur) )
{
$query = mysql_query("UPDATTE ..... SET zensur = '$SZensur' WHERE SID = '$SNummer'")
}
Sollte es noch Fragen geben, melde Dich mal
CU Newton
Einen Kommentar schreiben:
-
...
also zuerstmal: entschuldige, ich wollte keinen neuen Tread öffnen, sollte einfach eine Antwort auf meinen beitrag werden *gg*
genau das, was du so einfach dastellst, ist mein problem: Der INSERT in die Datenbank. Wie genau muß der lauten, damit für jeden Schüler der entsprechende Eintrag gemacht wird?
Ich habe es jetzt so:
mysql_connect($dbhost,$dbuname,$dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
$result = mysql_query("Update schueler set zensur='$zensur' where SID='$SID'");
if(!$result) {
echo mysql_errno(). ": ".mysql_error(). "<br>";
}
Aber das funzt leider nicht. Es wird gar kein wert an die DB übergeben.
Einen Kommentar schreiben:
-
hmmm,
ich sehe dein Problem nicht wirklich, du brauchst doch nur eine Abfrage ob submitet wurde, ist dies der Fall dann mach einfach ein INSERT in die DB, natürlich musst du dazu auch die Daten übergeben also den Namen und die Zensur.
PS : So Seiten die sich selbst aufrufen sind zwar elegant aber sehr unübersichtlich und Fehleranfällig, warum rufst du nicht verschiedene Scripts auf, dann wird sicherlich einiges klarer weil du siehst wo was gemacht wird und vor allem wann es getan wird.
Einen Kommentar schreiben:
-
Array?
ich war mir nicht sicher, ob es sich um ein mySQL oder PHP problem handelt, deswegen versuch ich es einfach hier.
ich habe untenstehenden Code programmiert. Es werden alle Zensuren aus der datenbank ausgelesen, und in einer Select-Anweisung ausgegeben, damit man sie ändern kann.
Nun mächte ich, das wenn man auf den Button klickt, alle Zensuren, passend zu den personen wieder in die Datenbank geschrieben werden.
Ich denke, dazu müßte ein array angelegt werden, oder? Aber wie? kann mir jemand weiterhelfen?
if(!$op){
echo "<center><br><b>Zensuren eintragen</b></center><br>";
echo "<form action=$PHP_SELF?op=zensuren method=post>";
echo "<table border=1 width=80% bordercolor=black cellpadding=0 cellspacing=0><tr>
<td><center><font color=white><b>Name</b></font></center></td>
<td><center><font color=white><b>Zensur</b></font></center></td>
mysql_connect($dbhost,$dbuname,$dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
$result = mysql_query("SELECT * from schueler order by name;");
echo mysql_error();
while(list($SID, $name, $zensur) = mysql_fetch_array($result)) {
echo "<tr><td><center>";
echo "<td><center><a href=$PHP_SELF?op=zeigen&sid=$SID>$name</a></center></td>
<td><center><select name=\"zensur\" SIZE=\"1\">";
switch ($zensur) {
case 0:
echo "<option value=0 selected>Keine Bewertung</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>";
break;
case 1:
echo "<option value=0>Keine Bewertung</option>
<option value=1 selected>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>3</option>
<option value=5>5</option>";
break;
case 2:
echo "<option value=0>Keine Bewertung</option>
<option value=1>1</option>
<option value=2 selected>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>";
break;
case 3:
echo "<option value=0>Keine Bewertung</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3 selected>3</option>
<option value=4>4</option>
<option value=5>5</option>";
break;
case 4:
echo "<option value=0>Keine Bewertung</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4 selected>4</option>
<option value=5>5</option>";
break;
case 5:
echo "<option value=0>Keine Bewertung</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5 selected>5</option>";
break;
}
echo "</select></center></td>";
}
echo "</table>";
echo "<br><center><input type=submit value=\"Zensuren vergeben\">";
echo "</center></form>";
}Stichworte: -
Einen Kommentar schreiben: