14. august 2004 - 10:43
Der er
18 kommentarer og 2 løsninger
Gererer en fil "USER","EMAIL"
Ønsker at få scriptet til, at gererer en fil fx mailliste.txt med følgende struktur - "USER","EMAIL": "test1","test1@test1.dk" "test2","test1@test2.dk" Alle tomme EMAIL-felter skal bare droppes. <?php $conn = mysql_connect("xxx", "xxx", "xxx"); mysql_select_db("xxx"); $result = mysql_query("select * from account"); while ($row = mysql_fetch_array($result)) { echo $row["USER"]; echo "   "; echo $row["EMAIL"]; echo("<br>"); } mysql_close($conn); ?>
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
14. august 2004 - 10:53
#1
<?php $conn = mysql_connect("xxx", "xxx", "xxx") or die(mysql_error()); mysql_select_db("xxx") or die(mysql_error()); $fp = fopen('mailliste.txt','w') or die("Kan ikke åbne mailliste.txt"); $result = mysql_query("select user, email from account where email is not null and email != ''"); while ($row = mysql_fetch_array($result)) { fwrite($fp, '"'.$row['USER'] . '",' ); fwrite($fp, '"'.$row['EMAIL'] . "\"\n" ); } fclose($fp); ?> utestet
14. august 2004 - 11:04
#2
I stedet for at skrive til fil for hvergang, ville jeg nok hellere bruge <?php $conn = mysql_connect("xxx", "xxx", "xxx") or die(mysql_error()); mysql_select_db("xxx") or die(mysql_error()); $tofile = ""; $result = mysql_query("select user, email from account where email is not null and email != ''"); while ($row = mysql_fetch_array($result)) { $tofile .= $row['USER'] ."|". $row['EMAIL'] ."\n"; } $filnavn = "from_db.txt"; $path = $_SERVER["DOCUMENT_ROOT"] ."/"; $fp = fopen($path . $filnavn, 'w+'); if ($fp) { fputs($fp, $tonewfile); fclose($fp); } ?> Testet! :O) Du får så navn og email adskilt af en |
14. august 2004 - 11:05
#3
hov, $tonewfile i fputs skal så være $tofile
14. august 2004 - 11:10
#4
sukos: OS'et / filesystemet laver caching, så det burde i princippet give det samme. Borset fra at jeg lader OS'et om at bestemme hvornår der skal skrives. Hvis nu det er en 7mb fil han ender med - så er det måske ikke så fedt at det skrives efter man har smidt det hele i en variabel :)
14. august 2004 - 11:11
#5
Og så nok lige trim() for ikke at få en ny linie uden noget på
14. august 2004 - 11:11
#6
Rigtigt, dennismp!
14. august 2004 - 11:32
#7
I både dennismp & sukos scripts, får jeg desværre følgende output; Warning: Supplied argument is not a valid MySQL result resource in /var/www/web/html/xxx.php on line 6 <?php $conn = mysql_connect("xxx", "xxx", "xxx") or die(mysql_error()); mysql_select_db("xxx") or die(mysql_error()); $tofile = ""; $result = mysql_query("select user, email from account where email is not null and email != ''"); while ($row = mysql_fetch_array($result)) { $tofile .= $row['USER'] ."|". $row['EMAIL'] ."\n"; } $filnavn = "mailliste.txt"; $path = $_SERVER["DOCUMENT_ROOT"] ."/"; $fp = fopen($path . $filnavn, 'w+'); if ($fp) { fputs($fp, $tonewfile); fclose($fp); } ?>
14. august 2004 - 11:38
#8
Og ja, fangede også $tonewfile --> $tofile
14. august 2004 - 11:39
#9
Prøv <?php $conn = mysql_connect("xxx", "xxx", "xxx") or die(mysql_error()); mysql_select_db("xxx") or die(mysql_error()); $tofile = ""; $result = mysql_query("SELECT `user`, `email` FROM `account`"); while ($row = mysql_fetch_array($result)) { $tofile .= $row['USER'] ."|". $row['EMAIL'] ."\n"; } $filnavn = "mailliste.txt"; $path = $_SERVER["DOCUMENT_ROOT"] ."/"; $tofile = trim($tofile); $fp = fopen($path . $filnavn, 'w+'); if ($fp) { fputs($fp, $tofile); fclose($fp); } ?> Men ellers er det nu rigtigt nok hvad denninsmp pointerer, altså med str. på $tofile inden der skrives til filen
14. august 2004 - 11:47
#10
ret denne linje; $result = mysql_query("select user, email from account where email is not null and email != ''"); til $result = mysql_query("select user, email from account where email is not null and email != ''") or die(mysql_error()); hvad siger den nu?
14. august 2004 - 11:51
#11
Samme fejl: Warning: Supplied argument is not a valid MySQL result resource in /var/www/web/html/xxx.php on line 6.
14. august 2004 - 11:54
#12
Vent!
14. august 2004 - 12:00
#13
Yessir :)
14. august 2004 - 12:01
#14
Scriptet kører nu, men indholdet af mailliste.txt er blot følgende: | | | | | osv.
14. august 2004 - 12:04
#15
erstat: $tofile .= $row['USER'] ."|". $row['EMAIL'] ."\n"; med: $tofile .= $row[0] ."|". $row[1] ."\n";
14. august 2004 - 12:13
#16
Nu virker det, men tegnet "|" skal dog fjernes, samt USER & EMAIL skal omklamres med ": test1 | test1@test1.dk --> "test1","test1@test1.dk"
14. august 2004 - 12:15
#17
prøv: $tofile .= '"'.$row[0] .'","'. $row[1] ."\"\n";
14. august 2004 - 12:24
#18
Helt super nu virker det, mange tak dennismp, sukos - point på vej.
14. august 2004 - 12:32
#19
Det var så lidt
14. august 2004 - 12:35
#20
Osse lige et svar herfra! :O)
Vi tilbyder markedets bedste kurser inden for webudvikling