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

Frage Entwicklung PHP

PHP MySQL Abfrage aus Datenbank

Mitglied: Lost144

Lost144 (Level 1) - Jetzt verbinden

02.07.2014 um 14:34 Uhr, 1892 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
PHP - MySQL Abfrage liefert anderes Ergebnis als direkte MySQL (PHP-MyAdmin) Abfrage!
gelöst Frage von FunkerVogtPHP5 Kommentare

Ich denke mal, die Antwort von Euch wird kurz und bündig. Zumindest hoffe ich mit Eurer Hilfe, das Problem ...

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

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 14 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...