WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   $_get (http://www.wcm.at/forum/showthread.php?t=157473)

suRe 31.01.2005 13:32

$_get
 
hab da nochmal ne frage, also ich habe eine datei:

news.php in der folgender link vorhanden ist:

PHP-Code:

echo "<td>

<a href=\"#\" onClick=\"window.open('news_delet.php?identifikation=$ide', 'popup', 'toolbar=0,width=600,height=400')\">News löschen</a></p></td>"


wie Ihr sehen könnt ruft es die Datei news_delet.php auf und übergibt Ihr den wert der ID.....

hier die news_delet.php Datei:

PHP-Code:

<?
if(isset($_GET['identifikation'])) 
{   

$host mysql_connect($server$user$pass);

$anweisung "DELETE FROM news WHERE ID = '".$_GET['identifikation']."' ";
$querry mysql_query ($anweisung);

     


else 
{        
echo 
"Es ist ein Fehler aufgetretten, der Datensatz konte nicht geklöscht werden.";    
}

error_reporting(E_ALL);
?>

nun funktioniert aber die ganze geschichte nicht wie Sie sollte. Kann mir kurz jemand einen Tipp geben?
PS: das script selber gibt keinen Feheler aus, aber die News werden auch nicht gelöscht.

AlexanderFX 31.01.2005 13:37

gib mal bitte eine beispiel url wie sie dann im browser steht wenns geht
i seh so auch keinen fehler beim ersten durchblicken

am besten du probierst mal die variablen auszugeben und schaust welche werte sie haben

probier mal

PHP-Code:

mysql_db_query"datenbank" $anweisung); 


suRe 31.01.2005 13:43

ok der browser zeigt folgendes an:


http://**********/news_delet.php?identifikation=3


komisch ist ich kann die Variabel ohne wietere Probleme aufrufen und es wird mir auch der richtige ID Wert zurückgegeben.

T.dot 31.01.2005 13:53

Du kannst das ganze ja mal als direkte URL ohne
onClick=\"window.open( ...
probieren.

Außerdem wärs möglich, dass du die einfachen Anführungszeichen auf mit \' verstehen musst.

Dann kannst du noch probieren mit
$_REQUEST['identifikation']

oder einfach mal ausgeben, ob in dem $_GET... was drinnensteht.

Vielleicht dürfen auch die Variablen nicht zu lang sein (nimm id statt identifikation)

ja und sonst hab ich auch grad keinen Plan...

mfg T.

suRe 31.01.2005 14:01

hmm funktioniert alles nicht, ausser das ich "id" aufrufen und den wert ausgeben kann, aber gelöscht werden/wird der Datensatz nicht.

T.dot 31.01.2005 14:08

hier liegt wohl der fehler:

$anweisung = "DELETE FROM news WHERE ID = '".$_GET['identifikation']."' ";

id ist ne zahl, oder? warum setzt du ihn dann unter Anführungszeichen?
also probiers so:
$anweisung = "DELETE FROM news WHERE ID = " . $_GET['identifikation'];

du kannst ja auch einfach mal die sql-anweisung ausgeben lassen, kopieren und in mysql ausführen, dann kriegst eh ne fehlermeldung

mfg Thomas

suRe 31.01.2005 14:12

Yes danke T.dot jetzt funktioniert die ganze geschichte!!!

mersi aus der schweiz :D

suRe 31.01.2005 14:27

Jetzt stellt sich mir aber gleich nochmals ne frage...

wen ich nun einen Datensatz aus der DB delete, wird er ohne Probnleme gelöscht, doch ist es nun auch möglich, das es die ID wieder von 1 bis x aufbaut...

Momentan nach dem löschen

ID 1
ID 2
ID 4
ID 7

Ich möchte aber nach dem deleten wieder:

ID 1
ID 2
ID 3
ID 4

T.dot 31.01.2005 14:37

ist deine ID ein Autowert? Weil dann gehts nicht.

IDs sollte man sowieso nie ändern, weil falls du diese ID irgendwann mit was anderem verknüpfst und löscht sie raus passt ja nix mehr zusammen.

Direkt per SQL wüsste ich aber sowieso nix, einfach in php ne schleife machen und jeden Datensatz updaten.

suRe 31.01.2005 14:41

jep di ID ist bei mir

ID SMALLINT AUTO_INCREMENT PRIMARY KEY,

..ehm dan würdest du dies lassen so wie es bis anhin ist oder wie?


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag