Rayvez: PHP&MySQL

Sers,also ich habe ein Formular bestehend aus 2 Eingabefeldern(+submit).

Ich möchte,dass der $wert1 in der datenbank gesucht wird.ist dieser vorhanden,soll geguckt werden,ob $wert2 dieselbse id wie $wert1 hat(also hund-dog).

bitte helfen

MfG rayvez

  1. Hello,

    Sers,also ich habe ein Formular bestehend aus 2 Eingabefeldern(+submit).

    Ich möchte,dass der $wert1 in der datenbank gesucht wird.ist dieser vorhanden,soll geguckt werden,ob $wert2 dieselbse id wie $wert1 hat(also hund-dog).

    Und woher kommt die ID für Wert 2?
    Soll danach auch in der Datenbank gesucht werden?

    Es sollen also zwei Werte in einer Datenbankspalte gesucht werden und dann deren Primärschlüssel verglichen werden? Nun steht natürlich zu vermuten, dass die Werte in den Spalten mehrmals vorkommen können, denn sonst wären sie ja selber Primärschlüssel.

    Formulieren wir also nochmal neu:

    Es sollen alle Treffer für Wert 1 in Spalte X.1 einer Tabelle X gesucht werden und es sollen alle Treffer für Wert 2 in Spalte X.1 einer Tabelle Y gesucht werden. Die Primärschlüssel dieser Einträge sollen auf Gleichheit verglöichen werden.

    Nun überlegen wir mal, ob das nicht die Datenbank ganz alleine kann:

    $wert1 = mysql_real_escape_string($wert1, $con);
      $wert2 = mysql_real_escape_string($wert2, $con);

    $sql = "Select a.id, b.id ".
             "from $tablename1 a, $tablename2 b".
             "where a.$spalte1 = $wert1 ".
             "  and b.$spalte2 = $wert2 ".
             "  and a.id = b.id";

    Wenn Du das nun auswertest, müsstest Du die IDs der Datensätze bekommen, für die es sowohl in der einen als auch in der anderen Tabelle Einträge gibt.

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. ähm...tut mir leid,ich habs jetzt nicht ganz verstanden,also mein formular sieht wie folgt aus:

      <table>
          <form action="#" method="post">
            <tr><td><label>Deutsch:</label></td>
                   <td><input type="text" name="deutsch" /></td></tr>

      <tr><td><label>Englisch:</label></td><td>
                       <input type="text" name="englisch" /></td></tr>

      <tr><td>&nbsp;</td></tr>
            <tr><td>&nbsp;</td><td><input type="submit" value="Überprüfen" />
         </form>
         </table>

      es soll in der datenbank Vokabeln überprüft werden,ob die eingegebenen werte bereits existieren(in der tabelle vorhanden) und dann ob der zugehörige englische begriff stimmt.

      verstanden?(hoffe ich doch^^ )

      MfG Rayvez

      1. Hello,

        Dein Formular ist in der Abteilung PHP oder Datenbank in diesem Zusammenhang vollkommen belanglos.
        Das kannst Du posten, wenn Du mit HTML Probleme hast. Wichtig ist nur, dass die richtigen Dialogelemente gewählt wurden und die Namen bekannt sind.

        es soll in der datenbank Vokabeln überprüft werden,ob die eingegebenen werte bereits existieren(in der tabelle vorhanden) und dann ob der zugehörige englische begriff stimmt.

        Hast Du überhaupt schon mal mit der Datenbnak gearbeitet?
        Weißt Du, wie man aus PHP heraus eine Verbindung dazu aufbaut?
        Weißt Du was ein Primärschlüssel, eine Spalte, ein Spaltentyp sind?

        Weißt Du, wie man ein SQL-Query fomruliert und wie man dann das Ergebnis mit PHP auswerten kann?

        verstanden?(hoffe ich doch^^ )

        Nein.

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. zu all deinen fragen: JA!

          ich weiß nur nicht wie ich das jetzt machen muss,damit es kontrolliert wird...

          1. Hello,

            ich weiß nur nicht wie ich das jetzt machen muss,damit es kontrolliert wird...

            Du müsstest aber schon ein bisschen mehr über Deine Datenbankstruktur erzählen.
            Welche Tabellen hast Du?
            Welche Namen tragen die?
            Was ist ihre Aufgabe?
            Welche Spalten haben sie?
            Welche Contraints liegen auf den Spalten? (Constraint ist englisch und bedeutet was?...)

            http://dict.tu-chemnitz.de/dings.cgi?lang=de&service=deen&opterrors=0&optpro=0&query=constraint&iservice=&dlink=self&comment=

            Und wenn Du nun schon mal bei Beolingus bist, dann wirst Du Dir vorstellen können, dass die das da nicht mit einer einzigen Tabelle abwickeln.

            Welche Relationen bestehen also zwischen Deinen Tabellen?

            Ein harzliches Glückauf

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. also: ich habe eine tabelle namens Vokabeln.

              die besteht aus 3 spalten:

              ID|Deutsch|Englisch

              Deutsch beinhaltet die deutschen begriffe/ausdrücke
              Englisch die übersetzungen

              Und die eingaben mittels formular sollen mit den (falls) vorhandenen werten in der datenbank abgeglichen werden.

              1. Hello,

                ID|Deutsch|Englisch

                Deutsch beinhaltet die deutschen begriffe/ausdrücke
                Englisch die übersetzungen

                Und die eingaben mittels formular sollen mit den (falls) vorhandenen werten in der datenbank abgeglichen werden.

                Was bedeutet "abgeglichen werden"?

                Willst Du nur wissen, ob es ein im Formular eingegebenes Pärchen $deutsch - $englisch gibt, oder willst Du es, falls es nicht existiert, eintragen, oder willst Du, falls einer der Begriffe vorhanden ist den anderen dazu suchen?

                Beschreibe die Aufgabe doch nochmal mit ganz normalen alltäglichen Worten.

                $sql = "Select * from Vokabeln where Deutsch = '$deutsch' and Englisch = '$englisch'";

                würde Dir dann bei Ausführung den (oder die) Datensätze liefern, bei denen die Paarung übereinstimmt. Die Werte von außen ($deutsch, $engisch) habe ich _vorher_ mit mysql_real_escape_string() behandelt.

                Ein harzliches Glückauf

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                http://bergpost.annerschbarrich.de
                1. also ich hab ein mini-formular:

                  eingabefeld für deutsch & eingabefeld für englisch

                  dort gibt man z.B. hund & dog ein

                  anschließend soll in meiner datenbank geguckt werden ob dieses "paar" exisitert(dann soll gesagt werden ob die übersetzung richtig ist)

                  also so:

                  feld: hund   feld:dog

                  Hund auf englisch heißt dog.Richtig!

                  feld: hund feld: hymmy

                  Hund auf englisch heißt nicht hymmy.Falsch!
                  Richtig wäre dog.

                  so vom prinzip soll es funktionieren