tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
287
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    citr1 citr1 ist offline Grünschnabel
    Registriert seit
    Jun 2008
    Beiträge
    1
    Hallo,

    ich bin gerade dabei eine Tag- Cloud inklusive Eingabeformular für neue Tags zu programmieren. Dafür benötige ich eine if- Abfrage die überprüfen soll, ob das Tag bereits vorhanden ist. Ist dies der Fall, soll in der Datenbank der Wert 'count' um 1 erhöht werden. Ansonsten wird das Tag einfach neu hinzugefügt.

    Jetzt habe ich ein Problem bei der Überprüfung, ob das eingegebene Tag bereits in der Tabelle existiert. Ich habe versucht mit der for- Schleife die ID durchzuzählen und dann jeden Wert einzeln abzugleichen. Leider funktioniert das nicht. Sieht einer nen Fehler oder - besser - gibt es eine elegantere Lösung mit der ich abchecken kann ob ein bestimmter Wert bereits vorhanden ist?

    <?


    $tag = $_POST["tag"];

    $abfrage = "SELECT tag FROM Unnamet";
    $abfragen = mysql_num_rows($abfrage); // Anzahl der Einträge soll abgefragt werden.
    $zahl = 0;

    for ($i = 0; $i < $abfragen; $i++) // Zählschleife zählt sich durch die Einträge
    {
    $check = "SELECT tag FROM Unnamet Where id='$i'";
    $checken = mysql_query($check);
    if($tag == $check) // Eingegebenes Tag wird mit Eintrag überprüft
    {
    $zahl = 1; // Bei Erfolg wird der Wert der Variablen $zahl von 0 auf 1 gesetzt
    }
    }

    if($zahl == 1)
    {
    $aendern = "UPDATE Unnamet SET count=count+1 Where tag='$tag'"; // Erhöhen von 'count'
    $update = mysql_query($aendern);
    }
    else
    {
    $eintrag = "INSERT INTO Unnamet (tag) VALUES ('$tag')"; // Neuer Eintrag
    $eintragen = mysql_query($eintrag);
    }

    ?>
    mfG

    citr1
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Ich versteh nicht so recht was die for-Schleife bei dir soll?

    Ich dachte du willst wissen ob ein bestimmter Tag schon enthalten ist.

    Dann mach doch ein
    SELECT count(tag) FROM Unnamet WHERE tag LIKE $tag

    Wenn du 0 zurückbekommst ist es noch nicht enthalten.

    Abgesehen davon dass das:
    if($tag == $check)
    eh nicht richtig aussieht. Damit vergleichst du im Moment den tag mit deiner SQL Abfrage und das liefert immer false.
     

Ähnliche Themen

  1. MySQL Abfrage mit bedingten NULL Werten
    Von raptot im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 23.11.09, 09:38
  2. Antworten: 21
    Letzter Beitrag: 19.06.09, 19:57
  3. Mysql-Abfrage mit Null-Werten
    Von Spechter im Forum Relationale Datenbanksysteme
    Antworten: 9
    Letzter Beitrag: 16.10.08, 14:23
  4. MySQL-Abfrage von Tabellen mit Ausschluss von Werten
    Von qsrs im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 29.05.07, 16:52
  5. Abfrage: eigenes Programm läuft bereits
    Von heirobebe im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 15.05.07, 18:38