Ausführen eines Scriptes durch javascript confirm in PHP

marvinlol

Erfahrenes Mitglied
Hallo zusammen,

mein Problem ist folgendes:

Ich möchte vor dem News löschen eine Bestätigung durch javascript ausgeben, um wenn "OK" gedrückt wurde den Löschvorgang der jeweiligen News-Id einzuleiten.

Das bestätigen klappt auch aber wenn dann eine bestimmte Id und der dazu gehörige Datensatz gelöscht werden soll, wird immer die news gelöscht, mit der kleinsten vorhandenen Id..

Also angenommen ich habe die News Id´s

38, 40, 47

und ich klicke bei der News mit der Id 40 auf Löschen und anschließend auf "OK" dann wird die News mit der Id 38 gelöscht. - Warum auch immer.

Mein Code sieht wie folgt aus:

PHP:
while ($row = mysql_fetch_array($result))        
{

if($admincheck == true)//Adminabfrage Edit/Del Buttons
{  
?>
<script type="text/javascript">
  
function confirmation2() {
	var answer = confirm("Möchten Sie die News wirklich löschen?")
	if (answer){
		window.location = "index.php?site=news&action=del&id=<?php echo $row['id']; ?>";
	}
	else{}
}
</script>

<?
$adminaction = "<a href='index.php?site=news&action=edit&id=".$row['id']."'><img src='images/button_edit.gif' border='0'></a><a href='javascript:confirmation2()'><img src='images/button_edit.gif' border='0'></a> "; 
} 
		else {$adminaction="";
} 

echo "Autor: ".$row['autor']."<br />";
echo "Titel: <b>".$row['titel']."</b><br />";
echo "Datum: ".$row['datum']."<br /><br />";
echo "News: <br />".$row['text']."<br /><br />$adminaction<hr style=\"color: #000000;\" >";
}

(ich weiß, ist sehr unsauber programmiert aber naja :p)

Ich hoffe Ihr helft mir !
 
Code:
function confirmation2() { 
    var answer = confirm("Möchten Sie die News wirklich löschen?") 
    if (answer){ 
        window.location = "index.php?site=news&action=del&id=<?php echo $row['id']; ?>"; 
    } 
    else{} 
}

Das passiert wegen dieser Zeile hier.
Du hast diese Javascript Funktion in einer Schleife und diese wird nun (in deinem Beispiel) 3 mal mit einer anderen ID erstellt und überschreibt sich immer wieder (oder gar nicht, weiß nicht so genau - der Effekt bleibt der selbe).
Es kann aber immer nur eine Funktion von diesen 3en gültig sein und diese wird ausgeführt.

Am einfachsten ist es, wenn du alle Datensätze in einem Formular mit Checkbox ausgibst und "onsubmit" diese JS Überprüfung ausführst - hier sollte die Funktion aber auch nur einmal angegeben sein.

Oder du übergibst die Variable direkt an die JS Funktion.


lg Simon
 
Zurück