Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
09.01.2003, 10:47
Pregunter



Also es sieht folgendermaßen aus. Ich habe eine Datenbank und möchte gerne einen Benutzeroberfläche machen, die die Möglichkeit mit bringt, dass man einfach per klick auf einen Link ein Datenbank Feld löschen kann.

Also hier ist erst einmal die Datenbank Verwaltung die ich bisher gebaut habe:
http://www.bakb.net/db_verwaltung.php
Ich lese darin die DB aus und lasse die Daten hintereinander in eine Tabellenzeile eintragen. Jetzt wollte ich per mysql_query (DELETE FROM ...) hinten noch eine Zeile hinzufügen, die den Link zum löschen "mitbringt". Leider will er meine Zeile absolut nicht "akzeptieren", was mich sehr ärgert.

Habt ihr ne Idee, wie ich das machen kann? Ich poste hier einfach mal meinen Quelltext, vielleicht sieht einer meinen Fehler und ich muss sagen, ich mache das ganze erst seit ein paar Wochen und bin froh, dass meine Datenbank zumindest soweit funzt ;)

[QUOTE]
<?php
$db = @mysql_connect( "localhost","benutzername","pw" ); //hier Benutzer und PW einfügen
mysql_select_db("datenbank",$db);
$sql = "select vorname, nachname, DATE_FORMAT(datum,'%d.%m.%Y') datum, zeit, bild, gewicht from geburten order by vorname,nachname";

$ZeilenProSeite=15;
if(empty($Anfangsposition)) {
$Anfangsposition=0;
}

$ergebnis = mysql_query($sql, $db);
$Anzahl=mysql_num_rows($ergebnis);

$sql1="$sql limit $Anfangsposition,$ZeilenProSeite";
$sql=urlencode($sql);

echo "<table width='600' border='0' cellspacing='0' cellpadding='0'>";
echo '<tr><td bgcolor="#D3E2EC" width="47" height="20"><font size="1"><img src="bilder/blind.gif" width="3" height="1"><img src="bilder/Sitemap.gif" width="7" height="7" border="0"> Name</font></td>
<td bgcolor="#D3E2EC"></td>
<td bgcolor="#D3E2EC"><font size="1"><img src="bilder/Sitemap.gif" width="7" height="7" border="0"> Geburtsdatum</font></td>
<td bgcolor="#D3E2EC"><font size="1"><img src="bilder/Sitemap.gif" width="7" height="7" border="0"> Geburtszeit</font></td>
<td bgcolor="#D3E2EC"><font size="1"><img src="bilder/Sitemap.gif" width="7" height="7" border="0"> Gewicht</font></td>
<td bgcolor="#D3E2EC"><font size="1"><img src="bilder/Sitemap.gif" width="7" height="7" border="0"> Bild</font></td>
<td bgcolor="#D3E2EC"><font size="1"><img src="bilder/Sitemap.gif" width="7" height="7" border="0"> Zelle löschen</font></td></tr>';
$ergebnis = mysql_query($sql1);
$loeschen = mysql_query("DELETE FROM `geburten` WHERE \'Hans\' AND `nachname` = \'Wurst\'"); hier ist mein fehler versteckt denke ich -> $loeschen soll eigentlich die Funktion sein, mit der ich die Daten lösche [hab schon diverse Sachen versucht]
MYSQL_CLOSE($db);

echo "'.$loeschen'";

while ($zeile = mysql_fetch_array ($ergebnis))
{
echo " <tr>
<td height='5'> </td>
<td height='5'> </td>
<td height='5'> </td>
<td height='5'> </td>
<td height='5'> </td>
</tr>
<tr>
<td bgcolor='#FFFFFF' width='40' height='15'><img src='bilder/sitemap_pfeil.gif' width='9' height='7' align='right'></td>
<td bgcolor='#EFEFEF'><font size='1'><img src='bilder/blind.gif' width='5' height='1'>".$zeile['vorname']." ".$zeile['nachname']."</font></td>
<td bgcolor='#EFEFEF'><font size='1'>".$zeile['datum']."</font></td>
<td bgcolor='#EFEFEF'><font size='1'>".$zeile['zeit']."</font></td>
<td bgcolor='#EFEFEF'><font size='1'>".$zeile['gewicht']." g"."</font></td>
<td bgcolor='#EFEFEF'><font size='1'>";
if ($zeile['bild']!='/test') // Bildordner
{
$bildGroesse = getimagesize(dirname($PATH_TRANSLATED).$zeile['bild']);
$breite = $bildGroesse[0]+16;
$hoehe = $bildGroesse[1]+40;
$name = $zeile['vorname']." ".$zeile['nachname'];
echo "<a href=\"javascript:fenster('".$zeile['bild']."',".$breite.",".$hoehe.",'".$name."');\">Bild anzeigen</a>";
}
echo "</td></font><td bgcolor='#EFEFEF'><font size='1'>";
echo "<a href='$loeschen'>Eintrag löschen</a></td></font>";
}

