[PHP] Spalte mit Checkboxen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von SoulOfRussia, 7. Juni 2009 .

Schlagworte:
  1. 7. Juni 2009
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    Spalte mit Checkboxen

    Hi,
    nach langer Zeit hab ich wiedermal ein Problem mit PHP ^^
    und zwar:
    ich möchte SOWAS WIE ein Onlineshop erstellen.
    nun das habe ich auch getan, aber der Kunde kann noch die Artikel nicht auswählen...
    das will ich mit Checkboxen lösen, dazu brauche ich eine neue Spalte, die angelegt werden muss, und in der auch der PHP Code für die Checkboxen auftauchen sollte....

    Ich arbeite mit MySQL, PHP und PHPmyAdmin...

    im moment sieht es so aus:
    2l9mr5z.jpg
    {img-src: //i40.tinypic.com/2l9mr5z.jpg}


    Dass es soviele Checkboxen gibt wie Spalten hab ich schonmal hingekriegt...

    so sollte es aussehen:

    219clty.jpg
    {img-src: //i44.tinypic.com/219clty.jpg}


    hier der PHP Quellcode zu der Datei: artikel.php

    PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
    <style type="text/css">
     <!--
       margin: 1em;
    table {
       border-collapse: collapse;
       }
    th {
       border: 1px solid #000;
        background-color: #cccccc;
       }
    td {
       border: 1px solid #000;
       }
     //-->

    </style>
    <title>Auftragsabwicklung</title>
    </head>

    <body>
    <form method="POST" action="<?php  echo  $PHP_SELF ?>">
    <select name="suche1">
    <option>Was suchen Sie?</option>
    <option name="Bildschirm">Bildschirm</option>
    <option name="Festplatte">Festplatte</option>
    <option name="Drucker">Drucker</option>
    <option name="Druckerpatrone">Druckerpatrone</option>
    <option name="Grafikarten">Grafikkarten</option>
    <option name="Laufwerke">Laufwerke</option>
    <option name="Mouse">Mouse</option>
    <option name="Notebook">Notebook</option>
    <option name="Kamera">Kamera</option>
    <option name="WLAN">Access Points</option>
    </select><br><br>

    <select name="suche2">
    <option>Hersteller</option>
    <option name="Aopen">Aopen</option>
    <option name="Asus">Asus</option>
    <option name="Belinea">Belinea</option>
    <option name="Benq">Benq</option>
    <option name="Canon">Canon</option>
    <option name="D-link">D-link</option>
    <option name="Epson">Epson</option>
    <option name="Fuji">Fuji</option>
    <option name="Gainward">Gainward</option>
    <option name="Gigabyte">Gigabyte</option>
    <option name="HP">HP</option>
    <option name="Logitech">Logitech</option>
    <option name="Netgear">Netgear</option>
    <option name="Nikon">Nikon</option>
    <option name="Plextor">Plextor</option>
    <option name="Razer">Razer</option>
    <option name="Samsung">Samsung</option>
    <option name="Toshiba">Toshiba</option>
    <option name="Western Digital">Western Digital</option>
    </select><br><br>

    <input type="submit" name="submit" value="Suchen">
    <br /><br /><br /><br><br>
    </form>

    <?php
    $suche1 
    $_POST [ suche1 ];
    $suche2  $_POST [ suche2 ];
    $verb = mysql_connect ( localhost , root , hallonoob );
    if (
    $verb == FALSE )
    {
        echo 
    "<p>Keine Verbindung zur Datenbank</p>\n" ;
        exit();
    }
    {
    mysql_select_db ( "test" );

    $erg  mysql_query ( "SELECT * FROM artikel WHERE Tags= ' $suche1 ' or Hersteller= ' $suche2 '" );
    $zeilen_zahl = mysql_num_rows ( $erg );
    $spalten_zahl = mysql_num_fields ( $erg );
    $meta  mysql_field_table ( $erg , 0 );

    printf ( "Tabelle:%s <br />" , $meta );
    printf ( "Es sind %d Datens&auml;tze vorhanden <br />" , $zeilen_zahl );
    echo 
    "<table>" ;
    echo 
    "<tr>\n" ;
    for (
    $spalte = 0 ; $spalte < $spalten_zahl ; $spalte ++)

        
    printf ( "<th>%s</th>" , mysql_field_name ( $erg , $spalte ));

    }
    echo 
    "</tr>" ;
    for (
    $zeile = 0 ; $zeile < $zeilen_zahl ; $zeile ++)
    {
        echo 
    "<tr>" ;
        for (
    $spalte = 0 ; $spalte < $spalten_zahl ; $spalte ++)
        {
            
    printf ( "<td>%s</td>" , mysql_result ( $erg , $zeile $spalte ));
        
    #echo "<tr>";
        #echo "<input type=Checkbox name='$spalte'></input>";
        #echo "</tr>";
        
    }
        echo 
    "</tr>" ;
    }

    echo 
    "</table>" ;


    ?>
    </body>
    </html>

     
  2. 7. Juni 2009
    AW: Spalte mit Checkboxen

    du übergibst für jede checkbox als value einfach die artikel-nr... oder hab ich das problem falsch verstanden?
     
  3. 7. Juni 2009
    AW: Spalte mit Checkboxen

    guckmal wie es aussieht bei der darstellung ....
    das sollte nicht so aussehen wie es jezt ist ^^
     
  4. 7. Juni 2009
    AW: Spalte mit Checkboxen

    Was big-show sagte ist doch total richtig?

    Als kleines Beispiel:
    Code:
    <table>
     <th>ArtNr</th>
     <th>Hersteller</th>
     <th>Bezeichnung</th>
     <th>Preis</th>
     <th>Tags</th>
     <th>Ausw&auml;hlen</th>
     <tr>
     <td>5000</td>
     <td>Intel</td>
     <td>e6400</td>
     <td>5000€</td>
     <td>CPU</td>
     <td><input type=checkbox name=chosen_arts[] value=5000 /></td>
     </tr>
     <tr>
     <td>5001</td>
     <td>Intel</td>
     <td>e6440</td>
     <td>5000€</td>
     <td>CPU</td>
     <td><input type=checkbox name=chosen_arts[] value=5001 /></td>
     </tr>
     <tr>
     <td>5002</td>
     <td>Intel</td>
     <td>e6500</td>
     <td>5000€</td>
     <td>CPU</td>
     <td><input type=checkbox name=chosen_arts[] value=5002 /></td>
     </tr>
    </table>
    Abgesehen davon ist table eh gestorben.
     
  5. 8. Juni 2009
    AW: Spalte mit Checkboxen

    Bei Layouts vielleicht, aber wieso sollte man für Tabellen keine Tabellen mehr benutzen oO ?
     
  6. 8. Juni 2009
    AW: Spalte mit Checkboxen

    table, zu Deutsch Tabelle, ist für Tabellen vorgesehen.
    In seinem Fall völlig in Ordnung, da er kein Design mit einer Tabelle aufbaut, sondern eine Auflistung als Tabelle darstellt.

    Und wenn schon, dann beklag dich darüber, dass er nicht objektorientiert programmiert Das find ich viel schlimmer! Aber selbst darum gehts hier nicht.

    So wie ich es verstanden hab, hast du ein Problem, deine checkboxen in deine Tabelle zu bekommen? Wenn das der Fall ist, dann schau dir noch mal den Aufbau von table an und bau sie danach dynamisch auf.
     
  7. 8. Juni 2009
    AW: Spalte mit Checkboxen

    Die Makierten Checkboxen bekommst du jetzt als Array in $_POST['check']. Ich denke das könnte dir helfen, allerdings sehe ich da eine Menge Angriffspotentioal z.b.:

    Bietet angriff für XSS Angriffe. Siehe Wikipedia falls du nicht weißt was XSS ist.

    Gefahr durch SQL Injektion. Siehe Wikipedia falls du nicht weißt was das ist.

    Und warum springst du zwischen "printf" und "echo" ?
    Evt. solltest du noch einmal ein Tutorial durchlesen, ich kann dir das Empfehlen.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.