• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Radiobuttons bei Aufruf befüllen mit der Werten aus der Datenbank

Mathmos

Neues Mitglied
Moin,

ich habe da mal wieder ein Problem.
Und zwar möchte ich in einem Formular einen Radiobutton mit einer Vorauswahl ausstatten.
Dafür hole ich 2 Werte aus der Datenbank und errechne damit einen Wert, mit dem ich bestimmen kann, welcher Radiobutton als checked markiert werden soll.

Nun ist mein Problem aber, das der Code, zwischen den Rautezeichen, an dieser Stelle, nicht funktioniert. Er holt auch keine Werte aus der Datenbank.
Wenn der Code allerdings an der Stelle steht, wo der Pfeil ist, funktioniert es halbwegs.
Aber nur dann, wenn ich das Formular abgeschickt habe, wird der errechnete Radiobutton als checked angezeigt.


PHP:
<?php
include("auth.php");
include("dbconnect.php");

//#############
//Dient der Radiobutton Vorauswahl
$sql = "SELECT wg_begin, wg_end FROM wg WHERE admin_usr_id = '".mysql_real_escape_string($userID)."' AND wg_id = '".mysql_real_escape_string($wgID)."'"; 
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
    $wgbegin = $row['wg_begin'];
    $wgend = $row['wg_end'];
}

$period = ((strtotime($wgend)-strtotime($wgbegin))/60/60/24/30);

//Prüfe ob Zahle größer 0,5 aber kleiner 1,5 ist usw....
if($period > 0.5 && $period < 1.5)
    $checked1 = 'checked="checked"';
elseif($period > 1.5 && $period < 2.5)
    $checked2 = 'checked="checked"';
elseif($period > 2.5 && $period < 3.5)
    $checked3 = 'checked="checked"';
//#############

if(isset($_POST["submit"]) AND $_POST["submit"]==" Änderungen speichern ")
{
    // Fehlerarray anlegen
    $errors = array();
    
    // Prüfen, ob alle Formularfelder vorhanden sind
    if(!isset($_POST["dauer"]))
    {
        // Ein Element im Fehlerarray hinzufügen
        $errors = "Bitte benutze das korrekte Formular";
    }
    else
    {
        // Session user_id und Name holen, wenn nicht auslesbar -> zurück zum login
        if (isset($_SESSION["user_id"]) && isset($_SESSION["wg_id"]) && isset($_SESSION["wg_admin"]))
        {
            $userID=$_SESSION["user_id"];
            $wgID = $_SESSION["wg_id"];
            $wgAdmin = $_SESSION["wg_admin"];
        }
        else
        {
            echo "Es ist ein Fehler aufgetreten.";
            echo "<br />";
            echo "Bitte neu einloggen.";
            echo ' <meta http-equiv="refresh" content="2; url=http://xxl-pc.de/cleanerplan/v1/index.php?s=login">';
            exit();
        }

        // -------->>>>
        
    }
}
?>

<form method="post" action="<?php echo "index.php?s=admin"; ?>">
<a>Gültigkeitsdauer in Monaten:</a><br />
<input type="radio" name="dauer" id="dauer1" <?php echo $checked1; ?> value="1" />&ensp;1&emsp;
<input type="radio" name="dauer" id="dauer2" <?php echo $checked2; ?> value="2" />&ensp;2&emsp;
<input type="radio" name="dauer" id="dauer3" <?php echo $checked3; ?> value="3" />&ensp;3&emsp;<br />

<br />
<input type="submit" name="submit" value=" Änderungen speichern " />
</form>
 
Werbung:
Ich würde mal drauf achten, wo du userID und wgID eigentlich belegt wird ;)

Sehr hilfreich bei solchen Fehlern:

Richtig debuggen

1.Man bemerkt, dass ein Skript nicht das tut, was es soll.
2.Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
3.Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
4.Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
5.An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
6.Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
7.Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
8.Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
9.Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Ach herrje....

Manchmal sieht man der Wald vor lauter Bäumen kaum ;)

Ich bin das ganz mal nach deinem Leitfaden durchgegangen und wäre gleich bei der ersten Fehlermeldung auf die Lösung gekommen ;)

Zudem habe ich mir mal deinem Leitfaden, für zukünftige Problem abgespeichert =)

Vielen Dank =)
 
Werbung:
Zurück
Oben