Newbie bracuht Hilfe bei PHP Formularen

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

  • Newbie bracuht Hilfe bei PHP Formularen

    Hallo, bin PHP Newbie und muss unbedingt ein HTML Formular entwerfen und dazu benötige ich Eure Hilfe.

    Was ich will:
    Ich will eine HTML Seite mit einem einfachen Textfeld in der der User eine Zahl eingeben kann (ticket_id).
    In der Tabelle requestor gibt es das Feld ticket_id wonach gesucht wird. Es werden dann ein oder meherer Datensätze aufgelistet die die Felder ticket_id und address_id enthalten.
    In der Tabelle address sind das Feld address_id Primärschlüssel und dem sind jeweils E-Mail Adressen zugeordnet.

    Nach Eingahe der Ticket ID sollen die E-Mail Adressen (address_adress) erscheinen, nicht die address_id Einträge aus der reuqester Tabelle.


    Vor jedem der aufgelisteten E-Mail Einträge soll dann eine checkbox erscheinen. Wenn der User diese auswählt und bestätigt, soll die entsprechende address_id zu diesem E-Mail Eintrag im Feld thread_address_id der Tabelle thread zur eingegebenen Ticket ID gespeichert werden.

    Kapiert?

    Tabellen:
    requestor
    Felder:
    ticket_and_address UNIQUE
    ticket_id
    address_id

    address
    Felder:
    address_id int(10)
    address_address char(128)
    address_banned tinyint(4)
    public_user_id bigint(20)
    confirmation_code char(19)

    thread
    Felder:
    ticket_id int(11)
    thread_id int(10) UNSIGNED AI
    ...
    thread_address_id int(11)

  • #2
    Und?

    Kommentar


    • #3
      Ich hänge schon bei der Query um die E-Mail Adressen anzeigen zu lassen. Setzte als Beispiel für die ticket_id 2290 ein und verwende folgende SQL Syntax in PHPmyAdmin:
      PHP-Code:
      SELECT FROM address AS Arequestor AS B WHERE A.address_id=B.address_id AND B.ticket_id='2290' 
      glaub hängt irgendwo an dem Teil hinter AND...

      Kommentar


      • #4
        Hopla...doch, geht!

        Also meine E-Mail Adressen kann ich jetzt schon mal ausgeben lassen mit:
        PHP-Code:
        SELECT FROM address AS Arequestor AS B A.address_id=B.address_id AND B.ticket_id='2290' 
        Anstelle der '2290' müsste ich jetzt irgendwie den Wert der Variablen setzen, den mein Benutzer im Formularfeld eingibt.

        Die Frage,ob ich nun eine separate PHP Datei anlegen soll oder ob ich Alles in einer HTML Datei unterbringen kann ist übrigens noch offen...

        Kommentar


        • #5
          zahlen gehören nicht in ' '

          glaub hängt irgendwo an dem Teil hinter AND...
          wenn du dein problem nicht genauer beschreiben kannst ...

          fehlermeldungen? zuviel ergebnisse? zu wenig?

          Anstelle der '2290' müsste ich jetzt irgendwie den Wert der Variablen setzen, den mein Benutzer im Formularfeld eingibt.
          ja, dann tu das. schau mal im $_POST, was dort steht ... => print_r

          Die Frage,ob ich nun eine separate PHP Datei anlegen soll oder ob ich Alles in einer HTML Datei unterbringen kann ist übrigens noch offen...
          wann hast du die gestellt? generell kann alles in eine datei, nur nicht in eine html ...
          Zuletzt geändert von derHund; 10.01.2005, 22:54.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Sorry, Frage hatt ich vergessen...
            In den Action Teil des Formulars muss dann wohl
            PHP-Code:
            <? echo $PHP_SELF ?>
            lieg ich da richtig? Wird ja nicht an ein externes Script übergeben?

            Und noch eine Frage, hab eine SQL Query in der ich ein Feld ändern muss.
            Es gibt jedoch mehrere Einträge in der Tabelle mit der ticket_id 2290
            PHP-Code:
            Update thread SET `thread_address_id`=498 where ticket_id=2290 AND thread_id=minwert 
            jedoch ist jeder Eintrag mit einer thread_id versehen.
            Ich muss nun nur beim Eintrag mit dem geringsten thread_id Wert das Feld address_id abändern.
            Kannst Du mir dazu mit einer Syntax aushelfen?

            Kommentar


            • #7
              So, habe jetzt mal den ersten Teil der Aufgabe mit dem Auslesen und Anzeigen der Datensätze aus der address Tabelle.
              PHP-Code:
              <?php
                  error_reporting
              (E_ALL);

                  include 
              'inc/config.php';
                  
              // Konfigurationsdatei laden
                  
              @mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS) OR
                      die(
              "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
                  
              mysql_select_db($MYSQL_DATABASE) OR
                      die(
              "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
                      
              if(isset(
              $_POST['action'])) {

                      
              //  das formular wurde abgesandt
                      //  jetzt können die Daten verarbeitet werden
                      
              $sql 'SELECT * FROM address AS A, requestor AS B WHERE A.address_id=B.address_id AND B.ticket_id='.$_POST['ticket_id'].' LIMIT 0, 30;';
                      
              $result mysql_query($sql) OR die(mysql_error());
                      echo 
              "Gespeicherte Requester E-Mail Adressen des Tickets Nr.".$_POST['ticket_id'].":<br />\n";
                      while(
              $row mysql_fetch_assoc($result)) {
                      echo 
              $row['address_id']." &gt; ".$row['address_address']."<br />\n";
                      }
                  } 
                  else {

                      
              //  das Formular wurde noch nicht versendet

                      //  -> zeigen wir es also

              ?>

              <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">

              <input type="hidden" name="action" value="send">

              <input type="text" name="ticket_id">

              <input type="submit" value="absenden">

              </form>

              <?php

                  
              }

              ?>
              Die Einträge werden jetzt zeilenweise angezeigt.
              Nun möchte ich noch vor jedem Eintrag eine Checkbox setzten die nach der Auswahl einer Mail Adresse das Feld thread_address_id der Tabelle thread mit dem zum Mail Eintrag passenden address_id Wert 'updated'.
              Ich weis aber leider nicht genau, wie ich den Ceckbox Auswahlen den entrsprechenden address_id Wert zuweisen kann.

              Kann mir da noch jemand helfen?

              Kommentar

              Lädt...
              X