echo "</table>";

?>
[/QUOTE]

ich hab jetzt das javascript für das Bild und den rest mal nicht gepostet, braucht ja auch eigentlich keiner. Ausserdem sind noch ein paar Codereste drin, die man eigentlich nicht braucht, die aber bei mehr als 30 Einträgen sinnvoll werden

--

zum Seitenanfang zum Seitenende Profil || Suche
001
09.01.2003, 14:04
Megge



beim besagten teil steckt tatsächlich auch der fehler
PHP-Quellcode:<?php
$loeschen 
mysql_query("DELETE FROM `geburten` WHERE \'Hans\' AND `nachname` = \'Wurst\'");
?>
das hist bedeutet, dass er alle Einträge löscht, bei denen 'Hans' gesetzt ist UND nachmename 'Wurst' ist.
der code müsste so sein:
PHP-Quellcode:<?php
$loeschen 
mysql_query("DELETE FROM `geburten` WHERE `vorname` = \'Hans\' AND `nachname` = \'Wurst\'");
?>

--


Dieser Beitrag wurde am 09.01.2003 um 14:05 von Megge bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
09.01.2003, 14:19
CN



PHP-Quellcode:<?php
$loeschen 
mysql_query("DELETE FROM `geburten` WHERE \'Hans\' AND `nachname` = \'Wurst\'");
...
echo 
"<a href='$loeschen'>Eintrag löschen</a></td></font>";
?>
ich fürchte du kannst die funktion nicht so aufrufen

--

zum Seitenanfang zum Seitenende Profil || Suche
003
09.01.2003, 14:42
Kriz



Hm, als webbasierten DB-Remoter empfehle ich nur PHPMyAdmin.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
004
09.01.2003, 14:52
CN



aber wies aussieht will er selbst einen schreiben (jeder hat seine gründe.. "erfahrungen sammeln" wäre zb einer)
warum postet er denn sonst hier?

--

zum Seitenanfang zum Seitenende Profil || Suche
005
09.01.2003, 14:55
Megge



wieso will eigentlich jeder immre das rad neu erfinden ?
ewnn er schon sachen austesten will, so rate ich ihm, soll er lieber ein forum oder sowas machen

--

zum Seitenanfang zum Seitenende Profil || Suche
006
09.01.2003, 14:59
CN



megge
wieder mal ein äusserst sinnvoller beitrag von deiner seite
da kann ich wirklich nur noch den kopf schütteln...
"mach lieber ein forum".. ein forum und ein tool zur mysqldb-administration sind 2 verschiedene sachen und man kann sicher nicht die gleichen erfahrungen machen

"es will eigentlich jeder immre das rad neu erfinden" weil es doch noch viele sachen gibt die besser sein könnten
und dann macht mans eben selbst.. andre haben einfach spass dran zu coden

aber andrer seits.. wieso soll man das rad neuerfinden wenn das thwb einem schon code bietet den man dann als seinen ausgeben kann, stimmts megge? o-O

--

zum Seitenanfang zum Seitenende Profil || Suche
007
09.01.2003, 15:48
Tubgirl



SCHLAGT EUCH!!!!!!!111111einseins

--

zum Seitenanfang zum Seitenende Profil || Suche
008
09.01.2003, 16:05
Fraghunter



also da will ich erstmal Kritik an deiner Datenbankstruktur äusern. Du solltest jedem Eintrag eine ID zuordnen, dann kannst du leichter editieren, und es ist sicher gestellt, dass auch immer das richtige editiert wird.

Also ich glaube dein Fehler sind einfach die "\" vor den " ' "
*g*

