Automatisch datum veranderen

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
markus
Berichten: 18
Lid geworden op: 09 okt 2003, 08:53

Automatisch datum veranderen

Bericht door markus » 16 okt 2003, 01:22

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

imweasel
Berichten: 10
Lid geworden op: 22 sep 2003, 11:38

Bericht door imweasel » 16 okt 2003, 10:22

Hi..

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);
 ?>
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:

Code: Selecteer alles

update posts set post_time=0 where poster_id=3;
poster_id van user Archief moet je dus ff opzoeken.
post_time=0 wordt dan 1 1 1970

imweasel
Berichten: 10
Lid geworden op: 22 sep 2003, 11:38

Bericht door imweasel » 16 okt 2003, 10:33

overigens:

vul voor de datum 01-09-2003 00:00
het getal 1062374400 in.

Wouter
Laatst gewijzigd door imweasel op 16 okt 2003, 12:51, 1 keer totaal gewijzigd.

markus
Berichten: 18
Lid geworden op: 09 okt 2003, 08:53

Bericht door markus » 16 okt 2003, 12:30

Ga het straks even proberen, eerst even een backupje maken natuurlijk :lol:
(die vorige actie vergeet ik niet licht)

imweasel
Berichten: 10
Lid geworden op: 22 sep 2003, 11:38

Bericht door imweasel » 16 okt 2003, 12:59

ik heb thuis een test en een schaduw omgeving van mijn forum draaien op een (linux) servertje.

Erg ideaal voor zulke wijzigingen !

Misschien een tip !

markus
Berichten: 18
Lid geworden op: 09 okt 2003, 08:53

Bericht door markus » 16 okt 2003, 13:16

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)

Gesloten