Nachschauen ob ein Eintrag schon vorhanden ist

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

  • Nachschauen ob ein Eintrag schon vorhanden ist

    Also, ich möchte was schreiben, das kontrolliert ob ein eintrag mit dem aktuellen Datum bereits existiert oder nicht.

    Hier im Forum hab ich auch einen Codeschnipsel gefunden.

    PHP-Code:
    <? $link=mysql_pconnect("host", "username", "passwort") or exit();
       mysql_select_db("datenbankname") or exit();
       $query1="SELECT wename FROM werkstatt
                              WHERE wename like '$wename'"; 
                    <!-- Überprüfung, ob die übergebene Bestellnummer schon existiert -->
           $result1 = mysql_query($query1);
       $num=mysql_NumRows($result1);
       if ($num)
       {                <!-- $num hat nur einen Wert, wenn die Abfrage erfolgreich war. -->
            echo 'Eintrag schon vorhanden!';
         } 
    ?>
    Nur was soll das? Da wird am Anfang eine Variable $link festgelegt und nacher garnichtmehr verwendet???

    Ich hab dann versucht darauf aufbauend etwas selbst zu schreiben nur irgendwie funktioniert das genausowenig.

    PHP-Code:
    <? 
    include('var.inc.php'); 
    $aktdat = date("Y-m-d");
    $conn =  mysql_connect($dbserver,$dbuser,$dbpass); 
    $query1= "SELECT datum FROM eintraege WHERE datum = $aktdat";
    mysql_select_db($dbname,$conn);  
    $result1 = mysql_query($query1);
       $num=mysql_NumRows($result1);
       if ($num)
       {
            echo 'Eintrag schon vorhanden!';

         }

    ?>
    Ich glaub ich hock schon zu lange vor dem rechner
    Kann mir mal wer von euch nen tritt geben und mir sagen was ich hier ändern muss oder wie ich es überhaupt besser anstellen kann so ein script zu verwirklichen?

  • #2
    wenn ein datum nur exakt einmal vorkommen darf, dann mache das feld UNIQUE. und wenn du nun einen INSERT machst, bekommst du eine meldung von der DB zurück.

    entweder ist alles ok, oder es ist eine keyverletzung. code 1062 müsste das sein.

    und was hat das bei php verloren? *VERSCHIEB* nach sql.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Also erstmal kannst Du das Datum auch von der DB erkennen lassen mit der Funktion NOW() oder CURRENT_DATE() etwa
      dann heisst Die Funktion nicht mysql_NumRows() sondern mysql_num_rows().
      Wenn mysql_num_rows == 1 ist dann ist Dein Wert schon vorhanden, Du kannst aber auch einen unique key über Dein Datumsfeld legen, dann wird jeder doppelte Eintrag abgewiesen...
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        mhh, danke für die hilfe, werd es ausprobieren. vorallem den "num_rows" Fehler korrigieren

        Das mit dem auto erkennen von der DB klappt net, da ich das im PHP brauche. wenn der eintrag existiert, soll der vorhandene editiert werden, wenn nicht, soll halt ein neuer angelegt werden.

        Kommentar


        • #5
          das mit dem INSERT/UPDATE ist kein problem.

          immer INSERT machen. und wenn die key-verletzung kommt, kannst du das abfangen und einen UPDATE hinterher schieben.

          es sei denn , dass du mysql4 hast. wo das auch gleichzeitig geht..
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            mhhh, ok, ich werds versuchen, nur wie unterbinde ich die fehlermeldung von sql? genauso wie bei php?

            Kommentar


            • #7
              du bekommst sql-fehlermeldungen nur dann, wenn du mysl_error aufrufst
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                mysql_query() ist doch keine sql-funktion. das ist ganz normal php
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  jupp, nochmal danke für eure hilfe. mein freund google hat mich jetzt auch über das abfangen von fehlermeldungen aufgeklärt

                  http://www.php.martin-jansen.de/date...n_extended.php

                  Kommentar

                  Lädt...
                  X