Einträge einzeln via Button löschen und doppelte filtern.
Indyaner
- datenbank
0 David Tibbe0 Sebastian
Hi
zuerst einmal das mit dem doppelte einträge filtern:
Ich habe eine DB die PRODUKT heisst... in ihr ist eine Tabelle mit dem namen ARTIKEL_NR
Um auszuschliessen dass durch meine Hinzufüg-Maske doppelte Dinge reinkommen wollte ich einfach sagen dass er die ARTIKEL_NR nach solchen einträgen druchsucht die er gerade hochladen soll:
start-------------------
$connect = mysql_connect($host,$user,$password);
$result = mysql_query("select * from produkt where artikel_nr = '$artikel_nr'");
if ( mysql_num_rows($result)==0 ) { // Zeile 27
$addieren = "INSERT INTO produkt (artikel_nr,bezeichnung,beschreibung,preis) VALUES ('$HTTP_POST_VARS[artikel_nr]','$HTTP_POST_VARS[bezeichnung]','$HTTP_POST_VARS[beschreibung]','$HTTP_POST_VARS[preis]')";
mysql_db_query("dataindy",$addieren);
$number = mysql_affected_rows();
if($number < 0){
echo mysql_error();
}
}
end---------------------
Doch da sagt er mir diesen Fehler:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/htdocs/dataindy/hinzu.php on line 27
Nun zum löschen:
Wie kann ich das machen dass ich ein Formbutton setze und ich sage "Auf klick lösche den Datensatz hier". Ich habe eine ausgabe gemacht und hinter jedem ein LÖSCHEN-Button gesetzt.
Ich will also sagen (Der Button heisst entfernen):
start-------------------
if($entfernen) {
//???
}
end---------------------
Ich weiss nicht wie ich das tuen soll!
ciao
Hallo
Zum Ersten:
ein Link in die FAQs:
11.19. Wie verhindere ich mehrfaches Absenden eines Formulars?
http://www.dclp-faq.de/q/q-formular-mehrfach.html
Und du kannst die Tabellenspalte als "unique" definieren, dass heißt, dass jeder Wert nur ein Mal vorkommen darf. Somit kannst du nicht zwei Mal das gleiche Produkt hinzufügen weil die ja den gleichen Namen bzw. gleiche Artikelnummer haben.
Das steht beschieben im MySQL-Handbuch
http://www.mysql.de/doc/de/CREATE_TABLE.html
und zum Zweiten:
http://www.mysql.de/doc/de/DELETE.html
Dort steht, wie du Datensätze mit der DELETE-Anweisung lösct. Musst sie dann halt nur entsprechend anpassen.
Grüße
David
[snip] "INSERT INTO produkt (artikel_nr,bezeichnung,beschreibung,preis) VALUES ('$HTTP_POST_VARS[artikel_nr]','$HTTP_POST_VARS[bezeichnung]','$HTTP_POST_VARS[beschreibung]','$HTTP_POST_VARS[preis]')";
[snip]
Doch da sagt er mir diesen Fehler:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/htdocs/dataindy/hinzu.php on line 27
kann ich mir gut vorstellen... soweit ich weiß, lässt PHP Strings, die in einfachen Hochkommata stehen (') unangetastet, so dass du also ---$HTTP_POST_VARS[artikel_nr]--- als String an mySql übergibst...
Weiterhin brauchst du eigentlich in deinem Fall eigentlich um die $HTTP... keine Anführungszeichen zu setzen, da du ja eh nichts verkettest...
Ich weiss nicht wie ich das tuen soll!
Ich auch nicht genau...
_______________________
Mit freundlichen Grüßen
Sebastian