MYSQL Daten vergelichen und löschen

Kufstein

B1G-Software-Kunde
Hallo,

hab da nochmal so ein kleines Problem ....

Ich habe eine MySQL Tabelle (hnummern) die hat zwei Spalten "ID " Nummer" und Bsp.weise folgende Inhalte

1 0177237628632
2 0188484939272
3 0162949823048
4 0177237628632
5 0188484939272
6 0162949823048

Jetzt würde ich gerne alle gleichen nummern rauslöschen, so dass jede Nummer nur einmal vorhanden ist.

Ich stehe aber grad mal wieder auf der Leitung und brauche ne kleine Denkanregug wie ich des machen könnte. (Mit PHP oder so)

Vielen Dank
 
Man könnte es mit If while schleifen machen, denn dann läuft er alle durch und sollte was doppelt sein, dann wirds gelöscht oder beim Eintrag mit if-schleife direkt überprüfen ob der Eintrag schon vorhanden ist.

Beispiel beim Eintrag:

HTML-Seite

<html>
<body>
<form action="bla.php" method="post">
<input type="text" name="hnummer">
<input type="submit">
</form>
</body>
</html>

PHP-Seite

<?
MYSQL öffnen

dann

if($db[hnummer]!=$hnummer) {
insert db
} else {}

Es wird überprüft ob die Nummer schon vorhanden ist und wenn ja dann passiert nichts.
 
Das raff ich nicht ganz.... aber ich hab mir auch was überlegt, aber bin mir nicht sicher obs funktioniert. Wills auch nicht ausprobieren weil ich Angst um meine Nummern habe:

PHP:
<HTML>
<HEAD>
 <TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?
$results = mysql_query("SELECT * FROM `handynummer` LIMIT 3000;");
$i = 0;
lnummer = 0;

while($row = mysql_fetch_object($results))
{
$nummv = mysql_query("SELECT * FROM `handynummer` WHERE nummer=" . $row->nummer . " LIMIT 1;");
$nummv2 = mysql_fetch_array($nummv);
$handyid = nummv2['ID'];
IF ($handyid != $row->ID) {
mysql_query("DELETE FROM `hadynummern` WHERE `ID` =" . $handyid . " LIMIT 1;");
$lnummer++;

                              }

$i++;
}

echo "<p>Gelöschte Nummern:" . $lnummer . "</p>;

?>
</BODY>
</HTML>

Kann mir jemand sagen, ob des funzen würde ???
 
mach halt erstmal nen backup von der tabelle und versuche es mit der, dann weißt du es sicher ;)
 
du hast ein Schreibfehler drinnen daher klappt das nicht:

mysql_query("DELETE FROM `hadynummern` WHERE `ID` =" . $handyid . " LIMIT 1;");
$lnummer++;

Korrektur:
mysql_query("DELETE FROM `handynummern` WHERE `ID` =" . $handyid . " LIMIT 1;");
$lnummer++;
 
Daran könnte es natürlich auch liegen, mit dem script sollte das theoretisch funktionieren...
 
du hast ein Schreibfehler drinnen daher klappt das nicht:

mysql_query("DELETE FROM `hadynummern` WHERE `ID` =" . $handyid . " LIMIT 1;");
$lnummer++;

Korrektur:
mysql_query("DELETE FROM `handynummern` WHERE `ID` =" . $handyid . " LIMIT 1;");
$lnummer++;

Alles falsch... ich hab sogar schon den Fehler in der Tabelle. Die heist tatsächlich hadynummern.. *peinlich* .... aber jetzt funz er einwandfrei .. dankööö
 
Back
Top