• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mit ajax Parameter übergeben und in einer Datei für sql dalete verwenden

andynail

Mitglied
Hallo zusammen

ich will nicht alle Umgebungseingenschaften in Variablen speichern. Und da in den Parametern der in einem iframe aufgeruften Datenseite auch Umlaute und Leerzeiche stehen, verschlüssel ich diese mit urlencode. Dies funktioniert auch einwandfrei. Aber ich würde aber gerne per ajax Links löshen können:

Code:
$[COLOR=#ff0000].[/COLOR]ajax({
   [COLOR=#404000]type[/COLOR]: [COLOR=#800080]"POST"[/COLOR],
      [COLOR=#404000]url[/COLOR]: [COLOR=#800080]"DelLink.php"[/COLOR],
   [COLOR=#404000]data[/COLOR]: top[COLOR=#ff0000].[/COLOR]AktuelleSeite [COLOR=#ff0000]+[/COLOR] [COLOR=#800080]" &id= "[/COLOR] [COLOR=#ff0000]+[/COLOR] LinkIds,
   success: [COLOR=#808000]function[/COLOR]() {}
 });
}

Und in der php Seite befindet sich der Code:

parse_str($site, $Parameter);
$Liste = $Parameter['Index'];
$Liste = explode(";", $Liste);

$db = $Parameter['db'];
$tab = $Parameter['table'];

$verbindung=mysql_connect($server, $user, $password) or
die("Es konnte keine Datenbankverbindung hergestellt werden.");
mysql_select_db($db, $verbindung) or
die("DB kann nicht ausgewählt werden.");


while ($i < count($Liste))
{
$IDs = $Liste[$i];
mysql_query("DELETE FROM `link cache` WHERE ID = 284");
$i = $i + 1;
}
mysql_close($verbindung);

Aber es will nix passieren und ich finde auch keine Möglichkeit nach Fehlern suchen zu können.

Und somit würde ich mich über Eure Hilfe sehr freuen.

Danke Gruß Andreas
 
Ich weiß ja jetzt nicht, was sich hinter der ajax-Funktion abspielt, daher kann ich hier nur raten. Ich denke mal, dass bei "success" eine Variable mit dem responseText zurückgegeben wird. Daher kannst du eigentlich die Fehlermeldungen in deiner PHP-Datei ausgeben lassen, in dein Script zurückgeben und dann ansehen.
Was ich jetzt so leicht vermuten würde, wäre, dass MySQL gegebenenfalls mit Leerzeichen in Datentabellen-Namen meckert... Ich gehe auch davon aus, dass du irgendwo noch $Parameter als $_REQUEST deklarierst.
Mal sehen, ob dir das hilft. ;D

Mit freundlichen Grüßen,


DarkDragon1993
 
Mit Firebug können die Rückgaben von Ajax-Requests eingesehen werden.

- Firebug

Vermutlich wäre es zudem möglich, DelLink.php mit entsprechenden Parametern von Hand als URL im Browser aufzurufen, um die Rückgabe zu testen.
 
Fehlermöglichkeiten:

* "while ($i < count($Liste))" - Ist $i deklariert worden ( $i = 0 ) ? Was enthält count($Liste) ?

* "mysql_query("DELETE FROM `link cache` WHERE ID = 284");" - Existiert die Tabelle "link cache" ? Existiert der Eintrag mit der ID 284 ?

Vorschläge:

* "mysql_query("DELETE FROM `link cache` WHERE ID = 284");" -> "mysql_query("DELETE FROM `link cache` WHERE ID = 284") or die("Fehler beim Loeschen!");"

* Die PHP Datei die geladen wird aufrufen.. erscheint ein leeres Bildschirm, sollte es funktioniert haben, ansonsten siehst du ja die Fehlermeldung, die du bitte uns mitteilst! Ansonsten versuch den SQL Befehl mal im PHPMyAdmin im SQL bereich einzugeben.
 
Hallo

ich hatte schon mal diese Zeile in die Browserleiste engegebebn und da geschah alles. Das ich hier den Wert 284 schreibe, dafür muß ich mich entschuldigen. Der Wert wird ja als LinkIds übergeben und da kann ich mir ja per alert anzeigen lassen wie der Index des markierten Elements lautet. Und dieser passt. Es sieht für mich aus als ob überhaupt nix passieren würde. Wie man sich Rückmeldungen ansehen kann, da habe ich bisher nix gefunden. Und das änderte bisher auch nicht Firebug.

Gruß Andreas
 
Zurück
Oben