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

PHP MySQL Abfrage aus Datenbank

Mitglied: Lost144

Lost144 (Level 1) - Jetzt verbinden

02.07.2014 um 14:34 Uhr, 1947 Aufrufe, 12 Kommentare, 2 Danke

Hallo,

Ich habe in einer Datenbank daten über VM's stehen. Angaben wie hostname,adresse, serverat usw.

Wie kann ich in PHP ne Abfrage der Daten aus der Datenbank so machen, dass der nach und nach alle Daten ausliest.
Ich möchte gerne nach und nach per Script aus der Datenbank rauslesen, welche VM's an sind und die herausfiltern und diese Daten in eine CMD senden.
Wenn ich angeben würde, das die VM xy herausgefiltert werden soll kann ich in die sql Abfrage dies einbauen aber das kann ich in diesem Fall nicht anwenden.

Vielen Dank für Tipps
Mitglied: SlainteMhath
02.07.2014 um 16:28 Uhr
Moin,

hm, ziemlich verworren dein Beitrag... schon mal Google gefragt? Der kennt 1000te seiten, wie z.b. das hier: http://www.homeandlearn.co.uk/php/php13p2.html

lg,
Slainte
Bitte warten ..
Mitglied: Xaero1982
02.07.2014 um 21:21 Uhr
Hi,

nicht nur verworren, sondern irgendwie total unverständlich. Versuchs bitte noch mal... von mir aus auch mit 5 Worten mehr und Satzzeichen an den richtigen Stellen.

Gruß
Bitte warten ..
Mitglied: Lost144
03.07.2014 um 08:49 Uhr
Er gibt aus der DB Abfrage mir aus dem ersten Feld die Daten aus aber nicht die anderen zugehörigen Daten die zu dem Feld gehört.
Bitte warten ..
Mitglied: SlainteMhath
03.07.2014 um 08:57 Uhr
was bitte?

Ok, bitte zeig uns doch mal ein SQL Statement, das Schema der zugehörigen Tabellen und was dudir eigentlich als Ergebniss vorstellst (notfalls als Screenshot von Excel oder so).
Bitte warten ..
Mitglied: Lost144
03.07.2014 um 11:14 Uhr
habe diesen Code und er schreibt mir in die Datei nur das erste Ergebnis aus der Schleife.
Aber wenn ich den Code ohne die function für das einfügen in die Datei verwende, gibt mir die Schleife alle Ergebnise aus der DB aus.
Und so fügt der in die Datei nur den ersten Treffer aus

for ($i=0;$i<$num;$i++)
{
$hostname = mysql_result($res, $i, "hostname");
$serverart = mysql_result($res, $i, "serverart");
$serveradresse = mysql_result($res, $i, "serveradresse");
$datastore = mysql_result($res, $i, "datastore");



function write_data($data, $fname) {

$fp = fopen($fname, "w");

foreach ($data as $key => $value) {

fwrite($fp, "$key $value \n");
}

fclose($fp);
}

$test["1"]= $hostname;
$test["2"]= $serverart;
$test["3"]= $serveradresse;
$test["4"]= $datastore;

write_data($test, "daten.txt");
Bitte warten ..
Mitglied: SlainteMhath
03.07.2014 um 11:44 Uhr
Sorry, aber der code ist genauso verwirrt wie dein Beitrag.

Möchtest du evtl. das hier machen:
01.
$fp = fopen($fname, "w"); 
02.
for ($i=0;$i<$num;$i++) 
03.
04.
	$hostname = mysql_result($res, $i, "hostname"); 
05.
	$serverart = mysql_result($res, $i, "serverart"); 
06.
	$serveradresse = mysql_result($res, $i, "serveradresse"); 
07.
	$datastore = mysql_result($res, $i, "datastore"); 
08.
	 
09.
	fwrite($fp, "1 $hostname\n"); 
10.
	fwrite($fp, "2 $serverart\n"); 
11.
	fwrite($fp, "3 $serveradresse\n"); 
12.
	fwrite($fp, "4 $datastore\n"); 
13.
			 
14.
15.
fclose($fp);
?
Bitte warten ..
Mitglied: Lost144
03.07.2014 um 15:27 Uhr
Ich weil einfach die Variablen aus der Schleife in eine txt Datei speichern.
Wie ich oben benannt habe. Und nein dein Code hilft mir nicht weiter.
Bitte warten ..
Mitglied: SlainteMhath
03.07.2014, aktualisiert um 15:55 Uhr
Also der Code schreibt aus der Schleife
01.
for ($i=0;$i<$num;$i++)
die Variablen
01.
	$hostname = mysql_result($res, $i, "hostname");  
02.
	$serverart = mysql_result($res, $i, "serverart");  
03.
	$serveradresse = mysql_result($res, $i, "serveradresse");  
04.
	$datastore = mysql_result($res, $i, "datastore"); 
in eine Textdatei
01.
$fp = fopen($fname, "w");  
02.
... 
03.
fwrite($fp, "1 $hostname\n");  
04.
	fwrite($fp, "2 $serverart\n");  
05.
	fwrite($fp, "3 $serveradresse\n");  
06.
	fwrite($fp, "4 $datastore\n");  
07.
... 
08.
fclose($fp);
Du musst also schon konkreter werden. Oder du postest, wie schon oben angemerkt, mal den komplette code inkl. dem SQL Statement und den Tabellen Schemas
Bitte warten ..
Mitglied: Lost144
04.07.2014, aktualisiert um 11:17 Uhr
Hier mein kompletter Code.
Er schreibt mir nun die Daten oben aus der SQL Abfrage in eine Text Datei aber ich habe das Problem das er jedes mal beim ausführen die Daten an die vorhanden Daten in der Text datei ergänzt. Aber wenn ich oben im Code den Paramater W verwende, schreibt er mir nur einen Datensatz rein


01.
  
02.
<?php  
03.
 
04.
 
05.
   
06.
   $db     = mysql_connect("....."
07.
   $db_sel = mysql_select_db("ks"); 
08.
$timestamp = time(); 
09.
$heute = date("Y-m-d",$timestamp);	 
10.
   $sql_ab  = "SELECT * "
11.
   $sql_ab .= "FROM GEHIM "
12.
   $sql_ab .= "WHERE status = '1' AND Datum < $heute"
13.
    
14.
   $res = mysql_query($sql_ab); 
15.
   $num = mysql_num_rows($res);    
16.
    
17.
   
18.
   if ($num == 0) 
19.
20.
   echo "Fehler"
21.
22.
   else 
23.
24.
      
25.
	// $hostname= ''
26.
     for ($i=0;$i<$num;$i++) 
27.
28.
        // $hostname     =    $hostname."\r\n".mysql_result($res, $i, "hostname"); 
29.
		$hostname    =    mysql_result($res, $i, "hostname"); 
30.
  	    $serverart    =    mysql_result($res, $i, "serverart"); 
31.
		$serveradresse    =    mysql_result($res, $i, "serveradresse"); 
32.
		$datastore    =    mysql_result($res, $i, "datastore"); 
33.
		$Datum    =    mysql_result($res, $i, "Datum"); 
34.
		 
35.
	 
36.
 
37.
 
38.
 
39.
$filename = 'test.txt'
40.
 
41.
 
42.
 
43.
 
44.
		if (is_writable($filename)) { 
45.
 
46.
  
47.
			if (!$handle = fopen($filename, "a")) { 
48.
			print "Kann die Datei $filename nicht öffnen"
49.
			exit
50.
			}		 
51.
 
52.
  
53.
				if (!fwrite($handle, $hostname.','.$serveradresse.','.$serverart.','.$datastore.',')) { 
54.
				print "Kann in die Datei $filename nicht schreiben"
55.
				exit
56.
57.
 
58.
    print "Fertig, in Datei $filename wurde  geschrieben"
59.
 
60.
    fclose($handle); 
61.
 
62.
	} else
63.
			print "Die Datei $filename ist nicht schreibbar"
64.
	}	 
65.
	 
66.
	 
67.
 
68.
 
69.
70.
     mysql_close($db); 
71.
      
72.
         
73.
  
74.
 
75.
76.
    
77.
?>
Bitte warten ..
Mitglied: Biber
04.07.2014 um 11:39 Uhr
Moin Lost144,

... das is' ja mal ein witziges Schleifenkonstukt...

Musst du wirklich innerhalb der FETCHerei bei jedem Datensatz die Ausgabedatei test.txt öfnen, einen Satz schreiben und wieder schliessen?

Falls das keine ABM-Massnahme für deinen Prozessor ist und/oder du ihm künftig den gesetzlich empfohlenen Mindestlohn zahlen musst
-> dann würde ich es überdenken.

Ich liebe Freitage
Biber
Bitte warten ..
Mitglied: SlainteMhath
04.07.2014 um 11:58 Uhr
Aber wenn ich oben im Code den Paramater W verwende
Ja das liegt genau an dem was dir Biber geschrieben hat. Du führst bei jedem Datensatz ein fopen aus

Aus der PHP Doku zu fopen mit parameter "w"
01.
Nur zum Schreiben geöffnet; platziere Dateizeiger auf Dateianfang und kürze die Datei auf eine Länge von 0. Existiert die Datei nicht, versuche, diese zu erzeugen.
also Code umstellen, fopen einmal am VOR der Schleife, fclose einmal NACH der Schleife und dann gehts.
Bitte warten ..
Mitglied: Lost144
04.07.2014 um 13:40 Uhr
Vielen Dank das du mir Geholfen hast anstatt mir eine Predigt zu halten

Problem ist gelöst
Bitte warten ..
Ähnliche Inhalte
PHP

Daten via PHP aus mysql Datenbank auslesen und löschen

gelöst Frage von KyrinjaPHP5 Kommentare

Guten Morgen liebe Leute, ich verzweifle! Ich versuche Daten aus einer DB auszulesen und hinter den Daten einen Löschenbutton ...

PHP

MySQL-Abfrage mit php: Wert + true bzw. false

Frage von tomolpiPHP2 Kommentare

Moin Leute, Frage an die PHP-Experten: mit bekomme ich über data.php?id=123 den passenden Wert, in diesem Fall hans. Da ...

PHP

Über Mysql verschlüsseltes Passwort per PHP abfragen

gelöst Frage von pcklickPHP14 Kommentare

Hallo, ich habe folgendes Problem. Ich habe User & Passwörter in einer Mysql Datenbank gespeichert. Diese Einträge wurden damals ...

Datenbanken

MYSQL Abfrage

gelöst Frage von datadexxDatenbanken20 Kommentare

Halo an alle MySQL Spezialisten! Wie kann ich denn am besten folgende Werte abfragen und berechnen? Ausgang für die ...

Neue Wissensbeiträge
Windows 7

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

Information von kgborn vor 15 StundenWindows 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
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 ...

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

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

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

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

Hyper-V
HyperV DC + DNS + AC
gelöst Frage von HardstylesHyper-V14 Kommentare

Hallo kann mir jemand sagen wieso meine Domänen Computer kein Internetzugang erhalten? Ich hab hier ein Server wo die ...