ilch Forum » Allgemein » HTML, PHP, SQL,... » Löschen von Teilen aus Datenbankfeldern

Geschlossen
  1. #1
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Ich brauche Hilfe in einer etwas kniffligen Sache!

    Sachverhalt:
    Ich habe 3 Felder in der Datenbank welche wie folgt aussehen:

    Feld1 [ |Runde1|Runde2|Runde3 ... ]
    Feld2 [ |Bild1|Bild2|Bild3 ... ]
    Feld3 [ |Info1|Info2|Info3 ... ]

    Welche mir die Informationen ausgeben:

    Runde1 mit Bild1 und Info1
    Runde2 mit Bild2 und Info2
    Runde3 mit Bild3 und Info3

    Problem:
    Das Speichern und das Ausgeben der Informationen (per explode & foreach) funktioniert!

    Doch wie kann ich es bewerkstelligen, wenn ich eine bestimmte Runde löschen will, also zB. nur Runde 2 mit den zugehörigen Bild2 und Info2 aus den anderen Feldern?
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    assault Hall Of Fame
    Registriert seit
    03.11.2006
    Beiträge
    2.925
    Beitragswertungen
    1 Beitragspunkte
    mach doch noch ein feld, nenn es "id", setzt einen primärschlüssel und auto_increment drauf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    annemarie gelöschter User
    dein rumgepipe isn echt beschissener ansatz!

    sorry wenns aggro klingt aber du hast dadurch nur nachteile und keine vorteile!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Ich schreibe gerade ein *ilchfremdes* Script um und habe aktuell mit diesem Problem zu kämpfen.

    Leider besteht die Tabelle aus noch mehr Felder mit Informationen. Die Tabelle hat auch schon einen Primärschlüssel vergeben!

    Wie beschrieben, werden an die drei Felder zusammenhängend die Informationen angefügt, getrennt mit "|"!

    Mein Gedanke war:
    explode -> indentifizierung der Position zB. Runde2 an 2.ter Position -> Entfernung der 2.ten Position aus alles 3 Feldern -> implode -> update

    Aber irgendwie bekomme ich das nicht gebacken!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    ja dan machste einfach eine löschfunktion zum löschen der id xxx

    hab das in meiner shoutbox ja auch so gemacht

      if ( is_siteadmin() ) {
    echo '<form  method="POST" name="löschen">';
    echo'<input type="hidden" value="'.$result['id'].'" checked="checked"name="delete" />';
    echo '<p align="left"><input type="submit" name="submit" value="löschen" /></p>';
    echo '</form>';
    	
    if(isset($_POST['submit']) AND $_POST['submit'] == "löschen") {
    	
    $_POST['delete'] = escape($_POST['delete'],'int');
    
    db_query('DELETE FROM `prefix_spambox` WHERE `prefix_spambox`.`id` ="'.$_POST['delete'].'"');
    echo 'Bitte warten<meta http-equiv="refresh" content="0; url=index.php?spamboxarchiv">';	
    }
    
    }


    so sieht er in meiner datei aus

    vllt kannste ja was anfangen damit xD
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Leider ist es nicht so einfach, da ich ja eine gewisse Komponente in drei Feldern gleichzeitig löschen möchte!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    wie sieht es den bei dir aus ? so in etwa?
    id 1 runde 1 posi 1 bild 1 spiel 1
    id 2 runde 2 posi 2 bild 2 spiel 2
    id 3 runde 3 posi 3 bild 3 spiel 3
    id 4 runde 4 posi 4 bild 4 spiel 4
    id 4 runde 4 posi 4 bild 4 spiel 4

    wen ja einfach id 3 löschen und die gesammte reihe
    id 3 runde 3 posi 3 bild 3 spiel 3
    ist gelöscht

    oder mach mal ei bild von der datenbank wies aussieht
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Struktur:

    Anzeige:


    Wobei screens, screen_upper und screen_name zusammenhängen!

    Also wie schon beschrieben:
    - Trennung durch |
    - Ausgabe durch explode


    Zuletzt modifiziert von Lord|Schirmer am 01.08.2009 - 13:39:04
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hi Lord|Schirmer,
    ich würde mal sagen du musst dir zuerst deine Spalte auslesen mit einer DB Abfrage. Jetzt mit explode dein wert splitten, dann kannst du das Array ja so zerlegen wie du es brauchst. Mit implode die werde wieder zusammen fügen und den String wieder zur Datenbank geben (UPDATE).

    MfG OloX
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    Hey, das schaut ja ganz nach dem CupScript für Webspell aus! Viel Spaß mit dem Scheiß, hab selten sowas schlecht gecodetes gesehen!
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    @lookout
    Da haste recht! Hat verdammt viele Fehler, welche ich schon teilweise behoben habe und da bin ich noch ein Anfänger!

    @OloX
    Jab genau das war mein Gedanke, nur komm ich irgendwie nicht weiter! Vielleicht kannst Du mir noch einen "Schubs" geben!

    Als erstes habe ich jetzt die Nummer der Postition ermittelt, was auch funktioniert!
    $array = explode("|",$dd[screens]); for ($i = 1 ; $i < sizeof($array) ; $i++) { if ($array[$i] == $_POST['SCREEN']) {$bildnr=$i;} ;}


    Jetzt möchte ich die Array per explode zerlegen und ohne den Teil der Nummer wieder zusammensetzen!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Flomavali gelöschter User
    <?php
    function explode_del( $values, $del ){
    	$oldAr = explode( '|' , $values );
    	unset($oldAr[$del]);
    	$newVal = implode("|", $oldAr);
    	
    	return $newVal;
    }
    ?>

    So in etwa ?


    Zuletzt modifiziert von Flomavali am 01.08.2009 - 15:27:46
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    @Flomavali,
    joa schaut gut aus zwinker
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Jenau! Unset war mir nicht bekannt! Sollte ich es hinbekommen!
    Danke Euch allen!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Flomavali gelöschter User
    ZitatZitat geschrieben von Lord|Schirmer

    Danke Euch allen!

    Und am meisten Flomavali zwinker
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Klar Großer!
    Deine Funktion war genau das Puzzelstück was ich gebraucht hatte! Jetzt funktioniert es jedenfalls! Merci nochmal!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Flomavali gelöschter User
    Extra für Dich geschrieben lachen


    Zuletzt modifiziert von Flomavali am 01.08.2009 - 18:20:55
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Du bist so lieb zu mir...
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    ZitatZitat geschrieben von Flomavali

    Extra für Dich geschrieben lachen

    Eine Sache von 60s zwinker
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Flomavali gelöschter User
    ZitatZitat geschrieben von OloX

    Eine Sache von 60s zwinker

    In dieser Zeit hätte ich mir einen Minutenlohn von 20ct erarbeiten können traurig
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    UnpiXeL Mitglied
    Registriert seit
    28.07.2008
    Beiträge
    1.250
    Beitragswertungen
    30 Beitragspunkte
    ZitatZitat geschrieben von Flomavali

    ZitatZitat geschrieben von OloX

    Eine Sache von 60s zwinker

    In dieser Zeit hätte ich mir einen Minutenlohn von 20ct erarbeiten können traurig


    zwinker eine pfandflasche ergibt 25 cent...

    lachenlachen trinkst du in dieser minute eine flasche (0,5; 1,5 o. 0,25 bzw. 0,2 l) ... hast du schon wieder mehr verdient...

    :> das heißt hättest du eine kleine cola dose während des codens gelehrt währst du nun 5 cent reicher als wenn du in dieser zeit gearbeitet bzw. eine arbeit folzogen hättest in der du was verdient hättest zunge
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    assault Hall Of Fame
    Registriert seit
    03.11.2006
    Beiträge
    2.925
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von UnpiXeL

    [...]
    zwinker eine pfandflasche ergibt 25 cent...

    lachenlachen trinkst du in dieser minute eine flasche (0,5; 1,5 o. 0,25 bzw. 0,2 l) ... hast du schon wieder mehr verdient...

    :> das heißt hättest du eine kleine cola dose während des codens gelehrt währst du nun 5 cent reicher als wenn du in dieser zeit gearbeitet bzw. eine arbeit folzogen hättest in der du was verdient hättest zunge

    damn, dass kann ich nicht mit ansehen...
    mir is langweilig, euch auch, deshalb werd ich jetzt nen rechtschreibflame veranstalten, und dann is hier ruhe...

    es heißt coladose, bzw. cola-dose, aber nicht "cola dose", weil das ein wort ist, und somit nicht durch ein leerzeichen getrennt werden darf (dieser Fehler ist allgemein als Deppenleerzeichen bekannt). Als nächstes "gelehrt", kommt von lehren (jemanden etwas beibringen), es macht nicht wirklich sinn, einer cola-dose während des codens etwas beizubringen. "Konsumieren", "entfüllen" (speziell in der elektrotechnik) oder "leeren" sind da angebrachtere Wörter.
    So, nun noch mein persönlicher favorit: "folzogen" da die regeln zum unterscheiden von F und V mir zu lang sind, um sie hier schnell eben zu notieren, informierst du dich am besten bei einem lokalen deutschlehrer. (es heißt übrigens vollzogen)


    Zuletzt modifiziert von assault am 02.08.2009 - 01:45:15
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    dazu kommt, dass man die 25ct bereits bezahlt hatte, gewinn macht man also nur, wenn man papa die dose kaufen lässt, austrinkt und selbst zurückbringt.
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.622
    Beitragswertungen
    1192 Beitragspunkte
    Das Problem an der Sache ist, dass ihr nicht an der Cola-Dose genuckelt habt ... sondern an der "Hochprozentigen"!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Flomavali gelöschter User
    Wir weichen immer mehr vom Thema ab lachen

    -closed-
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten