Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
296
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registrierer Registrierer ist offline Mitglied Gold
    Registriert seit
    Mar 2009
    Beiträge
    164
    Hallo Wissende
    ich hab eine Abfrage die funktioniert,
    PHP-Code:
    echo "<form method=\"post\" action=\"\">";
    $abfragex="SELECT * FROM users WHERE UserID NOT LIKE $user";
    $benutzer mysql_query($abfragex);
    while(
    $row mysql_fetch_array($benutzer))
    {echo 
    "<input type=\"checkbox\" name=\"Benutzer1[]\" value=\"".$row['UserID']."\"> ".$row['UserName']."<br>\n";}
    echo 
    "</form>"
    auch das auslesen des Arrays bzw. deren Werte funktioniert und ich kann sie in die Datenbank schreiben.
    PHP-Code:
    if (isset($_REQUEST['Benutzer1'])) {reset($_REQUEST['Benutzer1']); foreach ($_REQUEST['Benutzer1'] as $check) {print $check.'<br>';}} 
    Was ich aber nicht hinbekomme ist, wenn das Formular abgeschickt wird die vorher bereits aktivierten Checkboxen auch aktiviert bleiben.
    Mit
    PHP-Code:
    $array1 = array ($_REQUEST['Benutzer1']);
    print_r($array1); 
    bekomme ich zwar die Werte, aber wie ordne ich sie zu, so dass "checked" im richtigen Datensatz steht?
     

  2. #2
    Avatar von Maniac
    Maniac Maniac ist offline Mitglied Smaragd
    Registriert seit
    Apr 2007
    Ort
    Augsburg/Gersthofen (Bayern)
    Beiträge
    1.073
    PHP-Code:
    echo "<form method=\"post\" action=\"\">";
    $abfragex="SELECT * FROM users WHERE UserID NOT LIKE $user";
    $benutzer mysql_query($abfragex);
    while(
    $row mysql_fetch_array($benutzer))
    {
    echo 
    "<input type=\"checkbox\" name=\"Benutzer1[]\" value=\"".$row['UserID']." \"> ".$row['UserName']."<br>\n";
    }
    echo 
    "</form>"
    versuch es mal so:
    PHP-Code:
    echo "<input type=\"checkbox\" name=\"Benutzer1[]\" value=\"".$row['UserID'];
    if(isset(
    $_POST['Benutzer1'])) echo " checked=\"checked\" ";
    echo 
    "\"> ".$row['UserName']."<br>\n"
     

  3. #3
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    verstehe ich das richtig, dass die Checkboxen im HTML-Formular angekreuzt bleiben sollen?

    PHP-Code:
    echo "<input type=\"checkbox\" name=\"Benutzer1[]\" value=\"".$row['UserID']."\"";
    if(! empty(
    $_POST['Benutzer1']) && in_array($row['UserID'], $_POST['Benutzer1'])) {
       echo 
    ' checked';
    }
    echo 
    '>'
    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  4. #4
    Registrierer Registrierer ist offline Mitglied Gold
    Registriert seit
    Mar 2009
    Beiträge
    164
    Danke, aber dann sind entweder alle oder keiner ausgewählt.
    Das funktioniert leider nicht in einem Array oder einer Abfrage...
     

  5. #5
    Registrierer Registrierer ist offline Mitglied Gold
    Registriert seit
    Mar 2009
    Beiträge
    164
    Zitat Zitat von kuddeldaddeldu Beitrag anzeigen
    Hi,
    verstehe ich das richtig, dass die Checkboxen im HTML-Formular angekreuzt bleiben sollen?
    @kuddeldaddeldu

    Ja genau, es werden natürlich noch mehr Parameter abgefragt und wenn diese nicht erfüllt sind wird das Formular wieder angezeigt und die Checkboxen sind jedesmal alle leer.
    Mit
    PHP-Code:
    if(isset($_POST['Benutzer1'])) echo " checked=\"checked\" "
    geht das ja leider nur in separaten Feldern.
    Deine Variante funktioniert, Danke! Warum weisst Du immer alles
     

  6. #6
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von Registrierer Beitrag anzeigen
    Deine Variante funktioniert, Danke!
    Gerne.

    Zitat Zitat von Registrierer Beitrag anzeigen
    Warum weisst Du immer alles
    Na ja, das ist nun ehrlich gesagt schon ein Standardproblem. Da Du ja schon rausgefunden hattest, wie man logisch zusammengehörige Checkboxen schön in ein Array übergeben bekommt, hättest Du da früher oder später auch selbst drauf kommen können. Einfach mal etwas öfter in der Funktionsreferenz des PHP-Manuals stöbern...

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  7. #7
    Sprint Sprint ist offline Mitglied Platin
    Registriert seit
    Apr 2004
    Ort
    Die heimliche Hauptstadt des Bieres
    Beiträge
    563
    Leg den Index für die Checkboxen mit fest. Dann hast du hinterher eine eindeutige Zuweisung, die du ausnützen kannst.

    also erst
    PHP-Code:
    echo "<input type=\"checkbox\" name=\"Benutzer1[$nummer]\" value=\"".$row['UserID']." \"> ".$row['UserName']."<br>\n"
    und dann
    PHP-Code:
    if(isset($_POST['Benutzer1'][$nummer])) echo " checked=\"checked\" "
     
    Think Different.

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 09.06.10, 14:35
  2. Problem mit checked="checked"
    Von Nord-Süd-Richtung im Forum HTML & XHTML
    Antworten: 17
    Letzter Beitrag: 31.07.09, 17:44
  3. C# If "nummer" else "letter" abfrage
    Von Alzurana im Forum .NET Café
    Antworten: 6
    Letzter Beitrag: 18.03.07, 13:46
  4. Abfrage "Download" oder "Öffnen"
    Von bmxvoodoo im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.12.05, 11:17
  5. Antworten: 2
    Letzter Beitrag: 14.02.05, 00:00