Doppelte Datensätze ausgeben

Spranta

Erfahrenes Mitglied
Hallo

ich bin noch ein totaler neuling in sachen PHP und daher hier schon meine erste Frage.

Ich habe eine kleine Datenbank wo ich nun gerne doppelte Einträge die zwei Werte gleich haben ausgegeben werden sollen wie stelle ich dies an? Meine Datenbank sieht wie folgt aus

SQL:
CREATE TABLE `datem` (
  `id` int(10) NOT NULL auto_increment,
  `ip` varchar(20) NOT NULL default,
  `text` varchar(255) NOT NULL default,
  `zeit`  int(20) NOT NULL default,
  PRIMARY KEY  (`id`)
)

id ist ja klar was dort reinkommt bei IP wird die akutelle IP vom User eingetragen. Bei Text eben sein Text und bei zeit wird mittels time() die aktuelle Uhrzeit reingeschrieben. Ich möchte nun gerne das mir alle Datensätze die die gleiche IP haben und im zeitraum von jetzt bis vor einer stunde eingetragen wurde mir ausgeben werden.

Ich habe schon viele Sachen bei google gefunden aber leider konnte ich keins wirklich umsetzen. Ich hoffe mir kann hier einer helfen. Vielen Dank schonmal

Gruß
Spranta
 
Zuletzt bearbeitet von einem Moderator:
Hallo

den Beitrag habe ich natürlich auch schon gefunden nur werde ich daraus nicht schlau und da er ja leider geschlossen ist konnte ich auch nicht drauf antworten. Würdest du vieleicht so nett sein und mir den Code mal erklären und vieleicht auf meine bedürfnisse anpassen. Würde mich sehr darüber freuen.

Gruß
Spranta
 
Die Abfrage ist doch schon fast vollständig und muss nur noch etwas angepasst werde:
Code:
SELECT DISTINCT
        `ip`,
        COUNT(`spalte`) AS `anzahl`
  FROM
        `datem`
  WHERE
        `zeit` >= UNIX_TIMESTAMP() - 3600
  GROUP BY
        `ip`
  HAVING
        COUNT(`ip`) > 1
 
Hallo
Danke nur leider bekomme ich wen ich
SQL:
$result2 = mysql_query("SELECT DISTINCT `ip`, COUNT(`spalte`) AS `anzahl` FROM `datem` WHERE `zeit` >= UNIX_TIMESTAMP() - 3600 GROUP BY `ip` HAVING COUNT(`ip`) > 1")
while($row2 = mysql_fetch_array($result2))
{
echo $row2['id'];
}
nutze kommt folgender fehler

Code:
Parse error: syntax error, unexpected T_WHILE in E:\********\check.php on line 5
 
Zuletzt bearbeitet von einem Moderator:
Du solltest den Query auch schließen!

PHP:
<?
      $result2 = mysql_query("SELECT DISTINCT `ip`, COUNT(`spalte`) AS `anzahl` FROM `datem` WHERE `zeit` >= UNIX_TIMESTAMP() - 3600 GROUP BY `ip` HAVING COUNT(`ip`) > 1");
      while($row2 = mysql_fetch_array($result2))
      {
      echo $row2['id'];
      } 
?>

So müsste es gehen!

Mfg DiZZa
 
Zurück