unlord
Erfahrenes Mitglied
Das Script zum auswählen des Polls, den man editieren will, sieht so aus:
...hier ist glaube ich noch alles richtig... nun das Script zum angeben der neuen Antworten:
...soweit ist mein Script glaube ich ohne Fehler, aber der folgende Teil, welcher den Poll dann verändern soll, funktioniert nicht:
.... hab ewig dran rumprobiert, aber es will einfach nicht -.-
Wenn es Fragen gibt unbedingt melden
Im Anhang gibts übrigens nochmal die drei Dateien.
Hoffe ihr könnt mir helfen....
mfg
unlord
P.S.: Hier noch kurz eine Erklärung zum Aufbau meiner mySQL-DB:
Tabelle: poll
Spalten: ID(prim_key, auto_incr, INT), Frage(VARCHAR), Datum(DATE)
Tabelle: poll_antworten
Spalten: ID(prim_key,auto_incr,INT), PollID(hiermit werden die Antworten einem Poll zugeordnet... also PollID == ID von der Tabelle poll), Antwort(VARCHAR, es kann beliebig viele antworten geben, da dann die PollID einfach wiederholt wird), Klicks(die Anzahl der Klicks für die jeweilige Antwort)
PHP:
<?php
if(!isset($_SESSION['admin'])) {
die("Acess denieded.");
} else {
echo "<h2>Poll bearbeiten</h2><br>";
$table = 'poll';
$ID = (isset($ID)) ? abs((int)$ID) : 0;
$limit = 6;
$resultID = mysql_query("SELECT COUNT(ID) FROM ".$table);
$total = mysql_result($resultID,0);
$ID = ($ID >= $total) ? $total - $limit : $ID;
$query = "SELECT ID,Frage FROM ".$table." ORDER BY ID DESC LIMIT ".$ID.",".$limit;
$resultID = mysql_query($query);
while ($data = mysql_fetch_array($resultID)) {
echo "<font color=\"blue\">ID-Nummer: </font>";
echo "<font color=\"red\"><b>";
echo $data['ID'];
echo "</b></font><br>";
echo "<font color=\"blue\">Frage: </font>";
echo "<font color=\"FF000\"><b>";
echo $data['Frage'];
echo "</b></font><br><hr>";
}
if($ID > 0) {
$newID = ($ID - $limit < 0) ? 0 : ($ID-$limit);
echo "<a href=".$_SERVER['PHP_SELF']."?section=admin&action=intern&acp_action=edit_poll&ID=".$newID."><< zurück</a> ";
}
if($ID + $limit < $total) {
$newID = $ID + $limit;
echo " <a href=".$_SERVER['PHP_SELF']."?section=admin&action=intern&acp_action=edit_poll&ID=".$newID.">vor >></a>";
}
echo "<br><form name=\"updID\" action=\"index.php?section=admin&action=intern&acp_action=8gr_420g348&acp_status=poll_upd_selected\" method=\"POST\">";
echo "<br>Bitte wählen sie die ID-Nummer des Polls aus, den sie bearbeiten wollen: <br>";
echo "<input type=\"text\" name=\"upd_id\" size=\"4\"><br><br>";
echo "<font face=\"Verdana\" size=\"2\"><a href=\"index.php?section=admin&action=intern&acp_action=8gr_420g348&acp_status=poll_upd_selected\" onclick=\"window.document.forms['updID'].submit(); return false;\" style=\"text-decoration: none\"><font color=\"black\">Bearbeiten</font></a><br>";
echo "</form>";
}
?>
...hier ist glaube ich noch alles richtig... nun das Script zum angeben der neuen Antworten:
PHP:
<?php
if(!isset($_SESSION['admin'])) {
die("Acess denieded.");
} else {
echo "<h2>News bearbeiten</h2><br>";
if(!isset($_POST['upd_id'])) {
die("Acess not allowed. Please use our formular.");
}
if(trim($_POST['upd_id']) == "") {
die("Bitte geben sie eine ID-Nummer an.");
}
if(isset($_POST['upd_id'])) {
$ID = $_POST['upd_id'];
global $ID;
echo "<form name=\"updPoll\" action=\"index.php?section=admin&action=intern&acp_action=8gr_420g348&acp_status=poll_updated\" method=\"POST\">";
$sql = "SELECT
Frage,
Datum
FROM
poll
WHERE
ID = '$ID'";
$exists = mysql_query($sql) OR die(mysql_error());
while($data = mysql_fetch_array($exists)) {
$Frage = $data['Frage'];
echo "Frage: <input type=\"text\" name=\"updFrage\" size=\"30\" value=\"$Frage\"><br><br>";
}
$sqltwo = mysql_query("SELECT
Antwort,
Klicks
FROM
poll_antworten
WHERE
PollID = '$ID'");
$sum = mysql_query("SELECT COUNT(Antwort) AS Antwort FROM poll_antworten WHERE ID = '".$ID."'");
$curr_a = mysql_query("SELECT Antwort FROM poll_antworten WHERE PollID = '".$ID."'");
$get_sum = mysql_fetch_array($sum);
$a_sum = $get_sum['Antwort'];
$an = array();
$aID = 1;
while($row = mysql_fetch_array($curr_a)) {
$value = $row['Antwort'];
echo "Antwort ".$aID.": <input type=\"text\" name=\"an[$a_sum]\" value=\"$value\" size=\"40\"><br>";
$aID++;
$a_sum++;
}
$sum = mysql_query("SELECT COUNT(Antwort) AS Antwort FROM poll_antworten WHERE ID = '".$ID."'");
$get_sum = mysql_fetch_array($sum);
$a_sum = $get_sum['Antwort'];
echo "<input type=\"hidden\" name=\"a_sum\" value=\"$a_sum\">";
echo "<input type=\"hidden\" name=\"selectedID\" value=\"$ID\"><br><br>";
echo "<font face=\"Verdana\" size=\"2\"><a href=\"index.php?section=admin&action=intern&acp_action=8gr_420g348&acp_status=poll_updated\" onclick=\"window.document.forms['updPoll'].submit(); return false;\" style=\"text-decoration: none\"><font color=\"black\">Ändern</font></a><br></form>";
}
}
?>
...soweit ist mein Script glaube ich ohne Fehler, aber der folgende Teil, welcher den Poll dann verändern soll, funktioniert nicht:
PHP:
<?php
if(!isset($_SESSION['admin'])) {
die("Acess denieded.");
}
$sum = $_POST["a_sum"];
$ID = $_POST["selectedID"];
$frage = $_POST["updFrage"];
$an = $_POST["an"];
while($sum > 0) {
while($sum > 0) {
$sql = "UPDATE
poll_antworten
SET
Antwort = '".$an[$sum]."'
WHERE
PollID = '".$ID."'";
mysql_query($sql) OR die(mysql_error());
}
$sum--;
}
$asql = "UPDATE
poll
SET
Frage = '".$frage."'
WHERE
ID = '".$ID."'";
mysql_query($asql) OR die(mysql_error());
echo "Poll erfolgreich geändert."
?>
.... hab ewig dran rumprobiert, aber es will einfach nicht -.-
Wenn es Fragen gibt unbedingt melden
Im Anhang gibts übrigens nochmal die drei Dateien.
Hoffe ihr könnt mir helfen....
mfg
unlord
P.S.: Hier noch kurz eine Erklärung zum Aufbau meiner mySQL-DB:
Tabelle: poll
Spalten: ID(prim_key, auto_incr, INT), Frage(VARCHAR), Datum(DATE)
Tabelle: poll_antworten
Spalten: ID(prim_key,auto_incr,INT), PollID(hiermit werden die Antworten einem Poll zugeordnet... also PollID == ID von der Tabelle poll), Antwort(VARCHAR, es kann beliebig viele antworten geben, da dann die PollID einfach wiederholt wird), Klicks(die Anzahl der Klicks für die jeweilige Antwort)
Anhänge
Zuletzt bearbeitet: