records verwijderen/toevoegen
Hieronder staat de code weergegeven.
het bestaat uit 2 bestanden news_list.php en news_new.php
Als ik nu een bericht wil verwijderen hoor ik een pop-upje te krijgen dat het bericht verwijderd is. Ik krijg alleen niets te zien, hij herlaad de pagina gewoon en er is niets veranderd. Hetzelfde gebeurd wanneer ik een bericht probeer toe te voegen via news_new.php.
Wie kan me verder helpen?
----news_list.php---
<html>
<BODY>
<HR>
<font color="Blue" face="Arial" size="4">
<B><center>Het Laatste Nieuws (Beheer)</center></B></font><HR>
<font color="Blue" face="Arial" size="3">
<center><b><a href="news_new.php">plaats nieuw bericht</a></b></center>
</font><HR>
<p>
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
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
<?php
// verbinding MYSQL, weergeven
$db = mysql_connect("localhost", "gebruikersnaam", "wachtwoord") or die ("verbinding mislukt");
mysql_select_db("triotters_nl", $db);
$news_SQL = "SELECT * FROM laatstenieuws ORDER BY nieuws_datum DESC";
$news_result = mysql_query($news_SQL);
while($news = mysql_fetch_array($news_result)) {
if($action == "delete") {
// Er is op de hyperlink verwijderen geklikt: record verwijderen
$news_ID = $news['news_ID'];
$news_SQL_del="DELETE * FROM laatstenieuws WHERE news_ID='$news_ID'";
$bool=mysql_query($news_SQL_del);
if($bool==1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Het bericht is verwijderd !')</SCRIPT>";
if($bool<>1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Er is een fout opgetreden bij het verwijderen !')</SCRIPT>";
}
if($action == "insert") {
$nieuws_afzender = $_POST['nieuws_afzender'];
$nieuws_bericht = $_POST['nieuws_bericht'];
$nieuws_datum = $_POST['niews_datum'];
$nieuws_kop = $_POST['nieuws_kop'];
// regeleinden omzetten
$nieuws_bericht = nl2br($nieuws_bericht);
$nieuws_bericht = eregi_replace("\n", "", $nieuws_bericht);
$news_SQL_insert = "INSERT INTO laatstenieuws (nieuws_kop, nieuws_datum, nieuws_afzender, nieuws_bericht)
VALUES ('$nieuws_kop','$nieuws_datum','$nieuws_afzender','nieuws_bericht')";
$bool = mysql_query($news_SQL_insert);
if ($bool == 1) echo "<SCRIPT LANGUAGE=Javascript>window.alert('Het bericht is toegevoegd.')</SCRIPT>";
if ($bool <> 1) echo "<SCRIPT LANGUAGE=Javascript>window.alert('Er is een fout opgetreden bij het toevoegen.')</SCRIPT>";
}
?>
// verbinding MYSQL, weergeven
$db = mysql_connect("localhost", "gebruikersnaam", "wachtwoord") or die ("verbinding mislukt");
mysql_select_db("triotters_nl", $db);
$news_SQL = "SELECT * FROM laatstenieuws ORDER BY nieuws_datum DESC";
$news_result = mysql_query($news_SQL);
while($news = mysql_fetch_array($news_result)) {
if($action == "delete") {
// Er is op de hyperlink verwijderen geklikt: record verwijderen
$news_ID = $news['news_ID'];
$news_SQL_del="DELETE * FROM laatstenieuws WHERE news_ID='$news_ID'";
$bool=mysql_query($news_SQL_del);
if($bool==1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Het bericht is verwijderd !')</SCRIPT>";
if($bool<>1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Er is een fout opgetreden bij het verwijderen !')</SCRIPT>";
}
if($action == "insert") {
$nieuws_afzender = $_POST['nieuws_afzender'];
$nieuws_bericht = $_POST['nieuws_bericht'];
$nieuws_datum = $_POST['niews_datum'];
$nieuws_kop = $_POST['nieuws_kop'];
// regeleinden omzetten
$nieuws_bericht = nl2br($nieuws_bericht);
$nieuws_bericht = eregi_replace("\n", "", $nieuws_bericht);
$news_SQL_insert = "INSERT INTO laatstenieuws (nieuws_kop, nieuws_datum, nieuws_afzender, nieuws_bericht)
VALUES ('$nieuws_kop','$nieuws_datum','$nieuws_afzender','nieuws_bericht')";
$bool = mysql_query($news_SQL_insert);
if ($bool == 1) echo "<SCRIPT LANGUAGE=Javascript>window.alert('Het bericht is toegevoegd.')</SCRIPT>";
if ($bool <> 1) echo "<SCRIPT LANGUAGE=Javascript>window.alert('Er is een fout opgetreden bij het toevoegen.')</SCRIPT>";
}
?>
<table width="670" border="0" cellspacing="0" cellpadding="0" align="center">
<TR><TD>
<span class="kleiner"><b><p></b>
</td></tr>
<tr><td>
<span class="kleiner"><p></span>
</td></tr>
<tr><td>
<span class="kleiner">
</span>
Code (php)
</td></tr>
<table width=250>
<tr><td>
bewerken
</td><td><a href="news_list.php?action=delete&news_ID=">verwijderen</a>
</td></tr></table>
<table>
<tr><td>
<hr width="670" size="1" noshade>
</td></tr></table>
</table>
</body>
</hmtl>
---news_new.php---
<html>
<head>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<TABLE width="670">
<TR>
<TD>
<center><font face="Arial" Size="4" color="red">
News_new</font></center>
</td></TR></TABLE>
<center>
<HR>
<font color="Blue" face="Arial" size="3">
<b>plaats hier het bericht</b><HR></font>
<p>
<font face="Arial" size="2">
<form action="news_list.php?action=insert" method="post">
<p>
<b>Afzender:</b> <br>
<input name="nieuws_afzender" type="text" size="40">
</p>
<p>
<b>berichttitel:</b><br>
<input name="nieuws_kop" type="text" size="40">
</p>
<p>
<b>Datum/tijd:</b><br>
<input type="text" name="nieuws_datum" value="" size="19" maxlength="19">
<input type="hidden" name="action" value="insert">
</p>
<p>
<b>Uw bericht:</b> <br>
<textarea name="nieuws_bericht" rows="8" cols="40"></textarea>
</p>
<p>
<input type="submit" name="submit" value="Verstuur" title="Verstuur uw bericht">
</p>
</form>
<HR>
</font>
</body>
</html>
Dit was ik idd vergeten. Er waren ook nog wat andere kleine foutjes.. :S
Maar nu kan ik wel een bericht toevoegen maar het verwijderen nog niet lukken. Ik krijg wel de melding dat het bericht verwijderd is maar als ik dan doorklik zie ik niets veranderd. Ook niet als ik de pagina opnieuw laadt.
ik gebruik de volgende code:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if($action == "delete") {
// Er is op de hyperlink verwijderen geklikt: record verwijderen
$news_SQL_del="DELETE FROM laatstenieuws WHERE news_ID='$news_ID'";
$bool = mysql_query($news_SQL_del);
if($bool == 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Het bericht is verwijderd !')</SCRIPT>";
if($bool <> 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Er is een fout opgetreden bij het verwijderen !')</SCRIPT>";
}
?>
if($action == "delete") {
// Er is op de hyperlink verwijderen geklikt: record verwijderen
$news_SQL_del="DELETE FROM laatstenieuws WHERE news_ID='$news_ID'";
$bool = mysql_query($news_SQL_del);
if($bool == 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Het bericht is verwijderd !')</SCRIPT>";
if($bool <> 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Er is een fout opgetreden bij het verwijderen !')</SCRIPT>";
}
?>
en de verwijderlink:
<a href="news_list.php?action=delete&news_ID=">verwijderen</a>
Gewijzigd op 01/01/1970 01:00:00 door wesley
Persoonlijk zou ik zoiets doen:
<input type="checkbox" name="delete[]" value="'.$idnummer.'">
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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(!empty($_POST['delete']))
{
$i = 0;
$ii = 0;
foreach($_POST['delete'] as $id)
{
$query = "DELETE FROM tabel WHERE id=".mysql_real_escape_string($id)."";
$resultaat = mysql_query($query);
if($resultaat && (mysql_affected_rows() == 1))
{
$i++;
}else{
$ii++;
}
}
echo '<p>De database is geupdate, er zijn '.$i.' records goed verwijderd en '.$ii.' mislukt!</p>';
}
}
?>
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(!empty($_POST['delete']))
{
$i = 0;
$ii = 0;
foreach($_POST['delete'] as $id)
{
$query = "DELETE FROM tabel WHERE id=".mysql_real_escape_string($id)."";
$resultaat = mysql_query($query);
if($resultaat && (mysql_affected_rows() == 1))
{
$i++;
}else{
$ii++;
}
}
echo '<p>De database is geupdate, er zijn '.$i.' records goed verwijderd en '.$ii.' mislukt!</p>';
}
}
?>
news_ID is zegmaar een uniek nummer voor het bericht.
Wat jij dus $id noemt.
De query zou dan dus zijn.
"DELETE FROM laatstenieuws WHERE news_ID=".mysql_real_escape_string($news_ID)."";
Hierbij krijg ik echter ook de melding dat hij het bericht heeft verwijderd. Alleen na een paar keer verversen blijft het bericht toch staan..
Stomme fout, variabele verkeerd hernoemd..
Vond het al vreemd ;P
Ik raad je ook af om dingen als hoofdletters te gebruiken... ik heb een jaartje in Java geprogrammeerd en het duurde vrij lang voordat ik daar vanaf was...