php lösung für doppelte db einträge

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

  • php lösung für doppelte db einträge

    Hallo,

    ich möchte mit Hilfe eines php scripts die doppelten Einträge in meiner mysql Datenbank löschen.Bisher bin ich soweit, das er sich verbindet und halt die Tabellen makiert. Jetzt fehlt mir nur noch der passende Code dafür das er die 7 Felder überprüft und nach gleichen Felder mit dem selben inhalt sucht und löscht. Sodas am Ende der Eintrag nur 1mal vorkommt und halt nicht mehr doppelt.

    Hab mir das so vorgestellt

    überprüfe spalte1,spalte2,spalte3,spalte4,spalte5,spalte6,spalte7
    wenn mehrmals auftritt löschen sodas 1eintrag bleibt.
    Und wenn er fertig ist soll er ein bestätigungtext schreiben weil es sich um paar 1000 seiten handelt z.b. done. oder so.




    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

    $host "localhost";
    $dbname "user";
    $dbpass "passwort";
    $db ="dbname";
    $dbtable "tabellenname";


    $conn =  mysql_connect($host,$dbname,$dbpass); 
    if (!
    $conn

    die (
    "Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !"); 
    }
    mysql_select_db ($db,$conn) or die(mysql_error());


    $query "SELECT * FROM $dbtable";

  • #2
    wäre da ein
    PHP-Code:
    alter table ... add unique 
    nicht viel einfacher?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ja okay aber wird dadurch nicht alles gebremst ? wenn wieder was neues hinzugefügt werden soll ?

      Kommentar


      • #4
        du legst einmalig(!) fest, dass einträge nur einmal vorkommen dürfen. dann hast du auch später keine doppelungen mehr. das wolltest du doch, oder?

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          ja frage ist nur wie mache ich das

          Kommentar


          • #6
            um was für doppelte einträge handelt sich eigentlich? zeig mal ein paar beispiele

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              das ist das Problem ich weiß die einträge woher nicht möchte aber verhindern das sie doppelt vorkommen

              Kommentar


              • #8
                ich weiß die einträge woher nicht möchte aber verhindern das sie doppelt vorkommen

                kannst du das mal so formulieren, dass man es versteht?

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Es geht nicht zufällig um F5 drücken nach Formular Absendung?
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    also es gibt feld1,feld2....,feld7

                    feld1 hat ein Eintrag z.b. hallo1 irgendwo in der Tabelle gibt es nochmal ein Eintrag der hallo1 heißt, da es sich aber um viele Einträge handelt möchte ich nicht alles durchgehen und suchen.

                    Deshalb ein PHP script das alle Felder der Tabelle durchsucht nach doppelte Einträge des Feldes1 .....(feld2-7 ist egal)

                    sollte er einen oder mehrere Einträge gefunden haben die doppelt sind, soll er von diesen Einträgen feld2 überprüfen

                    feld2 besteht aus einer Nummer

                    Von den gefundenen Einträgen soll der Eintrag bleiben wo die Zahl des Feldes2 am niedrigsten ist.

                    z.b.

                    1. script durchsucht feld1 nach doppelten Einträgen
                    2. hallo1 ......3mal gefunden (doppelt)
                    3. überprüfe feld2 der 3 gefundenen Einträge
                    4. 5000,5004,4500
                    5. 4500 am nierigsten also bleibt
                    6. lösche Feld1-7 wo feld2 5000 und 5004 ist.

                    hoffe die erklärung ist besser

                    Kommentar

                    Lädt...
                    X