tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
479
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    schlimbim schlimbim ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    12
    Hallo;

    bevor ich dieses Thema angelegt, habe ich das Forum durchsucht und entweder bin ich zu dumm dazu oder ich versteh die Möglichkeit nicht, wie ich mein Vorhaben umsetzten kann.

    Mein Ziel ist es:

    aus der Datenbank werden alle Datensätze ausgegeben und am ende ist jedes Mal eine
    Checkbox.
    Die Funktion:
    Der Anwender kann eine beliebige (also theoretisch auch alle) Checkboxen markieren.
    Klickt dann auf senden, auf der nächsten Seite sollen alle angeklickten Checkboxen, einmal aus einer Tabelle gelöscht werden und zum anderen in eine andere gespeichert.

    Wozu braucht man so etwas?
    auf der ersten Seite werden dem Benutzer alle Hardwareteile aufgelistet.
    Nun sind aber möglicherweise einige Teile defekt.
    Durch das markieren (an klicken der Checkbox) der Teile werden diese aus der Tabelle gelöscht und in eine einer anderen gespeichert (damit der Benutzer in einer Art Historie sich ansehen kann welche Hardwareteile insgesamt kaputt gegangen sind.

    Mein Ansatz:
    PHP-Code:
    while($row=mysql_fetch_array($result)){

    echo 
    "<td>".$row['festplatten_id']."</td><td>".$row['eigenschaft']."</td> <td>".$row['lagerort']."</td><td><input type='checkbox' name='idc[]' value='".$row['name']."'></td> "
    alle Datensätze mit der Checkbox.

    auf der nächsten Seite:
    PHP-Code:
    $idc=$_POST['idc']; 
    damit habe ich angefangen und alles mögliche versucht um meinem Ziel näher zu kommen.
    langsam glaube ich, dass ich das nicht schaffe weil ich entwender zu dumm bin oder weil man das so gar nicht umsetzen kann, wie ich mir das vorgestellt habe.

    ich danke.
     

  2. #2
    akkie akkie ist offline Mitglied Gold
    Registriert seit
    Feb 2003
    Beiträge
    185
    Hi

    Jetzt kannst du das Array ganz normal mit einer foreach, for oder while Schleife durchlaufen.
    PHP-Code:
    foreach ($array as $key => $value) {
       echo 
    $key '<br>';
       echo 
    $value '<br>';


    Beim durchlaufen der Schleife kannst du dir einen SQL-Query zusammenbauen.

    Mit print_r() oder var_dump() kannst du dir den Inhalt von Arrays ausgeben lassen.

    Mfg Akkie
     

  3. #3
    schlimbim schlimbim ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    12
    Das problem ist:

    ich krieg den Namen schon rausgelesen, aber immer nur den letzten und nicht alle, die angeklickt wurden.
    vielleicht mache ich das ganze falsch?
    PHP-Code:
    foreach ($idc as $key => $value) {
        if (
    Bedingung) {
            echo 
    $value " \n";

        }
    }; 
    egal was ich für/in die Bedingung setzt, ich erhalte immer nur die letzte angeklickte Checkbox


    Und selbst wenn ich es schaffen würde, dass dort alle Namen stehen würden, so müsste ich immernoch irgendwie diesen Array durchsuchen.

    ich wäre sehr dankbar wenn jmd. mir helfen könnte

    Mit freundlichen Grüßen
    schlimbim
     

  4. #4
    akkie akkie ist offline Mitglied Gold
    Registriert seit
    Feb 2003
    Beiträge
    185
    Hi

    Klick doch mal Bitte 5 Checkboxen an und gib auf der nächsten Seite die Daten mit

    print_r($_POST['data]);

    aus. Danach Postest du hier mal bitte die Ausgabe.
    Ich versteh auch nicht wieso du eine Bedingung in die Schleife einbauen willst.

    Ich weiß nicht ob du weiß was überhaupt beim abschicken des Formulars passiert.
    In dem Array, ich nenne es mal data, befinden sich nur die Einträge die du auch angeklickt hast. Mehr nicht.

    Mfg Akkie
     

  5. #5
    schlimbim schlimbim ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    12
    oh man,

    ich weiß auch nicht was ich da wieder für einen Bock geschossen habe...

    nun klapt es ein bisschen.

    die Ausgabe:


    Array ( [0] => Maxtor Bla bla [1] => Samsung GigaMB [2] => Asus 100 [3] => Segeate )

    kann man diese Namen auch irgendwie in variablen speichern, damit ich dann
    die SQL Abfrage hinbekomme?
    $sql=SELECT FROM...usw.

    oder eher nicht?

    aber schon mal danke für deine Hilfe
     

  6. #6
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Kleines Beispiel gefällig?
    PHP-Code:
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
         <input type="checkbox" name="idc[]" value="Maxtor Bla bla"> Maxtor Bla bla<br>
         <input type="checkbox" name="idc[]" value="Samsung GigaMB"> Samsung GigaMB<br>
         <input type="checkbox" name="idc[]" value="Asus 100"> Asus 100<br>
         <input type="checkbox" name="idc[]" value="Segeate"> Segeate<br>
         <input type="submit" name="send" value="Abschicken">
    </form>
     
    <?php
    if(isset($_POST['send']) AND !empty($_POST['idc'])) {
         
    $i 0;
         while(
    $i <= count($_POST['idc'])) {
             echo 
    $_POST['idc'][$i]."<br>";
             
    $i++;
         }
    }
    ?>
    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  7. #7
    schlimbim schlimbim ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    12
    danke dr Dau

    hat noch ein paar Macken, aber ich kriegs schon hin denk ich jedenfalls.

    Aber ich hab fest gestellt, dass ich noch ein anderes Problem habe, bei dem ich nicht weiter komme.
    War mir aber nicht sicher, ob ich dafür ein neues Thema erstellen soll. (habe es aber nicht gemacht)

    - Das Problem:
    Diese Liste, wo der Benutzer die Bauteile markieren kann, ist nicht definiert.
    das bedeuten:
    eine Seite vorher bekommt der Benutzer eine Liste mit Tabellen, wo er sich eine aussuchen kann, in der er Bauteile als defekt markieren kann, die dann wiederum in der Log Tabelle gespeichert werden.

    Als Beispiel:
    PHP-Code:
    <select name="unterkategorie" size="1"
    // wählt eine Tabelle aus der Liste aus, die er bearbeiten möchte.

    Auf der zweiten Seite:
    PHP-Code:
    $unterkategorie=$_POST['unterkategorie']

    $query "SELECT * FROM $unterkategorie ";
        
    $result mysql_query($query);


    $anz mysql_num_fields($result);
    echo    
    $anz;

    echo 
    "<table border='1'><tr>";

    for(
    $x 0$x $anz$x++){
    $name mysql_field_name($result,$x);

    echo    
    "<td>$name </td>";


    HTML-Code:
    <table border='1'><tr><td>festplatten_id </td><td>eigenschaft </td><td>lagerort </td><td>einheit </td><td>wert </td><td>name </td><td>status </td><td>anschluss </td><td>datum </td>
    
     <br><br>
    es klappt ja schon, dass er die Spalten Namen, der Tabelle ausgibt.
    Aber ich kriegs einfach nicht hin, die restlichen Datensätze aus der Datenbank zu lesen.
    hab schon mit der while / for Schleife probiert.
    kommt aber nichts gescheites raus

    Ich hoffe, dass mir jmd. helfen kann
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 21.05.10, 09:53
  2. Antworten: 3
    Letzter Beitrag: 18.11.08, 12:04
  3. mit checkboxen Datensätze löschen
    Von stonk im Forum PHP
    Antworten: 13
    Letzter Beitrag: 13.07.05, 14:45
  4. checkboxen: wert in der db speichern
    Von stdaRth im Forum PHP
    Antworten: 1
    Letzter Beitrag: 02.05.04, 16:47
  5. Datensätze mittels Checkboxen löschen
    Von butrov im Forum PHP
    Antworten: 2
    Letzter Beitrag: 02.10.03, 17:37