Und noch meine Meinung:
wieso das Rat neu erfinden?
Weil es vieleicht noch runder geht.

Wieso rechnen? Das gleiche hat jemand anderes doch sicher schonmal gerechnet...

--

Nihil timeo, nulla re opprimor, nulli periculo cedo.
www.TheDoenerKing.de


Dieser Beitrag wurde am 09.01.2003 um 16:06 von Fraghunter bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
09.01.2003, 16:12
Megge



he CN, nicht nur Nox, sondern auch mir gehst du auf die Eier !
wenn du ärger suchst, dann meld dich per PM, ansonsten lass deien scheiss Sticheleien.

Ich hab jetzt in den letzten 6 Monaten nicht EINEN unsinnigen Post gepostet und du kommst mir wieder mit so kack wie 'wie immer' und selber postest du nur Scheisse.

und kannst du mir bitte diesen Satz erklären ?

Zitat:
aber andrer seits.. wieso soll man das rad neuerfinden wenn das thwb einem schon code bietet den man dann als seinen ausgeben kann, stimmts megge
ich denke, dass sollte eine Anspielung auf den einten HTML-Teil einer PHPmässig zu 100% von mir entwickelten HP sein ? Falls ja; du hast schon wieder etwas nicht begriffen, aber das wundert mich ehrlich gesagt auch nicht, du bist erst 15.

btw, ich will doch nicht von dir den Satz erklärt haben, auf deine Streitsüchtigkeiten kann ich verzichten.

--

zum Seitenanfang zum Seitenende Profil || Suche
010
09.01.2003, 16:21
CN



Zitat:
he CN, nicht nur Nox, sondern auch mir gehst du auf die Eier !
geh kacken
wenn du nix anständiges aus deinem hirn kriegst brauchst du doch nicht zu posten
und in dem fall wars sinnlose kacke (abgesehen davon hats auch nichts mit dem thema zu tun)
ui scheisse aber jetzt hab ich ja bei dir verschissen .. uuuuh bitte nicht ~_°

Zitat:
Ich hab jetzt in den letzten 6 Monaten nicht EINEN unsinnigen Post gepostet
..denkst du

Zitat:
und selber postest du nur Scheisse.
"nääää garnich.. selber selber..."

ich erkläre ihn trotzdem

Zitat:
ich denke, dass sollte eine Anspielung auf den einten HTML-Teil einer PHPmässig zu 100% von mir entwickelten HP sein ?
nein sollte es nicht
aber wenn ich es aus der perspektive betrachte.... vielleicht doch
oder doch nicht?

ich bin erst 15.. richtig aber dir bin ich weit vorraus
danke ..das wort zum sonntag
und jetzt gehen wir wieder zum thema zurück denn pregunter ist sicher nicht erfreut wenn jemand meint hier seine "ehre" (wenn man das bei dir so nennen kann) verteidigen zu müssen

--


Dieser Beitrag wurde am 09.01.2003 um 16:22 von CN bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
09.01.2003, 16:45
Megge



gut, gehen wir zum thema zurück, pregunter zuliebe, aber das mit dem 'du bist mir weit voraus' vergessen wir ma lieber, ja ?

--

zum Seitenanfang zum Seitenende Profil || Suche
012
09.01.2003, 18:38
blair



Zitat:
Fraghunter postete
also da will ich erstmal Kritik an deiner Datenbankstruktur äusern. Du solltest jedem Eintrag eine ID zuordnen, dann kannst du leichter editieren, und es ist sicher gestellt, dass auch immer das richtige editiert wird.
das sei mal dahingestellt...

keine mir bekannte nf fordert numerische schlüssel...
solange du an deinem key einen tupel eindeutig identifizieren kannst, is es egal ob der schlüsselinhalt '23' oder 'fnord' is...

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
013
09.01.2003, 18:40
Fraghunter



mein Gott... Da erzählen sie was von alter, und weit vorraus, und benehmen sich wie die kleinen Kinder.

--

Nihil timeo, nulla re opprimor, nulli periculo cedo.
www.TheDoenerKing.de

zum Seitenanfang zum Seitenende Profil || Suche
014
09.01.2003, 18:52
Megge



