php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Bräuchte Hilfe bein Dateiübertrag von sql in einen Ordner


 
marsuhuba
08-10-2016, 14:22 
 
Hallo
Ich habe ein kleines Script geschrieben mit dem ich ne sql tabelle auslesen kann.
Das funktioniert auch einwandfrei.
Nun will ich die ausgegebenen Werte als Datei in einen bestimmten Ordner schreiben.
Habe da leider keine Ahnung wo ich da ansetzen muss.

<?php
$_db_host = "localhost";
$_db_username = "root";
$_db_passwort = "********";
$_db_datenbank = "marsu1";
$_link = mysql_connect($_db_host, $_db_username, $_db_passwort);
if (!$_link)
{
die("Keine Verbindung zur Datenbank möglich: " .
mysql_error());
}

$select = mysql_query("SELECT usr_ip FROM marsu1.blab8_online order by usr_ip");


while( $show = mysql_fetch_array($select)) {


echo("$show[usr_ip]");


}


mysql_close($_link);
?>

 
h3ll
08-10-2016, 14:27 
 
Auswertungs script - PHP Forum: phpforum.de (http://phpforum.de/forum/showthread.php?t=283879)

 
marsuhuba
08-10-2016, 15:03 
 
Hallo
Hab meinen Beitrag im anderen forum zum löschen beantragt

 
bandit600
08-10-2016, 15:30 
 
Das ändert aber nichts an der Tatsache, dass du bisher nichts versucht hast, das Problem selber zu lösen. In dem anderen Forum hast du hilfreiche Links bekommen, die du anscheinend ignoriert hast. Was erwartest du, dass dir jemand dein Script schreibt?

 
marsuhuba
08-10-2016, 15:35 
 
hallo
die tipps waren nur totorials wie man php lernt.
hab da aber auch nichts drin gefunden was ich anwenden muss.
bin leider blutiger anfänger und habe mit müh und not die abfrage hinbekommen.
hänge nun fest und komme nicht weiter

 
bandit600
08-10-2016, 15:40 
 
Dieser Link wurde dir geschrieben: PHP: Dateisystem - Manual (http://php.net/manual/de/ref.filesystem.php)

Wenn du dort mal nachgesehen hättest, wäre dir u.a. sowas ins Auge gesprungen:



fopen — Öffnet eine Datei oder URL
fwrite — Binär-sicheres Dateischreiben
fclose — Schließt einen offenen Dateizeiger
file_put_contents — Schreibt einen String in eine Datei

Und wenn du dir dann noch die Beispiele in der Doku angesehen hättest, wäre das alles kein großes Problem.

 
marsuhuba
08-10-2016, 15:59 
 
hallo
ich habe ja keinen file sondern nur die rückgabe aus der datenbank die folgendermassen aussieht ("$show[usr_ip]")
was nützt da fopen usw

 
bandit600
08-10-2016, 16:05 
 
Du willst doch diesen Wert in eine Datei schreiben, oder?

Und davon mal ab, das Script, das du hier reingeschrieben hast, funktioniert doch garnicht.

 
marsuhuba
08-10-2016, 16:15 
 
das script funktioniert zumindes die ausgabe kannst du hier sehen
http://h2572842.stratoserver.net/rest/test.php

ich will nicht den wert in eine datei schreiben sondern die ausgabe in einen ordner

soll dann im order so aussehen

95.91.249.161
95.91.249.162

 
bandit600
08-10-2016, 16:24 
 
das script funktioniert
Dann hast du hier eine kastrierte Version deines Scriptes gepostet, denn hier fehlt mysql_select_db!

Dann willst du Dateien mit der IP, die du aus der DB bekommst? Wofür soll das denn gut sein?

 
marsuhuba
08-10-2016, 16:31 
 
Hallo
schaut bei mis so aus die zeile
$select = mysql_query("SELECT usr_ip FROM marsu1.blab8_online order by usr_ip");

ich brauche die ips in einen ordner für ein anderes script das daraus user online ausgibt

 
bandit600
08-10-2016, 16:39 
 
Und dafür Dateien anlegen? Das ist doch Quatsch zum Quadrat! Warum nutzt du nicht die Datenbak dazu?

 
marsuhuba
08-10-2016, 16:50 
 
hallo
ich will ja nur die anzahl der user angeben nicht die ips
sieht in dem laufenden sript so aus

http://h2572842.stratoserver.net/phpunity-useronline.php

hat leider den nachteil das es nur kontrolliert wer auf der domain online ist
und ich wollte anzeigen nur wer im chat online ist

 
bandit600
08-10-2016, 16:54 
 
Jetzt mal langsam! Du willst also in einem Ordner Dateien mit den IP's als Namen anlegen, um dann die Dateien zu zählen? Das ist nicht dein Ernst, oder?

 
marsuhuba
08-10-2016, 17:07 
 
hallo
so arbeitet das bestehend user online sript
hab es so abgeändert das es selber keine ips mehr in dem ordner speichert und löscht.
trage ich per hand ein zeigt es die anzahl ips an zählt diese und gibt sie als anzahl aus.
deshalb wollte ich die datenbank abfragen und die werte dann in den ordner schreiben.

 
bandit600
08-10-2016, 17:08 
 
hallo
so arbeitet das bestehend user online sript
Dann hau' das in die Tonne!

Frage einfach die Datenbank, wieviele IP's eingetragen sind

 
marsuhuba
08-10-2016, 17:15 
 
hallo
die datenbank gibt keine anzahl aus sondern pro zeile den usernamen, die user ID und die ip sonst nichts

 
bandit600
08-10-2016, 17:17 
 
LERNE DIE GRUNDLAGEN!!! Das ist ja albern!

MySQL :: MySQL 5.7 Reference Manual :: 4.3.4.8 Counting Rows (http://dev.mysql.com/doc/refman/5.7/en/counting-rows.html)

 
marsuhuba
08-10-2016, 17:48 
 
hallo
habe es folgendermassen versucht:
<?php

$pdo = new PDO('mysql:host=localhost;dbname=marsu1', 'root', '********');

$statement = $pdo->prepare("SELECT * FROM blab8_online WHERE usr_ip = ?");
$statement->execute(array('Max'));
$anzahl_user = $statement->rowCount();
echo "Es wurden $anzahl_user Benutzer gefunden";
?>

bekomme aber immer die ausgabe 0 benutzer gefunden obwoh welche online sind und in der db drin stehen

 
h3ll
08-10-2016, 17:49 
 
Verwende COUNT(*) um Datensätze zu zählen.

Davon abgesehen, ist dir bewusst, dass ein User mehrere IPs gleichzeitig haben kann und mehrere User gleichzeitig die selbe IP?

Was bezweckst du also mit der IP?

 
marsuhuba
08-10-2016, 18:03 
 
hallo
geht im moment nur um das prinzip
kann zur auswertung auch die user id oder den namen verwenden
geht nur um die anzeige wieviele user online sind im chat um das in meinen forum einzublenden
forum und chat sind 2 unterschiedliche webseiten

 
marsuhuba
08-10-2016, 19:03 
 
Hallo
Habe eine Lösung gefunden die auch funktioniert indem ich die Zeilenanzahl ermittle der gesamten Tabelle.

<?php

$link = mysql_connect("localhost", "root", "********");
mysql_select_db("marsu1", $link);

$result = mysql_query("SELECT * FROM blab8_online", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows User im Chat\n";

?>das kann ich jetzt weiterverwenden und das alte useronline script in den müll werfen.

danke für eure ideen und hilfe

 
bandit600
08-10-2016, 19:36 
 
Das ist totaler Schrott! Du selektierst die komplette Tabelle, nur um die Anzahl zu ermitteln. Ich habe dir einen Link zur MySQL-Doku geschrieben und h3ll hat dir auch geschrieben, dass du count(*) nehmen sollst. Warum ignorierst du das??

 
marsuhuba
08-10-2016, 19:41 
 
hallo
habs versucht aber hab immer die anzeige bekommen 0
auch wenn mehrere user online waren
mit der kompletten tabelle funzt es aber
die tabelle hat eh nur 3 spalten
lass es schrott sein aber es funktioniert

 
bandit600
08-10-2016, 19:50 
 
<?php
$link = mysql_connect("localhost", "root", "********")
or die ("Connection failed");

mysql_select_db("marsu1", $link)
or die ("Database not found");

$result = mysql_query("SELECT count(*) FROM blab8_online", $link)
or die ("Error: " . mysql_error());

$num_rows = mysql_result($result,0);

echo "$num_rows User im Chat\n";
?>
Was ist daran schwer, wenn man sich mal bemüht und gewillt ist zu lernen?

Außerdem wurde dir in dem anderen Forum schon gesagt, das die MySQL-Erweiterung veraltet ist und du umstellen sollst. Ich wünsche dir, dass dein Provider auf PHP 7 umstellt und dein Schrott wie ein Kartenhaus zusammenbricht. Warum ignorierst du alles? Lernresistent?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:16 Uhr.