forum met actieve topics.
ik ben het forum nu aan het afmaken waar ik een paar dagen mee bezig ben. ik stuit op een heel klein probleempje. ik weet nu hoe je actieve topics kan doen. dat doe ik door bij een nieuwe topic te laten 'insert' in een andere forum tabel. die heet forum_actief. alleen hoe kan ik het topic id nu laten posten?
als ik de code moet posten doe ik dat wel.
ik snap je vraagstelling niet helemaal?
ik ben bijna klaar. alles werkt.
nu wil ik actieve topics maken.
ik weet wel hoe ik het moet maken alleen 1 probleempje.
hoe kan ik het id posten die word gepost bij newtopic.php. als er een nieuwe topic word geplaatst moet die uiteraard in de lijst actieve topics komen. daarvoor wil ik dit in de tabel forum_actief zetten: topicid, topictitel en datum.
datum & topictitel lukt. alleen hoe kan ik nu ook het topicid meeposten?
eerst selecteren ofzow bijv $id = mysql_num_rows($sql); $id++; en dan opnieuw inserten...
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
# Selecteren uit db
$sql = 'SELECT * FROM forum_cat WHERE Cid = '.$Cid;
$res = mysql_query( $sql );
# Kijken of er resultaat is
if( mysql_num_rows( $res ) > 0 )
{
# Id bestaat, database gegevens fetchen
$data = mysql_fetch_array( $res );
# Kijken of er nog gepost mag worden
if( $data['post'] == 1 )
{
echo "<form method='post' action='?page=forum/newtopic&Cid=".$_GET['Cid']."'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td width=20%><b>Topic Titel</b>:</td>";
echo "<td width=80%><input type='text' name='titel'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=20%><b>Naam</b>:</td>";
echo "<td width=80%><input type='text' name='door'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=20%><b>E-mail</b>:</td>";
echo "<td width=80%><input type='text' name='email'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=20%><b>Bericht</b>:</td>";
echo "<td width=80%><textarea name='bericht' cols='40' rows='5'></textarea></td>";
echo "</tr>";
//knoppen
echo "<tr>";
echo "<td width=20%><b></b></td>";
echo "<td width=80%><input type='submit' name='verzenden' value='Plaats New Topic'></td>";
echo "</tr>";
echo "</table>";
echo "</form>";
}
else
{
echo "Er mogen <i>Geen</i> topics meer worden geopend in deze categorie!";
}
}
?>
# Selecteren uit db
$sql = 'SELECT * FROM forum_cat WHERE Cid = '.$Cid;
$res = mysql_query( $sql );
# Kijken of er resultaat is
if( mysql_num_rows( $res ) > 0 )
{
# Id bestaat, database gegevens fetchen
$data = mysql_fetch_array( $res );
# Kijken of er nog gepost mag worden
if( $data['post'] == 1 )
{
echo "<form method='post' action='?page=forum/newtopic&Cid=".$_GET['Cid']."'>";
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo "<tr>";
echo "<td width=20%><b>Topic Titel</b>:</td>";
echo "<td width=80%><input type='text' name='titel'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=20%><b>Naam</b>:</td>";
echo "<td width=80%><input type='text' name='door'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=20%><b>E-mail</b>:</td>";
echo "<td width=80%><input type='text' name='email'></td>";
echo "</tr>";
echo "<tr>";
echo "<td width=20%><b>Bericht</b>:</td>";
echo "<td width=80%><textarea name='bericht' cols='40' rows='5'></textarea></td>";
echo "</tr>";
//knoppen
echo "<tr>";
echo "<td width=20%><b></b></td>";
echo "<td width=80%><input type='submit' name='verzenden' value='Plaats New Topic'></td>";
echo "</tr>";
echo "</table>";
echo "</form>";
}
else
{
echo "Er mogen <i>Geen</i> topics meer worden geopend in deze categorie!";
}
}
?>
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
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if(isset($_POST['verzenden'])){ //Als er Post is gedrukt dan....
if($_POST['door'] == "" ){ // Checken of er een naam is ingevult..
echo "U heeft uw naam niet ingevult"; // Als dat niet zo is
}if($_POST['bericht'] == "" ){ // kijken of er wel een bericht is geplaatst
echo "U heeft geen bericht ingevult"; // Als dat niet zo is
}else{ // Anders Even de zooi toevoegen
$titel = $_POST['titel'];
$door = $_POST['door'];
$bericht = $_POST['bericht'];
$email = $_POST['email'];
$catid = $_GET['Cid'];
$hours = 7;
$datum = date('d-m-j G:i ', (time () + ($hours * 3600)));
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO forum_topics (id, titel, door, email, catid, bericht, datum, ip) VALUES ('', '$titel', '$door', '$email', '$catid', '$bericht', '$datum', '$ip')";
$query = mysql_query($sql) or die(mysql_error());
$act = "INSERT INTO forum_actief (topicid, topictitel, datum) VALUES ('".$_POST['id']."', '".$_POST['titel']."', '".$datum."')";
$query = mysql_query($act) or die(mysql_error());
echo "Uw topic is succesvol toegevoegt. U word doorbonden naar uw geplaatste topic <a href='?page=forum&id=".$_POST['id']."'>klik</a>";
}
}
?>
if(isset($_POST['verzenden'])){ //Als er Post is gedrukt dan....
if($_POST['door'] == "" ){ // Checken of er een naam is ingevult..
echo "U heeft uw naam niet ingevult"; // Als dat niet zo is
}if($_POST['bericht'] == "" ){ // kijken of er wel een bericht is geplaatst
echo "U heeft geen bericht ingevult"; // Als dat niet zo is
}else{ // Anders Even de zooi toevoegen
$titel = $_POST['titel'];
$door = $_POST['door'];
$bericht = $_POST['bericht'];
$email = $_POST['email'];
$catid = $_GET['Cid'];
$hours = 7;
$datum = date('d-m-j G:i ', (time () + ($hours * 3600)));
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO forum_topics (id, titel, door, email, catid, bericht, datum, ip) VALUES ('', '$titel', '$door', '$email', '$catid', '$bericht', '$datum', '$ip')";
$query = mysql_query($sql) or die(mysql_error());
$act = "INSERT INTO forum_actief (topicid, topictitel, datum) VALUES ('".$_POST['id']."', '".$_POST['titel']."', '".$datum."')";
$query = mysql_query($act) or die(mysql_error());
echo "Uw topic is succesvol toegevoegt. U word doorbonden naar uw geplaatste topic <a href='?page=forum&id=".$_POST['id']."'>klik</a>";
}
}
?>
</div>
dat is mijn newtopic.php.
@johan kan jij hem aanpassen snap namelijk niet echt wat je bedoelt.
Krijg je gewoon een query die er ongeveer zo uit ziet (even aanpassen aan je eigen kolomnamen enzo):
SELECT * FROM forum_topics ORDER BY lastpost DESC LIMIT 0, 25;
Het lijkt mij handig om bij forum_topics een extra kolom 'lastpost' ofzo bij te maken en bij een post op dat moment de datum ook in die tabel te wijzigen. Zo kun je eenvoudig de actieve topics ophalen, in dit geval de laatste 25.
(Je zou dit ook nog bij tabel forum_cat kunnen doen, zodat je bij het categorie overzicht net als bij Fok! of GoT een lampje ofzo voor de categorie kunt plaatsen of daar sinds het vorige bezoek nog in gepost is. Maar daarvoor moet je uiteraard weer het vorige bezoek ergens opgeslagen hebben...)