"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Bestätigung von Löschen mittels Javascript

grOOvekill@ 23.11.2003 - 19:49 805 13
Posts

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
AAAARGL!!!

Mann, ich werd' noih bekloppt! Ich versuch seit Stunden eine Bestätigung für das Löschen eines Datensatzes in einem PHP Skript zu basteln und das Ding schei**t mir was!

Hier mal mein ursprünglicher Code, wo bei einem Klick auf den Löschen Link der Datensatz gleich ohne Rückfrage gelöscht wird:
Code: PHP
elseif ($delete){
$sql = "DELETE FROM kundendb WHERE id=$id";
$result = mysql_query($sql);
echo ("Kunde $name gelöscht!");?>
}

Okay. Nun hab ich einfach sowas eingebaut:

Code: PHP
elseif ($delete){?>
<script type='text/javascript'>
<!--
Check = confirm("Soll der Kunde wirklich gelöscht werden?");	
if(Check == false) history.back();
   else {
     <?$sql = "DELETE FROM kundendb WHERE id=$id";?>
}
//-->
</script><?php
$result = mysql_query($sql);
echo ("Kunde $name gelöscht!");
}

Das Lustige ist: Auch wenn ich auf ABBRECHEN klicke, wird der betreffende Datensatz gelöscht. :confused:
Abgesehen davon wird beim Löschen nur Kunde gelöscht angezeigt und nicht Kunden Maier gelöscht.

Wär echt super, wenn mir da einer ein paar virtuelle Klapse auf den Hinterkopf geben könnte, ich komm' einfach nicht mehr weiter!
Bearbeitet von grOOvekill@ am 23.11.2003, 22:48

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
php kannst du in der art nicht mit javascript verknüpfen, weil alle php teile ausgeführt werden, unabhängig davon ob die javascript schleifenbedingung zutrifft oder nicht. der php code wird vor dem javascript ausgeführt, weil eben php am server und javascript am client ausgeführt wird.

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
Ach du meine Fresse! Richtig, da war ja was in der Richtung. Hm.. Wie kann ich das dann am besten lösen? Irgendeine Idee? Ich hätt halt gerne ein Popup gehabt wo man entweder auf Ja oder Abbrechen klickt.

crashman

OC Addicted
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 891
naja du kannst ja ein popup mit 2 "normalen" hmtl Form Buttons machen wo der eine halt auf deine verarbeitungsseite weiterleitet und dort das sql startet und der andere zurück zum Index verweist.

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
Code:
<A href="#" onclick="if (confirm('willst du wirklich löschen?')) window.location='deletethis.php?what=33'">loeschen</a>

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
Mann, heute kann ich's wieder, ehrlich! Mal was ganz anderes, das aktuelle Problem tu ich später ändern. Danke übrigens atrox, dein Link sieht ganz gut aus. :)

Ich hab mittels eines PHP Skripts folgende mysql query abgesetzt:
$result = mysql_query("Select count(*) from kundendb",$db);

Nur...

Ich komm nicht an die Anzahl der Datensätz ran. Hab's mir fetch_array und Konsorten probiert, aber ich bekomme die genaue Anzahl einfach nicht raus. welche mysql Funktion muß ich da verwenden?

Biddebiddebiddebiddebidde! :)

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
Okay, jetzt hab ich's kapiert! Ich hab versucht mittels count(*) die Anzahl zu bekommen, aber num_rows übergibt mir automatisch die komplette Anzahl! Alles klar!

Danke trotzdem!

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
benutze einen column-alias, damit du nach dem sql-statement auch einen namen hast, über den du das feld ansprechen kannst...
also zb:
select count(*) anzahl from tablename

dann kannst du über den column-name "anzahl" den wert erlangen (oder du machst es über den index)

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Krass, ich dachte immer das muss "COUNT(*) AS anzahl" heissen; kann man aber wirklich weglassen. Hm.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
ohne dem AS ist typischer oracle style
mysql versteht wie die meisten heute einfach beides (bei tables und bei columns afaik)
obs zum letzten sql standard gehoert beides zu erlauben weiss ich auch nicht

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
erwischt, man merkt mir meinen oracle background an :))

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2301
Zitat von atrox
erwischt, man merkt mir meinen oracle background an :))

Deinen Oracle Background?
WO WARST DU VOR EINIGEN WOCHEN, ALS ICH EIN PL/SQL PROJEKT FETIGSTELLEN MUSSTE?!?!?!?!?!?!?!?!?!

:D:D

Nein, hab's auch so ganz gut gelöst. Danke nochmal an alle, die mir bei diesem Problem geholfen haben.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
in sicherer deckung, tarnung und entfernung
wie jeder der mal von einem geisteskranken damit gequaelt wurde

ich sag nur
"sql standard? was soll das sein? im endeffekt gibt es nur oracle"
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz