nieuwste bericht bovenaan
solved,
Maar zoals je ziet is dit heel erg omslachtig en loont het zeker de moeite om je eens te gaan verdiepen in SQL. Het gebruik van een database biedt je namelijk naast de eenvoudige mogelijkheid tot sorteren, vele andere voordelen...
en ik wil eerst met PHP aan de slag gaan ;) ja maar dat gaat dan wel weer even duren :)
Als je eerst met PHP wilt beginnen, zet dan eerst eens wat andere systeempjes op waar je geen database voor nodig hebt. Denk bijvoorbeeld aan een contact formulier o.i.d...
Ja, maar hoe?
$file = fopen("nieuws.txt", "a");
en dan toevoegen met:
fwrite($file,"".$name." | ".$date." | ".$url." | ".$email." | ".$ip." | ".$message." |<br>"); zo:
bedoel je dit?
Bij het schrijven naar een plain text file mag je die <br> wel weglaten hoor, daar heb je helemaal niets aan. Om een nieuwe regel te beginnen gebruik je "\r\n" of de php constante PHP_EOL.
Verder ben ik nou ook wel benieuwd naar het uitlezen van de gegevens. Waarschijnlijk gebruik je een combinatie van fopen() en fread() of file_get_contents() in dat stukje, dus daar kun je naar zoeken. Heh, ik snap het echt niet.
Ga dus eerst eens het gedeelte van je script schrijven waarin je gb.dat uitleest en de gegevens die erin zitten verwerkt en weergeeft op het scherm. Of nog beter: vergeet dit hele scriptje en ga je verdiepen in SQL om uiteindelijk een database in dit systeem op te nemen.
Dit laatste zal je nu misschien iets meer tijd kosten, maar daar zul je later zeer veel profijt van hebben... Je hebt nog niet eens ergens een gedeelte om het bestand uit te lezen, je include het nu gewoon alleen maar? bedoel je zoiets?
@Jan Eduard: Als je een array_reverse() op $regels toepast en het dan met een foreach() op het scherm zet in plaats van de include(), dan heb je wat je wilt. @Blanche: Hij leest het wel eerst uit met file(). Maar dan alleen om een count() te gebruiken.
Maar hoe moet ik dit dan doen?
Maar goed, als je dat gedaan hebt ben je er nog lang niet. Je kunt de data uit dat bestand natuurlijk niet direct weergeven op het scherm, je zult hem wel moeten opmaken. En om dat op een goede manier te doen, zul je de gegevens met explode() op moeten knippen en bepalen welke delen wat voor soort data voorstellen.
Vervolgens zul je om te kunnen sorteren deze data allemaal in een array moeten proppen en met een van de sort() functies van PHP aan de slag moeten gaan. Let op dat de opbouw van je array in dit geval waarschijnlijk bepalend is voor het slagen van het sorteren.
Maar nogmaals, je zou dit scriptje beter kunnen vergeten en de tijd die je nu hieraan bestaat gebruiken om je in het gebruik van een database te verdiepen. Dan heb je dit hele probleem niet en laat je het sorteren van de gegevens gewoon aan de database over.
ps. @SanThe: alleen het toepassen van array_reverse en dan uitlezen met een foreach loop lijkt me niet echt een oplossing. Het lijkt me immers niet dat je de data zo op het scherm wilt tonen als het in het txt bestandje opgeslagen is. Enige vorm van opmaak is toch wel gewenst... Ik zou gewoon file() of file_get_contents() gebruiken om de inhoud van dat bestand in een variabele te laden.
Maar hoe moet mijn code dan worden, ja ik denk dat ik over een tijdje me erin ga verdiepen (mysQl) ;)
Dan zul je waarschijnlijk een ORDER BY desc op reactie tijdstip in je query moeten toevoegen.
ik werk zonder mysQl tot en met nutoe ;)
Jan Eduard schreef op 24.02.2008 14:26:
Oei, dan wordt sorteren ineens een heel stuk lastiger. De oplossing zou dan zijn om alles in een array te zetten met de tijden als timestamps. Vervolgens met een van de sort() functies deze array sorteren en weer uitlezen.ik werk zonder mysQl tot en met nutoe ;)
Maar zoals je ziet is dit heel erg omslachtig en loont het zeker de moeite om je eens te gaan verdiepen in SQL. Het gebruik van een database biedt je namelijk naast de eenvoudige mogelijkheid tot sorteren, vele andere voordelen...
en ik wil eerst met PHP aan de slag gaan ;)
Hoe lees jij het dan in?
via een .txt bestandje
Jan Eduard schreef op 24.02.2008 14:42:
PHP en SQL zijn heel nauw met elkaar verbonden. En met name in het geval van een nieuwssysteem is het gebruik van een database eigenlijk wel een vereiste te noemen. Het is gewoon bijna geen doen om zo'n systeem met behulp van txt bestanden op te zetten...ja maar dat gaat dan wel weer even duren :)
en ik wil eerst met PHP aan de slag gaan ;)
en ik wil eerst met PHP aan de slag gaan ;)
Als je eerst met PHP wilt beginnen, zet dan eerst eens wat andere systeempjes op waar je geen database voor nodig hebt. Denk bijvoorbeeld aan een contact formulier o.i.d...
Jan Eduard schreef op 24.02.2008 14:44:
via een .txt bestandje
Ja, maar hoe?
$file = fopen("nieuws.txt", "a");
en dan toevoegen met:
fwrite($file,"".$name." | ".$date." | ".$url." | ".$email." | ".$ip." | ".$message." |<br>");
Dat is toevoegen. Ik vroeg ophalen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$name = htmlentities($_POST['name']);
$url = htmlentities($_POST['url']);
$email = htmlentities($_POST['email']);
$message = htmlentities($_POST['message']);
$message = nl2br($message);
$message = str_replace("\n","",$message);
$message = str_replace("\r","",$message);
$message = str_replace("|",":",$message);
$message = str_replace("#*$!","****",$message);
$message = str_replace("bitch","****",$message);
$message = str_replace("haat","****",$message);
$message = str_replace("kanker","****",$message);
$message = str_replace("fuck","****",$message);
$message = str_replace("fock","****",$message);
$message = str_replace("kut","****",$message);
$message = str_replace("#*$!","****",$message);
$message = str_replace("#*$!","****",$message);
$message = str_replace("bull#*$!","****",$message);
$message = str_replace("#*$!","****",$message);
$message = stripslashes($message);
$url = str_replace("|",":",$url);
$email = str_replace("|",":",$email);
$name = str_replace("|",":",$name);
$date = date("d/m/Y H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
$url = htmlentities($_POST['url']);
$email = htmlentities($_POST['email']);
$message = htmlentities($_POST['message']);
$message = nl2br($message);
$message = str_replace("\n","",$message);
$message = str_replace("\r","",$message);
$message = str_replace("|",":",$message);
$message = str_replace("#*$!","****",$message);
$message = str_replace("bitch","****",$message);
$message = str_replace("haat","****",$message);
$message = str_replace("kanker","****",$message);
$message = str_replace("fuck","****",$message);
$message = str_replace("fock","****",$message);
$message = str_replace("kut","****",$message);
$message = str_replace("#*$!","****",$message);
$message = str_replace("#*$!","****",$message);
$message = str_replace("bull#*$!","****",$message);
$message = str_replace("#*$!","****",$message);
$message = stripslashes($message);
$url = str_replace("|",":",$url);
$email = str_replace("|",":",$email);
$name = str_replace("|",":",$name);
$date = date("d/m/Y H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
Gewijzigd op 01/01/1970 01:00:00 door Jan Eduard
Nee, dat is ook niet het stukje uitlezen uit het bestand.
Code (php)
1
2
3
2
3
<?php
fwrite($file,"".$name." | ".$date." | ".$url." | ".$email." | ".$ip." | ".$message." |<br>");
?>
fwrite($file,"".$name." | ".$date." | ".$url." | ".$email." | ".$ip." | ".$message." |<br>");
?>
Bij het schrijven naar een plain text file mag je die <br> wel weglaten hoor, daar heb je helemaal niets aan. Om een nieuwe regel te beginnen gebruik je "\r\n" of de php constante PHP_EOL.
Verder ben ik nou ook wel benieuwd naar het uitlezen van de gegevens. Waarschijnlijk gebruik je een combinatie van fopen() en fread() of file_get_contents() in dat stukje, dus daar kun je naar zoeken.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Ga dus eerst eens het gedeelte van je script schrijven waarin je gb.dat uitleest en de gegevens die erin zitten verwerkt en weergeeft op het scherm. Of nog beter: vergeet dit hele scriptje en ga je verdiepen in SQL om uiteindelijk een database in dit systeem op te nemen.
Dit laatste zal je nu misschien iets meer tijd kosten, maar daar zul je later zeer veel profijt van hebben...
@Jan Eduard: Als je een array_reverse() op $regels toepast en het dan met een foreach() op het scherm zet in plaats van de include(), dan heb je wat je wilt.
Quote:
@Jan Eduard: Als je een array_reverse() op $regels toepast en het dan met een foreach() op het scherm zet in plaats van de include(), dan heb je wat je wilt.
Maar hoe moet ik dit dan doen?
Maar goed, als je dat gedaan hebt ben je er nog lang niet. Je kunt de data uit dat bestand natuurlijk niet direct weergeven op het scherm, je zult hem wel moeten opmaken. En om dat op een goede manier te doen, zul je de gegevens met explode() op moeten knippen en bepalen welke delen wat voor soort data voorstellen.
Vervolgens zul je om te kunnen sorteren deze data allemaal in een array moeten proppen en met een van de sort() functies van PHP aan de slag moeten gaan. Let op dat de opbouw van je array in dit geval waarschijnlijk bepalend is voor het slagen van het sorteren.
Maar nogmaals, je zou dit scriptje beter kunnen vergeten en de tijd die je nu hieraan bestaat gebruiken om je in het gebruik van een database te verdiepen. Dan heb je dit hele probleem niet en laat je het sorteren van de gegevens gewoon aan de database over.
ps. @SanThe: alleen het toepassen van array_reverse en dan uitlezen met een foreach loop lijkt me niet echt een oplossing. Het lijkt me immers niet dat je de data zo op het scherm wilt tonen als het in het txt bestandje opgeslagen is. Enige vorm van opmaak is toch wel gewenst...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Quote:
Ik zou gewoon file() of file_get_contents() gebruiken om de inhoud van dat bestand in een variabele te laden.
Maar goed, als je dat gedaan hebt ben je er nog lang niet. Je kunt de data uit dat bestand natuurlijk niet direct weergeven op het scherm, je zult hem wel moeten opmaken. En om dat op een goede manier te doen, zul je de gegevens met explode() op moeten knippen en bepalen welke delen wat voor soort data voorstellen.
Vervolgens zul je om te kunnen sorteren deze data allemaal in een array moeten proppen en met een van de sort() functies van PHP aan de slag moeten gaan. Let op dat de opbouw van je array in dit geval waarschijnlijk bepalend is voor het slagen van het sorteren.
Maar nogmaals, je zou dit scriptje beter kunnen vergeten en de tijd die je nu hieraan bestaat gebruiken om je in het gebruik van een database te verdiepen. Dan heb je dit hele probleem niet en laat je het sorteren van de gegevens gewoon aan de database over.
Maar goed, als je dat gedaan hebt ben je er nog lang niet. Je kunt de data uit dat bestand natuurlijk niet direct weergeven op het scherm, je zult hem wel moeten opmaken. En om dat op een goede manier te doen, zul je de gegevens met explode() op moeten knippen en bepalen welke delen wat voor soort data voorstellen.
Vervolgens zul je om te kunnen sorteren deze data allemaal in een array moeten proppen en met een van de sort() functies van PHP aan de slag moeten gaan. Let op dat de opbouw van je array in dit geval waarschijnlijk bepalend is voor het slagen van het sorteren.
Maar nogmaals, je zou dit scriptje beter kunnen vergeten en de tijd die je nu hieraan bestaat gebruiken om je in het gebruik van een database te verdiepen. Dan heb je dit hele probleem niet en laat je het sorteren van de gegevens gewoon aan de database over.
Maar hoe moet mijn code dan worden, ja ik denk dat ik over een tijdje me erin ga verdiepen (mysQl) ;)