Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MySQL Daten erfassen und in CSV eintragen

Mitglied: datadexx

datadexx (Level 1) - Jetzt verbinden

14.05.2013 um 19:42 Uhr, 2507 Aufrufe, 6 Kommentare

Puhh, google ist durch...

Folgendes Problem.

Von einem Formular (checkboxen die angehakt werden) bekomme ich an ein weiteres PHP Script die ids von den Datensätzen übermittelt, sieht so aus:

<option name='pos[0]' value='1000'>text</option>
<option name='pos[1]' value='1001'>text</option>
<option name='pos[2]' value='1002'>text</option>
<option name='pos[3]' value='1003'>text</option>

In den empfangenden PHP Script muss jetzt für jede der ID's eine SQL Abfrage gestartet werden.

SELECT field1, field2, field3 FROM tabelle WHERE id=pos[]. Geht ja mit foreach.

Die so ermittelteten Daten jeder Abfrage müssen dann in eine csv Datei geschrieben werden.

Und hier liegt mein Problem, das bekomme ich nicht hin.

Quasi sollt das so ungefähr ablaufen:

1. Datensatz ermitteln -> eintragen in die CSV Datei
2. Datensatz ermitteln -> eintragen in die CSV Datei

usw.

Jemand ne IDEE???
Mitglied: datadexx
14.05.2013 um 20:17 Uhr
Mein bisheriger code. Ich erhalte aber immer nur den letzten Datensatz

