php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.02.2008, 11:59  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard value wert von chekbox übernehmen und nach rewuest beibehalt

Hallo!

Ich möchte gern eine Checkbox für die Auswahl einer Tabellenzeile verwenden. Dazu wollte ich die Werte in ein Array check schreiben lassen um es dann bearbeiten zu können. Leider funktioniert dies so leider nicht. Das Array check schein leer zu bleiben
Weiterhin sollte nach einem Request die Auswahl erhalten bleiben, dies habe ich mittels einer freach schleife zu realisieren, das schein aber schon an dem ersten problem zu scheitern.


Code:
var_dump($_POST);=array(1) { ["submit"]=> string(10) "Abschicken" }
PHP-Code:
<?
include('mysql_db.php');
$db=new mysql_db();
$submit=$_POST['submit'];
$check=array_key_exists("check"$_POST) ? $_POST["check"] : array(); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de">
  <head><meta http-equiv="Content-type" content="text/html ; CHARSET=iso-8859-1"/>
    <title>titel</title>
    <link rel="stylesheet" type="text/css" href="css/basic.css" media="screen"/>
  </head>
  <body >
    <div id="wrap">
      <div id="contentueb">
      <?
          $sql
="SELECT FreistellId, Branchenname, Bezeichnung, Stellenbeschreib FROM `Freistelle`, `Branche` WHERE BranchenId=BranchfreiId ;";
        
$ResultPointer=$db->query($sql);
        if (!
$ResultPointer) {echo mysql_error();}
        
        echo 
'<div class="moduletable"><h3>gefundene Stellen </h3></div> ';
        echo 
'<table border="0" width="450px" cellpadding="0" cellspacing="2" class="tableborder">';
        echo 
'<tr>';
        echo     
'<td class="tdborder2">[b]Auswahl[/b]</td>';
        echo     
'<td class="tdborder2">[b]Stellenname[/b]</td>';
        echo     
'<td class="tdborder2">[b]Stellenbeschreibung[/b]</td>';
        echo     
'<td class="tdborder2">[b]Branche[/b]</td>';
        echo  
'</tr>';
        if (
is_array($check))
         {
            foreach(
$check as $wert)
            {
                if (
in_array($wert,$check))
                {
                    
$checked='"checked"';
                }else
                {
                    
$checked='""';
                }
            }
        }
        

    
         for(
$i=0$i<mysql_num_rows($ResultPointer); $i++)
         {
              
$Result=$db->data_object();
           
            
$tbl  '<tr>';
            
$tbl .= '<td class="tdborder1"><input type="checkbox" name="check[]" value="'.$Result->FreistellId.'"';
            
$tbl .='checked="'.$checked.'">';
            
$tbl .= '</td>';
            
$tbl .= '<td class="tdborder1">';
              
$tbl .= $Result->Bezeichnung;
            
$tbl .= '</td>';
            
$tbl .= '<td class="tdborder1">';
              
$tbl .= $Result->Stellenbeschreib;
            
$tbl .= '</td>';
            
$tbl .= '<td class="tdborder1">';
              
$tbl .= $Result->Branchenname;
            
$tbl .= '</td>';
            
$tbl .= '</tr>';
            echo 
$tbl;
         }
        echo 
'</table>'
        
        if (
$submit)
        {
        
            
print_r($check);
            
var_dump($_POST);
        }
            
        
      
?>
      <form action="<? echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
                <fieldset>
                    <div class="moduletable"><h3></h3></div>
                    <table border="0" width="400px" cellpadding="0" cellspacing="2"  class="">
                        <tr>      
                            
                            <td><input type="submit" name="submit" value="Abschicken"/></td>
                        </tr>
                    </table>
                </fieldset>
            </form>
      
            </div>
    </div>
  </body>
</html>
Danke für evtl Tipps

gruß niesel
nieselfriem ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.02.2008, 12:30  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich versteh nicht was du da machst .. Wozu prüfst du auf in_array(), wenn du doch grade die Elemente des Arrays durchläufst. Außerdem bringen Einfachzuweisungen in Schleifen fast nie etwas, da sie beim nächsten Durchlauf wieder überschrieben werden.

Du musst die Überprüfung, ob das Feld wieder angekreuzt werden soll in der Schleife der Ausgabe machen.
$checked = is_array($check) && in_array($Result->FreistellId, $check) ? ' checked="checked"' : "";

PS: Doctype Strict, array_key_exists .. niesel du machst dich! Weiter so!
Zergling-new ist offline  
Alt 16.02.2008, 12:44  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Blumen
Viel habe ich dabei diesem Forum zu verdanken, auch wenns ab und zu mal schelte gibt, was nicht schlimm ist
ok aber woran liegt mein erstes problem, das die werte einfach nicht in das array übernommen werden?
nieselfriem ist offline  
Alt 16.02.2008, 14:51  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Weil dein Formular eben nur den submit-Button enthält
Zergling-new ist offline  
Alt 16.02.2008, 16:46  
Erfahrener Benutzer
 
Registriert seit: 28.11.2004
Beiträge: 305
nieselfriem ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ach sch*****e ich depp! na klar!



Danke!
nieselfriem ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Prototype Ajax Array Datenmüll notyyy HTML, Usability und Barrierefreiheit 2 08.04.2008 10:57
value wert von chekbox übernehmen und nach rewuest beibehalt nieselfriem PHP Tipps 2008 1 13.02.2008 20:34
Was mime_content_type übergeben dethlef14 PHP Tipps 2006 16 11.10.2006 17:35
open_basedir greift ab und an CC84 PHP-Fortgeschrittene 7 28.09.2006 08:01
MySQL mit phpMyAdmin verwalten Datenbanken 20 13.04.2006 11:13
PHP-Safe-Mode Configuration mit Xampp - Scripts laufen nicht DerN8WaechterX PHP Tipps 2006 7 27.01.2006 00:41
Problem mit php/mysql PHP Tipps 2005-2 29 10.08.2005 14:33
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
[Erledigt] Error Mail() function PHP Tipps 2005 3 14.04.2005 03:32
[Erledigt] warum kann nicht SVG files laden? PHP Tipps 2005 16 09.03.2005 14:05
Thumb function PHP Tipps 2005 5 07.03.2005 22:28
[Erledigt] Warning: filemtime() [function.filemtime]: stat failed for PHP-Fortgeschrittene 12 25.02.2005 19:44
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
Variable fehlt PHP Tipps 2004-2 4 10.12.2004 13:06
Einloggen funzt einfach nicht... PHP Tipps 2004 4 29.06.2004 11:12


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:17 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.