PHP / MySQL / HTML - Table

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP / MySQL / HTML - Table

    Hallo zuammen,

    ich hab ein "kleines" Problem.
    Ich habe eine DB voller Daten.
    Diese Daten lasse ich mir mittels PHP in einer HTML-table darstellen.
    Vor jeder Zeile / Spalte befindet sich eine Checkbox.
    Mein Ziel ist es das der Betrachter/User die Möglichkeit hat per checkbox jeweils eine Spalte / Zeile auszuwählen.
    Mit den Zeilen klappt das ja schon ganz gut. Jedoch machen mir die Spalten Sorgen. Ich sitz jetzt schon länger drann und komm einfach nich drauf. Mein Momentanes Hindernis sind die id's die ich vergebe.
    Vielleicht habt ihr eine Idee wie ich das irgendwie arrangieren kann.
    Danke schon mal!

    Code:

    PHP-Code:
    <html>
    <head>
    <script src="functions.js" type="text/javascript" language="javascript"></script>
    <style type="text/css">
    <!--
     body { background-color:white; }
     table.selectrows { border-collapse:collapse; }
     table.selectrows:hover { cursor:pointer; }
     table.selectrows td { padding:10px; margin:0;  }
     table.selectrows tr { padding:0; margin:0; border:1px solid black; } 
     table.selectrows tr.checked   { background-color:#88e; color:white; }
     table.selectrows tr.unchecked { background-color:white; color:black; }
     table.selectrows label { display:block; width:100%; height:100%; margin:0; padding:0; border:none; }
    -->
    </style>
    <script type="text/javascript"><!--
    function rowclickedcheck(checkid, rowid)
    {
        window.setTimeout("colorizeRow('"+checkid+"','"+rowid+"')",300); 
        return true;
    }

    function colorizeRow(idcheck, idrow)
    {
        document.getElementById(idrow).className = ((document.getElementById(idcheck).checked) ? "checked" : "unchecked");
    }

    //--></script>
    </head>
    <body>
    <form name="theform" action="" method="GET">
    <?php 
    //include ("check_login.php"); 

    $sep "#";
    $file "test.csv";
    $lines file($file);
    $numlines count($lines);
    $headers[] = "0";
    $headers explode($sep$lines[0]);
    $numheaders count($headers);
    $i 0;
    echo 
    "<table border = 1 cellpadding = 2 class='selectrows'><tr >";
    echo 
    "<td></td>";
    while(
    $i<$numheaders){
           
    $headers str_replace("\""""$headers);
          
    ?><td ><input name="checkcol<? echo $i?>" type="checkbox" onclick="return colclickedcheck('<? echo $i?>');"
     onkeyup="return colclickedcheck('<? echo $i?>');" /></td>
          <?
           $i++;
           }

    echo "</tr>";
    $y = 0;
    while($y<$numlines){ 
           $x=0;
           
           ?><TR class="unchecked" id="rownr<? echo $y?>">
           <TD>
           <input id="checknr<? echo $y?>" name="checknr<? echo $y?>" 
    type="checkbox" 
    onclick="return rowclickedcheck('checknr<? echo $y?>','rownr<? echo $y?>');" 
    onkeyup="return rowclickedcheck('checknr<? echo $y?>','rownr<? echo $y?>')" /> 
    </td>
           <? while($x<$numheaders){
                   $fields = explode($sep, $lines[$y]);
                   $fields = str_replace("\"", "", $fields);
           ?> 
           <td id="test" onclick="return rowclickedcheck('checknr<? echo $y?>','rownr<? echo $y?>');" 
    onkeyup="return rowclickedcheck('checknr<? echo $y?>','rownr<? echo $y?>');" 
    onmousedown="document.getElementById('checknr<? echo $y?>').checked = (document.getElementById('checknr<? echo $y?>').checked ? false : true);" 
    nowrap="nowrap" >
    <label for="checknr<? echo $y?>">
    <? echo $fields[$x];?></label></td>
           <?
                   $x++;
                   }            
           $y++;
           echo "</TR>";
           }

    //close the table.
    echo "</table>";
    ?>
    </form>
    </body>
    </html>
    Zuletzt geändert von Askim; 06.08.2006, 22:36.

  • #2
    Also erstmal: Willkommen im Forum.

    Als Zweites möchte ich dich bitten den langen, großen Link unten in meiner Signatur zu besuchen, den Text zu lesen und umzusetzen...

    ... dann möchte ich nur sagen: Du kannst auch Arrays über HTML übergeben, indem du an den Namen ein [] anhängst... z.B.

    name="test[]"


    ... aber bitte bitte brich deinen Code um. Das ist grausam. Danke
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Ja auch hallo :-)

      Tut mir leid ich war schon längere Zeit nichtmehr in einem Forum.

      Das mit dem Array ist mir auch eingefallen aber ich weiss nicht so recht wie ich dann ein Element(Zelle) in der Schleife identifinzieren soll weil es ja einmal für die Spalte / Zeile steht.
      Stehe echt etwas auf dem Schlauch...
      Ein kleiner Ansatz würde mir vielleicht auf die Sprüng helfen. :-)

      Kommentar


      • #4
        Du kannst die Arrays ja auch beliebig tief schachteln... [][][] mäßig
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          Okay das ist ein guter Ansatz.
          Wie würdest du dann bei der Erstellung der Table die id vergeben anhand von meinem code?
          Und wie wäre die Kommunikation zwischen dem Klick auf die Checkbox und dem Auslesen des Arrays der id's ?

          Kommentar

          Lädt...
          X