foreach ($raexp as $__W)
{
$datensatz = StarteSQLQuery("

SELECT

field1,
field2, field3, field4 usw.

WHERE id=$__W


");

}

$max = 65534;
for ($i=0;$i <= $max;$i++)
{
$filename .= chr(rand(97,122));
}
$handle=fopen("pfad zur Datei".$filename.".csv", "wb");

while($row=mysql_fetch_array($datensatz))
{
$data="";
foreach ($row as $key => $value)
{
if (is_numeric($key))
{
$a=rawurlencode($value);
$a=str_replace("%0D%0A","",$a);
$a=rawurldecode($a);
$a=str_replace(";","-",$a);
$data.=$a.";";
}
}
fwrite($handle, $data."\n");
}
fclose($handle);
print("
Download der .csv Datei: <a href='pfad zur datei".$filename.".csv'> Download</a>");
Bitte warten ..
Mitglied: Arano
14.05.2013 um 22:39 Uhr
Hi datadexx

  1. Begrüßung
  2. Formatierungshilfen und
  3. Höflichkeit / Freundlichkeit

@Problem:
  1. Du hast da einen Gedankenfehler (Logikfehler). In der ersten Schleife wird das Ergebnis des Queries immer in die gleiche Variabel gespeichert... also ÜBERSCHREIBT jeder weiterer Schleifendurchlauf das Ergebnis des Vorherigen, so bleibt am Ende auch nur eins über - das Letzte.
  2. Du startest für jede ID eine eigene Abfrage an die Datenbank... kannst du die nicht in eine zusammenfassen !?
    01.
    SELECT ... 
    02.
      FROM ... 
    03.
     WHERE id=x OR id=x OR id=x
    Dann würdest du mit einer einzigen Abfrage eine Ergebnistabelle erhalten die alle gewünschten Datensätze enthält


Gute Nacht
~Arano
Bitte warten ..
Mitglied: datadexx
15.05.2013, aktualisiert um 07:34 Uhr
Guten Morgen!

Ja sorry, gestern war spät und der Kopf durch...

Es gibt doch meine ich auch sowas wie WHERE id IN...

Wie umgehe ich denn das Problem des überschreibens in der foreach Schleife, wenn die Sammelabfrage nicht klappen sollte?

Vielen Dank für Hilfe!

Greetz
Bitte warten ..
Mitglied: datadexx
15.05.2013, aktualisiert um 07:34 Uhr
Ich hab noch eine Frage wegen der Zusammenfassung der Datensätze.

Jeder Datensatz mit seiner id muss eine Zeile in der csv ergeben, da diese nachher maschinell weiterverarbeitet wird.

Wenn die Daten zusammengefasst werden, erhalte ich ja nur einen Datensatz mit allen Ergebnissen.

Nochmals Danke für Hilfe!

Greetz
Bitte warten ..
Mitglied: Arano
15.05.2013 um 08:20 Uhr
Moin moin.

Wenn die Daten zusammengefasst werden, erhalte ich ja nur einen Datensatz mit allen Ergebnissen.
Nein, nicht ganz !
Wenn du alles "auf einmal" abfragst (egal ob per WHERE IN() oder WHERE id= OR id= OR ...) erhältst du eine Ergebnistabelle mit __mehreren__ Datensätzen - jede Zeile der Tabelle entspricht dabei einem Datensatz.

Diese Ergebnistabelle kannst du dann in einer Schleife abarbeiten z.B.
01.
$ergbnistab = mysql_query( "SELECT ... WHERE ..." ); 
02.
while( $datansatz=mysql_fetch_assoc($ergebnistab) ) 
03.
04.
    // verarbeite daten 
05.
    echo $datensatz['id'].'<br>'
06.
    echo 'Sein Name war: '.$datensatz['vorname'].'<br>'
07.
    fwrite( $hndCVS, implode( ";", $datensatz ) ); 
08.
}

~Arano
Bitte warten ..
Mitglied: datadexx
24.09.2013, aktualisiert um 11:56 Uhr
Hallo Leute und guten Morgen,

leider konnte ich lange nicht an diesem Problem weiter arbeiten. Dank der tollen Hilfe von ~Arano bin ich hier zwar schon weit gekommen, stehe aber wieder vor einem Problem wo ich die Hilfe von euch MYSQL Profis benötige.

In folgender Abfrage benötige ich an der markierten Stelle alle Werte der INNER JOIN (SELECT...) Abfrage in einer Zelle. Die INNER JOIN Abfrage liefert (im Moment) 10 Ergebnisse zurück, wodurch beim Ergebnis 10 ROWS entstehen. Das kann ich leider so nicht gebrauchen, ich brauche die 10 Ergebnisse der Subquery von INNER JOIN in einer Zelle. Diese hab ich mit <- in der Abfrage markiert.

Wäre total super wenn da ein Profi von euch helfen könnte.

SELECT

a.ra_adr,
a.ra_srvcodes,
a.ra_kdnr,
a.bmyid,
trim(a.BFirma) AS EF,
f.dm1,
trim(a.BStr) as ESTR,
f.dm2,
trim(b.lkz) as ELKZ,
b.PLZ,
trim(b.Ort) as EORT,
f.dm3,
f.dm4,
f.dm5,
f.dm6,
f.dm7,
f.dm8,
f.dm9,
a.ra_kdnr,
trim(i.Firmenname) AS OFRMA,
f.dm10,
trim(i.Strasse) as OSTR,
f.dm11,
i.own_lkz,
i.PLZ as iplz,
trim(i.Ort) as iort,
a.amyid,
trim(a.AFirma) as LFRMA,
f.dm12,
trim(a.AStr) as LSTR,
f.dm13,
trim(c.lkz) as clkz,
c.PLZ as cplz,
trim(c.Ort) as cort,
a.ra_ndlsg,
a.ra_ndlsg as ra_spedkdnr,
a.ra_frankatur,
f.dm14,
f.dm15,
a.AANr,
f.dm16,
f.dm17,
f.dm18,
f.dm19,
f.dm20,
f.dm21,
f.dm22,
f.dm23,
f.dm24,
f.dm25,
f.dm26,
f.dm27,
f.dm28,
f.dm29,
a.ra_pos,
FORMAT(a.ta_anzahl,0) as anzahl,
d.raben_id,
a.ta_ware,
ROUND(a.ta_gewicht) as gewicht,
f.dm30,
f.dm31,
f.dm32,
f.dm33,
f.dm34,
FORMAT(a.ta_ldm,0) as Lademeter,
f.dm35,
f.dm36,
f.dm37,
CONCAT('00',(g.nve)) AS NVE <- AN dieser Stelle benötige ich alle 10 Ergebnisse der INNER JOIN Subquery.

FROM aauftrag AS a

LEFT JOIN part as d ON a.ta_ldmart = d.Lademittel
LEFT JOIN kundenstamm as b ON a.bmyid = b.MYID
LEFT JOIN kundenstamm as c ON a.amyid = c.MYID
LEFT JOIN firmendaten as i ON a.ra_kdnr = i.ra_kdnr
LEFT JOIN raben_dummys as f ON a.ra_kdnr = f.ra_kdnr

INNER JOIN (SELECT nve,aanr FROM raben_nve2ta) as g ON a.AANr = g.aanr

WHERE a.AANr IN (201305460)
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Feld mit CSV-Daten aus MySQL-Datenbank einlesen

gelöst Frage von Andreas.HH1VB for Applications3 Kommentare

Hallo zusammen, ich bin neu hier und verfüge nur über eher schwache Grundkenntnisse. Ich hoffe daher, Ihr entschuldigt die ...

Datenbanken

Import CSV in MYSQL

gelöst Frage von schneerunzelDatenbanken3 Kommentare

Hallo zusammen, ich versuche gerade die Daten einer Vereinsverwaltung in eine neu zu überführen. Dabei tauchen einige Probleme auf. ...

Windows Mobile

Motorola Barcode-Scanner WinMobile - Daten erfassen

gelöst Frage von RiceManuWindows Mobile4 Kommentare

Gelöst: Installation von DataWedge notwendig - Hallo Community, ich habe hier einen Motorola Hand-Scanner der unter Windows Mobile 5.0 ...

Linux Tools

CSV-Daten zurechtbauen in ein Skript

gelöst Frage von Jens4everLinux Tools2 Kommentare

Moin zusammen, ich habe eine Datei "Datei", die so aufgebaut ist: (Geburtstag; Name; E-Mailadresse) Mit grep ziehe ich aus ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...