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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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 > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 23.08.2004, 18:57:49
bweichel bweichel ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 196
foreach => doppelte Ausgabe

Hallo,

ich möchte mir den Inhalt einer Datenbank automatisiert in einer .txt Datei speichern.

Ich lese dazu die Datenbank mit Select aus und schreibe anschließend alles in eine Variable $datei.

Diese Export-Datei möchte ich für alle Datenbanken verwenden. D.h. ich möchte keine statischen Angaben machen. Aus diesem Grund benutze ich die foreach-Schleife um die Daten einer Zeile in die Variable $datei zu schreiben.

Jedoch ist es so das bei der Ausgabe mit foreach die Daten immer doppelt ausgegeben werden. Woran kann das liegen?

Hier mein Script:

PHP-Code:
$query "SELECT * FROM $tabelle";

$result mysql_query($query);

while(
$row mysql_fetch_array($result)) {
     foreach(
$row as $value) {
          
$datei.= "$value";
     }


Geändert von bweichel (23.08.2004 um 19:00:15 Uhr)
Mit Zitat antworten
  #2  
Alt 23.08.2004, 21:50:59
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Re: foreach => doppelte Ausgabe

Zitat:
Original geschrieben von bweichel
Jedoch ist es so das bei der Ausgabe mit foreach die Daten immer doppelt ausgegeben werden. Woran kann das liegen?
Daran:
Zitat:
Das optionale zweite Argument Ergebnistyp in mysql_fetch_array() ist eine Konstante und kann die folgenden Werte annehmen: MYSQL_ASSOC, MYSQL_NUM und MYSQL_BOTH. Diese Eigenschaft steht seit PHP 3.0.7 zur Verfügung. MYSQL_BOTH ist der Standard für diesen Paramater.
Du liest also jeden Datensatz zweimal: einmal assoziativ und einmal numerisch indiziert.

Geändert von meikel (†) (23.08.2004 um 21:55:58 Uhr)
Mit Zitat antworten
  #3  
Alt 23.08.2004, 21:58:58
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
EDIT: In meikels Post ist schon alles gesagt

mysql_fetch_array liefert mit den Default Einstellungen soviel einen numerischen als auch einen assoziativen Array zurück.

Wenn du also das Array nur mit mysql_fetch_array($result) bekommen hast, wird es daran liegen.

Um mit einem assoziativen Array zu arbeiten, nimm mysql_fetch_array($result, MYSQL_ASSOC)

Für ein numerisches Array funktioniert mysql_fetch_array($result, MYSQL_NUM)
Mit Zitat antworten
  #4  
Alt 24.08.2004, 12:30:07
bweichel bweichel ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 196
Super danke!
Hat nun funktioniert!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:03:38 Uhr.


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


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