kostenloser Webspace werbefrei: lima-city


PHP SQL. Bei abfrage doppelte einträge entfernen.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    Ich habe eine Datenbankabfrage und will nur bei meiner abfrage doppelte einträge entfernen. (nicht aus der DB löschen.)
    Wie kann ich das machen?
    LG
    Christian1603
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du wirst vermutlich eine Subquery benötigen. Poste doch mal deine Query.
  4. Naja, Generell über das PHPMyAdmin-Panel geht das absolut gar nicht. Meines Wissens nach (bin seit 1 Jahr aktiver PHP+MySQL Scripter). Aber wenn du das über ein geheimes Script bei deiner HP machen willst, geht das extrem leicht.
    Du brauchst nur 1 Spalte (zB: `type`), inder steht, ob die Information ausgegeben werden soll oder nicht. Am besten machst du das ganzz kurz, dann dauerts auch nicht wesentlich länger beim Laden der Seite. Das könnte so aussehen:
    Spalte1|Spalte2|type
    blahh|blahh|1
    in dem fall brauchst du wirklich nur 1 und 0. Bei 1 wird die Info beispielsweise gezeigt, bei 0 nicht. Das kannst du mit if() {}else{} ganz einfach abfragen.
    Zu dem eigentlichen problem. Du willst ja nach etwas suchen, also mach dir ein PHP Script welches mit deiner DB kommunizuiert. So in etwa:
    $sql = 'SELECT * FROM db_xxxxxx_1.table WHERE `info` = "'.$_POST['formularfeld'].'" ORDER BY `id` DESC LIMIT 1';
    $result = $db->query($sql);
     if($result->num_rows > 1) {
      while($row = $result->fetch_assoc()) {
      $sql2 = 'ALTER TABLE db_xxxxxx_1.table SET `type` = "0" WHERE `id` = "'.$row['id'].'"';
      $result2 = $db->query($sql2);
      }
     }else{
      echo 'Nur 1 Eintrag, es wurde nichts gelöscht';
     }
    oder so ähnlich :angel:
    Hierbei wird von der Spalte der zuletzt eingetragene Wert abgefragt. Wenn du den ältesten Eintrag abfragen willst, dann gib nach "ODER BY `id`" einfach ASC statt DESC ein. Anschließend wird noch der neueste EIntrag auf type = 0 gesetzt.
  5. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Vielleicht habe ich mich doof ausgedrückt? KP mein Freund hat mir das gegeben SELECT distinct.... das funktioniert.

    ABER DANKE AN ALLE!
  6. SELECT DISTINCT sucht dir nur gleiche Einträge heraus. Es setzt dir nicht irgendetwas um oder löscht gar etwas. Das ist nur zum Anzeigen.
  7. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    limabone schrieb: SELECT DISTINCT sucht dir nur gleiche Einträge heraus. Es setzt dir nicht irgendetwas um oder löscht gar etwas. Das ist nur zum Anzeigen.

    Ja sorry, das wollte ich. Hab mich ein bisschen doof ausgedrückt SRY
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!