Automatisch datum veranderen
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

Automatisch datum veranderen
Okay, bijna database verziekt met mijn laatste actie, dus nu voordat ik aan de gang ga maar eens vragen aan jullie.
Ik heb een gebruiker die heet Archief.
Deze gebruiker kan door diverse moderators gebruikt worden om gegevens te archiveren.
De ellende is echter dat deze gegevens gewoon tussen de topics komen te staan.
Om één en ander duidelijk te maken hebben we besloten altijd het woord [INFO] vooraf te laten gaan aan deze postings.
Ook knallen we deze direct op slot, de gegevens dienen puur ter info en niet opdat een gebruiker daarin gaat posten.
We hebben een 'mod' geinstalleerd die alle gelockte topics onderaan zet, welnu, leuk bedacht, echter, alle 'verplaatst' topics komen ook onderaan te staan, dus een gebruiker zoekt zich suf naar zijn topic wanneer wij deze verplaatsen.
Wat we nu eigenlijk willen :
We hebben de mogelijkheden op vaste tijden een scriptje te laten runnen op onze server.
Wij willen een sql query in een php scriptje die alle postings van gebruiker Archief op een bepaalde datum zet in de php_bb database, voor ons part 01-01-1970, maar liefst 01-09-2003 omdat dat onze start datum is van ons forum op deze server.
Wie kan mij een redelijk kant en klaar php scriptje aanreiken, het gaat om phpbb versie 2.06, gebruiker is nummer 29 in phpbb_users, en eventueel willen wij dit sriptje gewoon met de hand runnen door rechtstreeks de juiste url in te kloppen.
Deze gebruiker post in diverse catagorieën en forums, en deze moeten allemaal meegenomen worden in dit scriptje. Zowel de topic aanmaak datum als de first_post aanmaak datum moeten worden aangepast.
In gewone taal, zou ik zeggen:
- Kijk hoeveel forums er zijn
- Doorloop deze forums
- als user nummer 29 is, verander dan de datum in 01-09-2003
- verander bij bovengenoemde ook de first post datum
- volgende forum
- eind
...maar hoe dit in php te vatten....
Ik heb een gebruiker die heet Archief.
Deze gebruiker kan door diverse moderators gebruikt worden om gegevens te archiveren.
De ellende is echter dat deze gegevens gewoon tussen de topics komen te staan.
Om één en ander duidelijk te maken hebben we besloten altijd het woord [INFO] vooraf te laten gaan aan deze postings.
Ook knallen we deze direct op slot, de gegevens dienen puur ter info en niet opdat een gebruiker daarin gaat posten.
We hebben een 'mod' geinstalleerd die alle gelockte topics onderaan zet, welnu, leuk bedacht, echter, alle 'verplaatst' topics komen ook onderaan te staan, dus een gebruiker zoekt zich suf naar zijn topic wanneer wij deze verplaatsen.
Wat we nu eigenlijk willen :
We hebben de mogelijkheden op vaste tijden een scriptje te laten runnen op onze server.
Wij willen een sql query in een php scriptje die alle postings van gebruiker Archief op een bepaalde datum zet in de php_bb database, voor ons part 01-01-1970, maar liefst 01-09-2003 omdat dat onze start datum is van ons forum op deze server.
Wie kan mij een redelijk kant en klaar php scriptje aanreiken, het gaat om phpbb versie 2.06, gebruiker is nummer 29 in phpbb_users, en eventueel willen wij dit sriptje gewoon met de hand runnen door rechtstreeks de juiste url in te kloppen.
Deze gebruiker post in diverse catagorieën en forums, en deze moeten allemaal meegenomen worden in dit scriptje. Zowel de topic aanmaak datum als de first_post aanmaak datum moeten worden aangepast.
In gewone taal, zou ik zeggen:
- Kijk hoeveel forums er zijn
- Doorloop deze forums
- als user nummer 29 is, verander dan de datum in 01-09-2003
- verander bij bovengenoemde ook de first post datum
- volgende forum
- eind
...maar hoe dit in php te vatten....
Hi..
volgens mij is dit wel ongeveer wat je bedoeld:
Dit veranderd alle posts van de gebruiker met user_id 3 (in dit geval)
Wel ff je database naam, server en password aanpassen evenals je tabel-prefix
(de mysql-query is dan dus:
poster_id van user Archief moet je dus ff opzoeken.
post_time=0 wordt dan 1 1 1970
volgens mij is dit wel ongeveer wat je bedoeld:
Code: Selecteer alles
<?php
// Verbinding maken, een database selecteren
$link = mysql_connect("mysql_host", "mysql_login", "mysql_password")
or die("Kan geen verbinding maken");
print "Verbinding succesvol gemaakt";
mysql_select_db("my_database")
or die("Kan geen database selecteren");
// Een SQL query uitvoeren
$query = "update phpbb_posts set post_time=0 where poster_id=3";
$result = mysql_query($query)
or die("Fout bij uitvoeren query");
// Printen resultaten in HTML
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
// Resultaat-set vrij maken
mysql_free_result($result);
// Verbinding afsluiten
mysql_close($link);
?>
Wel ff je database naam, server en password aanpassen evenals je tabel-prefix
(de mysql-query is dan dus:
Code: Selecteer alles
update posts set post_time=0 where poster_id=3;
post_time=0 wordt dan 1 1 1970
Tsja, dat wilde ik ook wel, maar kreeg MySql niet lekker aan de praat.
Was al blij dat ik php ondersteuning in die bak kreeg!
Misschien knal ik een keer Novell op, haal ik die kennis ook weer op.
Overigens, als ik die code een beetje goed lees, dan worden alleen de data van de phpbb_post aangepast, maar zijn dit ook de first postings van deze user ? (id=29)
Was al blij dat ik php ondersteuning in die bak kreeg!
Misschien knal ik een keer Novell op, haal ik die kennis ook weer op.
Overigens, als ik die code een beetje goed lees, dan worden alleen de data van de phpbb_post aangepast, maar zijn dit ook de first postings van deze user ? (id=29)