lol entschuldige ma, aber ich hab hier ganz im Sinne des Forums was gepostet und ihm damit helfen wollen. Desweiteren hab ich in einem zweiten Post eine persönlihe Frage an alle gestellt und darauf werde ich grundlos von CN attackiert..! was will ich da machen ? Ich weiss, ich bin manchmal ein kleines ego, welches mir 'nicht erlaubt', dass mich jemand beleidigt.

--

zum Seitenanfang zum Seitenende Profil || Suche
015
09.01.2003, 19:18
Pregunter



ahh endlich ;) hatte meine email adresse geändert und das thwboard kam nicht hinterher und somit musste ich warten und warten und hab mir das hier angesehen. also ich kenne die vorgeschichte ja nicht, aber freundlich geht ihr ja nicht miteinander um... naja zum thema:

ich will gar nicht das rad neu erfinden ;) [ok vielleicht doch, aber nicht hier] - es geht nur darum, dass das, was ich hier schreiben wollte, jemandem im krankenhaus zur verfügung gestellt wird, den man durchaus als DAU bezeichnen kann und wir wollen halt nicht, dass die Leute in der Datenbank "rumfuschen", weil das ganze nicht gut ausgehen könnte. aber sie soll trotzdem selber datenbankeinträge löschen können, weil wir wahrscheinlich sonst nicht aus dem "berichtigen" der fehler rauskommen würden.
also wenn ihr ne einfachere möglichkeit seht, ich würde mich sehr darüber freuen. bisher ist mir noch nichts dazu eingefallen...

--

zum Seitenanfang zum Seitenende Profil || Suche
016
09.01.2003, 20:16
Fraghunter



wie gesagt
ich glaube, dass dein Problem hier liegtPHP-Quellcode:<?php
$loeschen 
mysql_query("DELETE FROM `geburten` WHERE \'Hans\' AND `nachname` = \'Wurst\'");
?>
richtig wärePHP-Quellcode:<?php
$loeschen 
mysql_query("DELETE FROM `geburten` WHERE `vorname` = 'Hans' AND `nachname` = 'Wurst'");
?>
@Blair
oh, sry, hatte deinen Eintrag ganz übersehen.
Selbstverständlich ist es theoretisch egal, aber vor und nachname sind doch nicht so gut geeignet, da ja auch 2 Leute gleich heisen könnten :/
Auserdem hast du bei einer ID die minimale Datenmenge im Request.

--

Nihil timeo, nulla re opprimor, nulli periculo cedo.
www.TheDoenerKing.de


Dieser Beitrag wurde am 09.01.2003 um 20:27 von Fraghunter bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
017
10.01.2003, 00:26
Pregunter



Zitat:
Fraghunter postete
Selbstverständlich ist es theoretisch egal, aber vor und nachname sind doch nicht so gut geeignet, da ja auch 2 Leute gleich heisen könnten :/
Auserdem hast du bei einer ID die minimale Datenmenge im Request.
ja ist richtig, aber ich habe bei der löschfunktion einfach erst einmal nur vor- und nachname als löschfunktion eingetragen, weil ich am testen war. im endeffekt gibt es fünf felder pro datenbankeintrag und somit ist es ziemlich eindeutig - aber grundsätzlich hast du recht: ne id schadet eigentlich nie, werde ich bei meiner zweiten datenbank auf jeden fall hinzufügen! nur das jetzt umzubauen, wäre ein riesen haufen arbeit ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
018
10.01.2003, 13:45
blair



Zitat:
Fraghunter postete
oh, sry, hatte deinen Eintrag ganz übersehen.
Selbstverständlich ist es theoretisch egal, aber vor und nachname sind doch nicht so gut geeignet, da ja auch 2 Leute gleich heisen könnten :/
Auserdem hast du bei einer ID die minimale Datenmenge im Request.
naja, über den sinn von mehrelementigen schlüsseln lässt sich streiten (iirc verbietet bcnf sowas sogar)...
aber es gibt durchaus fälle wo auf id's verzichten kannst:
z.b. eignet sich der username in nem forum (mehrere gleichnamige user währen kontraproduktiv) oder evtl. ne emailadresse (wobei das etwas abstrakt ist, mehrfachanmeldungen werden zwar ausgeschlossen, aber was is mit mehreren leuten die die gleiche email adresse benutzen und sich im selben bbs anmelden)

du darfst die frage nach dem primärschlüssel nich pauschalisieren, sonst baust du dir ganz schnell redundanz rein

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche