SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.06.2005, 09:30:25
Benutzerbild von Pixelschubser
Pixelschubser Pixelschubser ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 45
Datei in DB importieren ohne doppelte

Hallo,

habe folgendes Problem.
Habe in einer csv Datei diverse Nummern stehen. Alle untereinander.
Die importiere ich so in die DB:
PHP-Code:
$datei "nummern.csv";
$array file($datei);
for(
$x=0;$x<count($array);$x++){
    if (!empty(
$array[$x])){
        
$sql "INSERT INTO nummern (`id`, `datum`, `wie_eingetragen`, `nummer`) VALUES ('','$datum', '$wie_eingetragen', '$array[$x]')";
        
mysql_query($sql);
        echo 
$array[$x];
        echo 
"<br>";
    }else{
        echo 
"Keine Faxnummer vorhanden.<br>";
    }

Es sind aber schon Nummern in der DB vorhanden. Wie kann ich verhindern das die Nummern doppelt eingetragen werden?
__________________
Never change a running system!
Mit Zitat antworten
  #2  
Alt 03.06.2005, 09:43:06
Benutzerbild von dachris
dachris dachris ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 401
AW: Datei in DB importieren ohne doppelte

Du kannst im Nachhinein eine Dublettenprüfung machen
http://www.selfphp.de/forum/showthread.php?t=10649

oder aber due trägst jeden Datensatz einzeln ein und prüfst vorher ob er schon vorhanden ist...das ist aber sehr underperformant
Mit Zitat antworten
  #3  
Alt 03.06.2005, 09:44:37
Benutzerbild von Pixelschubser
Pixelschubser Pixelschubser ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 45
AW: Datei in DB importieren ohne doppelte

Zitat:
Zitat von dachris
oder aber due trägst jeden Datensatz einzeln ein und prüfst vorher ob er schon vorhanden ist...das ist aber sehr underperformant
Wie mache ich denn das? Wäre egal wenn es nicht so performant wäre. läuft nur lokal auf meinem rechner nicht online.
__________________
Never change a running system!
Mit Zitat antworten
  #4  
Alt 03.06.2005, 09:44:55
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
AW: Datei in DB importieren ohne doppelte

Du könntest
a) vor jedem INSERT prüfen, ob's den Wert schon gibt
b) die Tabelle vorher TRUNCATEn
c) das Feld nummer auf PRIMARY KEY stellen, aber dann ist ID natürlich futsch
d) oder das: ALTER TABLE tabelle ADD UNIQUE ( nummer )

Und vor allem solltest Du an trim() denken:
--> http://php.net/trim
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 03.06.2005, 09:47:34
Benutzerbild von Pixelschubser
Pixelschubser Pixelschubser ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 45
AW: Datei in DB importieren ohne doppelte

Hi,

also die Beste Lösung für mich wäre denke ich wenn ich vor dem eintragen jeden wert prüfen würde und falls vorhanden diese zeile überspringen und mit der nächsten weiter machen.

wie kann mir trim() helfen? Habe weder leerzeichen, sonderzeichen noch sonst irgendwas nur die reine zahl 02345678987 in einer zeile stehen.
__________________
Never change a running system!
Mit Zitat antworten
  #6  
Alt 03.06.2005, 09:50:10
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zitat:
Zitat von Pixelschubser
also die Beste Lösung für mich wäre denke ich wenn ich vor dem eintragen jeden wert prüfen würde und falls vorhanden diese zeile überspringen und mit der nächsten weiter machen
Das ist doch allerhöchstens ein nur-im-absoluten-Notfall-Workaround! Aber lokal sei das fast verziehen.

Zitat:
Zitat von Pixelschubser
wie kann mir trim() helfen? Habe weder leerzeichen, sonderzeichen noch sonst irgendwas nur die reine zahl 02345678987 in einer zeile stehen.
Doch, Du hast das/die Zeichen für den Zeilenumbruch noch an dem String. Mag egal sein, muss aber nicht.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #7  
Alt 03.06.2005, 09:52:27
diver-network diver-network ist offline
Junior Member
 
Registriert seit: Apr 2003
Ort: TÜ
Beiträge: 337
AW: Datei in DB importieren ohne doppelte

Hi zusammen,

um zu verhindern, daß Nummern doppelt eingetragen werden hilft auch ein INSERT ... ON DUPLICATE KEY IGNORE... (oder so ähnlich, => Manual ;-)). Vorher muß die Spalte natürlich mit UNIQUE definiert sein.

Der Thread, den dachris genannt hat hilft Dir hier weniger, eher schon folgender:
http://www.selfphp.com/forum/showthread.php?t=10531

Zum im Nachhinein doppelte Einträge zu eliminieren hilft Dir allerdings der von dachris genannte Thread weiter, auch wenn die dortigen Lösungen (von mir) auch nicht immer das Gelbe vom Ei sind, da ziemlich rechenaufwändig oder nicht komplett (...HAVING...).

Gruß,

Andy
Mit Zitat antworten
  #8  
Alt 03.06.2005, 09:53:42
Benutzerbild von Pixelschubser
Pixelschubser Pixelschubser ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 45
AW: Datei in DB importieren ohne doppelte

Hi,

ja das / ist egal.
Nur wie prüfe ich ob vorhanden oder nicht und springe eine zeile weiter?
Sonst muss ich jede nummer per hand eintragen und dann sitze ich noch 3 wochen hier.... ;)
__________________
Never change a running system!
Mit Zitat antworten
  #9  
Alt 03.06.2005, 09:57:36
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Na einfach ein so:
Code:
mysql_query(SELECT id FROM tabelle WHERE id=array[x])
if (mysql_num_rows(result)<1) {
  mysql_query(INSERT...)
}
Und mach doch einfach UNIQUE aus dem Feld und Ruhe ist. Warum dieser Umwegwunsch?!
__________________
sic!
--> http://dbCF.de/

Geändert von c4 (03.06.2005 um 09:58:13 Uhr)
Mit Zitat antworten
  #10  
Alt 03.06.2005, 10:08:28
Benutzerbild von Pixelschubser
Pixelschubser Pixelschubser ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 45
AW: Datei in DB importieren ohne doppelte

Hi

hab es so versucht
PHP-Code:
$datei "nummern.csv";
$array file($datei);
for(
$x=0;$x<count($array);$x++){
    if (!empty(
$array[$x])){
        
$test_query "SELECT nummer FROM testnum WHERE nummer ='".$array[x]."'";
        if(
mysql_num_rows($test_query)<1){
            
$sql "INSERT INTO testnum (`id`, `datum`, `wie_eingetragen`, `nummer`) VALUES ('','$datum', '$wie_eingetragen', '$array[$x]')";
            
mysql_query($sql);
            echo 
$array[$x];
            echo 
"<br>";
        }
    }else{
        echo 
"Keine Faxnummer vorhanden.<br>";
    }

geht aber leider nicht...passiert gar nichts
__________________
Never change a running system!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler in Script das Inhalt einer .txt Datei (HTML Sourcecode) in Datei schreiben sol RookieXL2 PHP für Fortgeschrittene und Experten 2 08.06.2007 23:58:33
Inhalt einer Datei ab einem Fixpunkt einlesen rkersting PHP für Fortgeschrittene und Experten 11 21.03.2005 12:52:47
csv datei an webserver verschenken (chmod) PiCiJi Apache HTTP-Server 8 18.04.2004 17:44:06
geparste datei schreiben ingo PHP Grundlagen 1 29.12.2003 18:45:56
datei upload .... wie heißt die datei makese PHP Grundlagen 2 09.01.2003 09:47:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:45:58 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt