Ankündigung

Einklappen
Keine Ankündigung bisher.

Verständnis Problem

Einklappen

Neue Werbung 2019

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

  • Verständnis Problem

    Hallo Leute,
    Ich habe mal wieder eine frage

    ich habe eine tabelle die dynamisch generiert wird anhandder einträge in der datenbank.

    die tabelle ist in 2 zeilen eingeteilt und mit maximal 8 spalten.
    in der ersten zeile steht eine court ID die automatisch eigesetzt wird in der zweiten zeile sind mehrere buttons die etwas machen sollen.
    und ein textfeld in der die kundennummer auftaucht die auch aus der db ausgelesen wird.
    nun folgendes wenn ich mit einem buton ein update in die db setzen möchte will ich das anhand der kundenid überprüfen doch der nimmt für den link immer die zuletzt ausgelesene ID

    also belegungsplan.php?date=20051011&kunde=3
    so wäre mein beispiel aber ich habe kunde 1 und 3 also möchte ich bei den buttons in der ersten spalte die dann zb COurt 1 ist und vom kunden 1 belegt auch die kundennummer 1 übergeben wird und nicht die zuletzt ausgelesene.

    hier mal mein code
    PHP-Code:
    <?php

    while($row2 mysql_fetch_row($result2)) 
        { 
            echo
    '
                     <td width="0" height="-1"><div align="left">
                    <p align="center" class="Stil2"><span class="Stil3"><span class="Stil5"><span class="Stil3"><span class="Stil3">
                    </span></span></span></span><span class="Stil3"><span class="Stil5"><span class="Stil3"><span class="Stil3">
                    <input name="kunde" type="text" class="'
    .$row2[5].'" value="'.$row2[3].'">
                       

                    <input name="pay" type="submit" class="pay" value="€"> 
                    '
    ;
                      if(isset(
    $_POST[pay]))
                    {   
    $update "UPDATE belegung SET zahl_status = 'bezahlt' WHERE plan_id = ".$date." AND kunden_id = ".$_POST[kunde]." ";
                        
    $do_up_bez mysql_query($_POST[update]);         
                    }
                    echo
    '
                    | <input name="useradd" type="submit" class="useradd" value="">| 
                    [img]img/b_drop.png[/img] |  [img]img/b_save.png[/img]

                    </span></span></span></span></p>
                  </div>
                  </td>
                        
                '
    ;
            }

    ?>
    ich hoffe mir kann kemand helfen wäre echt wichtig

  • #2
    <input name="kunde" type="text" class="'.$row2[5].'" value="'.$row2[3].'" />
    Wenn Du das in einer Schleife hast, die x mal durchlaufen wird, kommen im HTML Formular x Eingabefelder mit dem selben Namen zustande. Bei der Auswertung durch php überschreiben die sich nacheinander und nur der letzte bleibt übrig. Also ungefähr wie
    PHP-Code:
    <?php
    $kunde 
    1$kunde 2$kunde 3$kunde 4;
    echo 
    $kunde;
    ?>
    Was Du da genau machen willst/jmusst, weiss ich nicht, da ich die Aufgabenstellung nicht kenne/verstehe.

    Hat das
    <span class="Stil3"><span class="Stil5"><span class="Stil3"><span class="Stil3">
    </span></span></span></span>
    eigentlich irgendeinen Sinn?
    Mal abgesehen davon, dass die spans leer sind, kann man auch mehr als nur eine Klasse angeben
    Code:
    <html>
    	<head>
    		<style type="text/css">
    			.classA { color:red; }
    			.classB { text-decoration:underline; }
    		</style>
    	</head>
    	<body>
    		<span class="classA classB">abc</span>
    	</body>
    <html>

    Kommentar


    • #3
      danke erstmal für die schnelle antwort

      also hast recht die spans sind überflüssig hatte sie noch nicht wieder rausgenommen arbeite auch mit Klassen.

      Also werde ich mal kurz meine Aufgabe schildern.

      Ich plane einen belegungsplan für 8 Badminton plätze.
      der ungefähr so ausieht
      |-------------------------------------------------------------------------------
      | Court 1 | Court 2 | Court 3 | usw |
      |-------------------------------------------------------------------------------
      | kundenid | kundenid | kundenid | usw |
      |-------------------------------------------------------------------------------
      | € - A - D - S | € - A - D - S | € - A - D - S | usw |


      so das man mal ein bild davon hat
      Court ist ein fester wert es wird NUR die Zahl aus der DB ausgelesen
      kundenid ist ein texteld mit dem value wert der Kundenid
      die buchstaben und symbole verstehen sich als buttons
      € = pay | A = add | D = del | S = save
      das ganze befindet sich in einem form
      und nun soll auf den buttons etwas geschen zb ich drücke auf den €-Button
      so soll der court den Status bezahlt erhalten indem die farbe des textfeldes
      von rot auf grün wechselt das klappt auch aber nur mit der Statischen kundenid
      dafür muss eben im Update befehl der ja im prinzip für jeden court existiert die dazugehörige kundennummer auftauchen.

      FÜr weitere fragen steh ich gerne zu verfügung habe auch noch ein zwei andere knifflige sachen wo ich verzewifel!

      Kommentar


      • #4
        Wenn Du auf die Tabelle verzichtest und das Layout z.B über divs erstellst (dabei hilft dann vermutlich http://de.selfhtml.org/css/eigenscha...rung.htm#float ), kannst für jeden Court ein komplett eigenständiges Formular bauen, so dass auch immer nur die Werte des betroffenen Courts abgeschickt werden.
        So wie <table> aufgebaut ist, wird das wohl nicht funktionieren.
        da musst Du dann die Namen/Werte so anpassen, dass sie immer eindeutig sind. Also zB <input type="submit" name="kunde[Court1][pay]" value="&euro" /> <-> <input type="submit" name="kunde[Court2][pay]" value="&euro" />

        Kommentar


        • #5
          die input haben ja nicht viel mit tab zu tun es kliegt ja dann eher an der namensgebung der inputs aber wenn ich das in meiner schleife habe
          wie kann ich denn dann bitte dem feld nen eindeutigen namen zuweisen

          habe es schon probiert mit ner var!
          zb
          PHP-Code:
          <?php
          $z
          =1;
          $court="court".$z;
          while(
          $row2=mysql_fetch_row($result2))
          {
           echo
          '<input type="text" name="'$court.$z'" value="'.$row2[kunden_id].'">';
          $z++;
          }
          ?>
          dann hätte ja jedes input feld nen eindeutigen namen seh ich das richtig?
          ich denke schon nur wenn ich dann auf den submit button klicke
          welchen wert gebe ich dann als übergabe an?
          PHP-Code:
          <?php
            
          echo'<input type="submit" name="court'.$z.'" value="&euro" />';
          ?>
          dann wäre ja im prinzip echo '$_POST[court.z]' aber auch nur wieder der letzte kunde aaggrr ich verzweifel

          Kommentar


          • #6
            jetzt habe ich im seitenquelltext wenigstens schon einmal für jeden inputtype eine eigene erweiterung um 1 beim namen!
            wie ich da weiter geh anregungen bitte posten
            PHP-Code:
            <?php
            $z
            ="1";
                while(
            $row2 mysql_fetch_row($result2)) 
                { 
                
            $kunde="kunde".$z;
                
            $pay="pay".$z;
                
            $useradd="useradd".$z;
                
            $drop="drop".$z;
                
            $save="save".$z;
                 
            $z++;
                    echo
            '
                             <td width="0" height="-1"><div align="left">
                            <p align="center">
                            <input name="'
            .$kunde.'" type="text" class="'.$row2[5].'" value="'.$row2[3].'">
                              

                            <input name="'
            .$pay.'" type="submit" class="pay" value="€"> 
                            | <input name="'
            .useradd.'" type="submit" class="useradd" value="">
                            | <input name="'
            .drop.'" type="submit" class="drop" value="">
                            | <input name="'
            .save.'" type="submit" class="save" value="">
                            </p>
                          </div>
                          </td>
                        '
            ;
                        
                    }
            ?>

            Kommentar


            • #7
              Ah, alle informationen zu einem Court liegen in einem Tabellenfeld. Das habe vorher nicht gesehen - nicht drauf geachtet.
              In der Form kannst Du in jedem Feld der Tabelle (also für jeden Court) ein eigenes, unabhängiges Formular erstellen.
              also
              Code:
              <td>
              	<form method=...>
              		...
              		<input type="submit" ...
              	</form>
              </td>

              Kommentar

              Lädt...
              X