Tabelle + Senden

  • Themenstarter Themenstarter nicole gertner
  • Beginndatum Beginndatum
N

nicole gertner

Hallo,

ich habe ein groooooßßßes Problem, ich habe mir eine PHP zusammengebastelt, wo ich 3 Spalten habe die aus MySql mit daten gefült werden. Das habe ich soweit ganz gut hinbekommen denke ich.

Nun möchte ich aber eine 4 Spalten haben mit einer senden funktion, das heißt das ich irgendwie, aber ich weis nicht wie, nur dann eine bestimmte zeile senden die die ich dann ausgewählt habe.

Wie mache ich das bin fast am verzweifeln.

Kann mir jemand Helfen BITTE!

Liebe Grüsse
Nicole
ps. habe meine bisherige datei mal in den Anhang gehängt.
 

Anhänge

  • senden.jpg
    senden.jpg
    10,9 KB · Aufrufe: 64
Dazu brauchst du aber ein Formular, z.b. für jede Tabellenzeile und dort für jedes Feld ein Formular mit dem dazugehörigen Button, der das dann bei Klick an ein entsprechendes Script sendet. Problem wäre aber das man nur eine Zeile schicken kann.
Wenn das ganze mit mehren Zeilen funtkionieren soll, legst du um die Tabelle ein <form> und statt einem Sendebutton ein Checkboxfeld und am Ende der Tabelle deinen Sendebutton.
 
du musst mittels variabel übergabe dazu kommen, dass er erstmal die spalte, die du willst, auswählt.
das sollte so gehen. (bei mir gehts)

SELECT allespalten FROM datenbank WHERE name='$name'"

und die varibale $name übergibst du einfach mit hilfe des links.
<a href="blub.php?name=<?php echo $name; ?>">Senden</a>

dann kannst du damit ja machen, wass du willst.
allerdings solltest du das mit nr. machen. also pro datenbank eintrag eine nummer vergeben. wenn du das machst, mach das lieber mit nummern, ist sicherer (wegen doppelten namen)

p.s. bin auch neuling in sachen php, aber ich hoffe, es is richtig was ich sage :)
 
Zuletzt bearbeitet:
Wie wärs damit:
Für jede Tabellenzeile ein Formular. In jedem dieser Formulare hast du je ein unsichtbares Eingabefeld ( ... <input type="hidden" ... > ), das immer denselben Namen besitzt und als Wert die ID des Datenbankeintrages enthält.
Nach dem Abschicken eines Formulars, kannst du dann einfach überprüfen, welche Zeile gesendet wurde, indem du auf die Variable $_POST['name_des_hidden_field'] bzw. $_GET['name_des_hidden_field'] zugreifst.

könnte also ungefähr so aussehen:
PHP:
<table>
<!-- Tabellenzeile BEGINN -->
    <form name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <tr>
            <td><?php echo $datum; ?></td>
            <td><?php echo $name; ?></td>
            <td><?php echo $url; ?></td>
            <td><input type="hidden" name="ID" value="<?php echo $ID_aus_der_DB; ?>"><input type="submit" name="btn_submit"></td>
        </tr>
    </form>
<!-- Tabellenzeile ENDE -->
</table>
...alle Angaben ohne Gewähr und ungetestet!
 
naja es ist ja die Frage was mit den Daten gemacht werden soll.... schliesslich kommen sie aus der Datenbank und ob die ID gebraucht wird (sofern denn in dieser Form vorhanden) hängt ja von der Weiterverarbeitung ab.
Ansonsten siehe PN ;)
 
@Big Ben:
1. Die ID dient hierbei - unabhängig von der anschließenden Weiterverarbeitung der Daten - erstmal zur eindeutigen Erkennung, WELCHE "eine bestimmte Zeile" tatsächlich gesendet werden soll (man könnte anschließend z.B. die erforderlichen Daten per ID wieder aus der Datenbank auslesen).
Alternativ kann anstatt der ID auch der "Name", die "URI" etc. übergeben werden. Nur ist damit nicht zwingend eine einmalige Bestimmung verbunden.
2. Es gehört sicherlich zu jeder ordentlichen Tabelle einer Datenbank ein entsprechender Primärschlüssel, der Datensätze eindeutig kennzeichnet. Hierbei bietet sich in den meisten Fällen eine spezielle ID an, aber auch ein kombinierter Primärschlüssel aus zwei oder mehr Feldern könnte ausreichen.

Du siehst also, meine Antwort sollte lediglich ein Denkanstoß sein und zeigt dennoch _eine_ konkrete von vielen Möglichkeiten zur Lösung und Umsetzung des Sachverhaltes auf. ;)
 
@ludz: das ist mir schon klar, hatte das Problem nur wohl falsch / anders aufgefasst, daher, also nicht böse sein ;)
 
Zurück