MySQL Wert aus anderer Spalte ausgeben

  • PHP

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von -Tim-.

    MySQL Wert aus anderer Spalte ausgeben

    Hallo,

    da ich nicht weiß, wie ich mich in der Google Suche ausdrücken soll deswegen stelle ich jetzt hier meine Frage. :)

    Ich habe eine MySQL Tabelle erstellt. Diese hat 2 Spalten und sieht ungefähr so aus:

    Spalte 1 | Spalte 2
    -------------------------
    Wert 1 | Wert 2
    Wert 3 | Wert 4
    Wert 5 | usw...

    Mit PHP möchte ich nun, wenn ich z. B. den Wert 3 abfrage, den Wert 4 ausgeben.
    Also immer die Werte die sich gegenüberstehen.

    Ich frage z. B. ob der Wert 3 in der Datenbank vorhanden ist.
    Ist dies der Fall, soll der dazugehörige Wert aus der Spalte 2 ausgegeben werden.

    Ich hoffe das ist einigermaßen verständlich :D

    Die Verbindung zur Datenbank steht schon und ich habe schon überprüft ob ein Wert in
    der Spalte 1 vorhanden ist.


    Gruß Tim
    Hi,

    wie ist denn dein Code bisher? Bitte nachtragen.

    Ansonsten sollte es doch mit dem Query klappen:

    SQL-Abfrage

    1. SELECT `spalte2` FROM `tabellenname` WHERE `spalte1` = 'Wert3'


    Das heißt du bekommst bei dem SQL-Befehl den Wert aus Spalte 2 zurück, aber nur wenn der Wert von Spalte 1 "Wert1" ist.
    Damit man dir zeigen kann, wie du in PHP dann auf die Werte im Array zugreifst, musst du jetzt noch den Code posten den du hast.

    Und irgendwie hab ich das Gefühl dass du das Konzept von Datenbanken an sich noch gar nicht verstanden hast. Du verwendest Wörter wie "die Werte die sich gegenüberstehen". Das nennt man "Datensatz". Ein Datensatz setzt sich zusammen aus den Werten aller Spalten die sich in einer Zeile befinden.


    Link :thumbup:
    Hello World
    Ok, vielen Dank schonmal. Bis jetzt sieht mein Code so aus:

    (Hier wird natürlich noch eine Verbindung zur DB hergestellt)

    Quellcode

    1. $ergebnis = mysql_query("SELECT * FROM suche WHERE begriff = '$suchbegriff'");
    2. if(mysql_num_rows($ergebnis) == 0)
    3. {
    4. echo "Es wurden keine Ergebnisse für $suchbegriff gefunden!";
    5. }
    6. else
    7. {
    8. $links = mysql_query("SELECT 'begriff', 'link' FROM 'suche' WHERE 'begriff' = '$suchbegriff'");
    9. }


    Meine Tabelle heißt "suche". Spalte 1 heißt "begriff" und Spalte 2 heißt "link".
    Wird nun der eingegebene Begriff in der Spalte gefunden soll der dazu passende Link ausgegeben werden.

    Gruß Tim

    P.S.: Ich befasse mich erst seit kurzem mit MySQL bzw. Datenbanken :)


    EDIT:

    Ich habe es anscheinend hinbekommen:

    Quellcode

    1. $links = mysql_query("SELECT link FROM suche WHERE begriff = '$suchbegriff'");
    2. $row = mysql_fetch_object($links);
    3. echo $row->link;


    So sieht meine Ausgabe aus und es funktioniert :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „-Tim-“ ()

    Hi,

    PHP-Quellcode

    1. <?php
    2. $query = "SELECT * FROM `suche` WHERE `begriff` = '" . $suchbegriff . "'";
    3. echo "<br>SQL-Befehl wird ausgef&uuml;hrt:<br><hr>" . @htmlentities($query, ENT_QUOTES) . "<hr><br>";
    4. $ergebnis = mysql_query($query);
    5. //Schauen ob Query überhaupt erfolgreich war
    6. if($ergebnis){
    7. if(mysql_num_rows($ergebnis) == 0){
    8. echo "Es wurden keine Ergebnisse für $suchbegriff gefunden!";
    9. }else{
    10. //In ner Schleife die Ergebnisse durchgehen.
    11. //Hier musst du den Query ja nicht nochmal ausführen, das
    12. //Ergebnis deiner Abfrage hast du ja der Variable $ergebnis zugewiesen
    13. while($row = @mysql_fetch_assoc($ergebnis)){
    14. echo $row['link'] . "<br>";
    15. }
    16. }
    17. }else{
    18. echo "<p>Es ist ein Fehler aufgetreten<br>" . mysql_error() . "</p>";
    19. }
    20. ?>


    So sollt's gehen. Probier mal bitte und gibt dann Rückmeldung.


    //EDIT:
    Ist eine der beiden Spalten oder beide zusammen auf UNIQUE gesetzt? Oder kann es sein, dass die Kombination von Wert in Spalte1 und Spalte2 mehrfach zulässig ist?



    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Link275“ ()