tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
816
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Krypthonas
    Krypthonas Krypthonas ist offline Mitglied Brokat
    Registriert seit
    Jun 2002
    Beiträge
    377
    Hallo.

    Ich komme bei einen Problem nicht weiter. Und zwar habe ich hier einen Code mit dem man Produkte in eine Datenbank einfügen kann. So!
    Mann kann sie auch wunderbar verändern und löschen.

    Doch wie kann ich z.B. ein einzelnes Produkt in einen neuen Fenster editieren.

    Also ich mach erstmal den Quelltext Startklar:
    PHP-Code:

    <?php
    $dbh 
    dbmopen"news""c" 
           or die(
    "Konnte DBM nicht öffnen");

    if ( isset ( 
    $loeschen ) )
        {
        while ( list ( 
    $schluessel$wert ) = each $loeschen ) )
            {
            unset( 
    $preise[$wert]);
            
    dbmdelete$dbh$wert );
            }
        }

    if ( isset ( 
    $preise ) )
        {
        while ( list ( 
    $schluessel$wert ) = each $preise ) )
            
    dbmreplace$dbh$schluessel$wert );
        }

    if ( ! empty( 
    $name_add ) && ! empty( $preis_add ) )
        
    dbminsert$dbh"$name_add""$preis_add);

    ?>


    <form action="<? print $PHP_SELF?>" action="POST">

    <table border="1">
      <tr> 
        <td width="51">Löschen</td>
        <td width="144">Produkt</td>
        <td width="169">Preis</td>
        <td width="169">&nbsp;</td>
      </tr>
      <?php
    $schluessel 
    dbmfirstkey$dbh );
    while ( 
    $schluessel != "" )
        {
        
    $preis dbmfetch$dbh$schluessel );
        print 
    "<tr><td><input type='checkbox' name=\"loeschen[]\" ";
        print 
    "value=\"$schluessel\"></td>";
        print 
    "<td>$schluessel</td>";
        print 
    "<td> <input type=\"text\" name=\"preise[$schluessel]\" ";
        print 
    "value=\"$preis\"> </td></tr>";
        print 
    "<td><a href=\"edit.php?site=edit\">Editieren</a></td>";
        
    $schluessel dbmnextkey$dbh$schluessel );
        }

    dbmclose$dbh );
    ?>
      <tr> 
        <td>&nbsp;</td>
        <td><input type="text" name="name_add"></td>
        <td><input type="text" name="preis_add"></td>
        <td>&nbsp;</td>
      </tr>
      <tr> 
        <td colspan=4 align="right"> <input type="submit" value="Ändern"> </td>
      </tr>
    </table>
    </form>
    So und wenn wir nun auf Editieren klicken dann so für das einzelne Produkt eine neue Seite gezeigt werden um den Inhalt besser zu ändern.

    Also ich habe so daran gedacht das man das vielleicht so machen könnte:

    PHP-Code:

    if (isset ($site) && $site=="edit"
    Also das beutze ich als Rohrleitung. Also wenn ich jetzt auf editieren klicke dann erschein dbm.php?site=edit dann soll das Script aufgerufen werden.

    So und dann gehen mir die PHP Ressourcen aus

    Weis jemand Rat?

    MfG
     

  2. #2
    Registriert seit
    Mar 2003
    Ort
    Österreich (Ländle)
    Beiträge
    380
    Code :
    1
    
    dbm.php?site=edit&id=id

    du gibts einfach die ID des datensatzes an die seite dbm.php
    weiter die du bearbeiten willst.

    mit der id kannst du ne neue sql abfrage starten in der du genau
    den datensatz einließt.

    einfach ein formular vorbereiten und die textfelder value mit
    den werten der abfrage füttern -> fertig!

    PHP-Code:

    $sql 
    "select name from tabelle where id = '$id'";
    $result mysql_query($sql);
    $data mysql_fetch_array($resultMYSQL_ASSOC);

    echo 
    $data["name"];

    // echo gibt den namen der id aus, die du bearbeiten willst
    // jetzt muss du nur noch die daten in die Textfelder einfügen. 

    Code :
    1
    
    <input name="name" type="text" id="name" value="<? echo $data["name"] ?>" size="35">

    hoffe konnte helfen ...

    mfg
     

  3. #3
    Avatar von Krypthonas
    Krypthonas Krypthonas ist offline Mitglied Brokat
    Registriert seit
    Jun 2002
    Beiträge
    377
    Nja ich benutze kein SQL sondern eine Datenbank die PHP emuliert.
     

  4. #4
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    PHP emuliert keine Datenbank. DBM ist eine eigene Datenbankart

    Leider kann ich Dir nicht weiterhelfen habe noch nicht viel mit DBM gemacht
    Geändert von Neurodeamon (28.04.03 um 23:24 Uhr)
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  5. #5
    Registriert seit
    Mar 2003
    Ort
    Österreich (Ländle)
    Beiträge
    380
    DBM!

    schon mal gehört, aber noch nie gesehen oder was damit
    gemacht, sorry ...

    mfg
     

  6. #6
    Registriert seit
    Apr 2002
    Ort
    Ingolstadt
    Beiträge
    2.940
    Grundsätzlich sollte der Ansatz von Ultrakollega schon stimmen. Du kannst ja anstatt der SQL Anfrage mit dbmfetch [1] arbeiten, musst halt einen Key mit Übergeben...

    ciao

    [1] http://www.php.net/manual/de/function.dbmfetch.php
     

  7. #7
    Avatar von Krypthonas
    Krypthonas Krypthonas ist offline Mitglied Brokat
    Registriert seit
    Jun 2002
    Beiträge
    377
    Hi,

    ich habe die ganze Sache anders gelöst. Trotzdem danke.
    Also wie ich gemerkt habe gibt es mit verlaub so gut wie keine Tutorials im Web bzw. keine deutschen Tutorials zu DBM Funktionen. Klar sie sind veraltet aber man kann sie genauso auf die neuen Datenbanken übertragen. Deswegen denke ich das ich ein Tutorial auf Tutorials.de schreiben werde.

    Genug des vielen Spams.
     

Ähnliche Themen

  1. Checkboxeintrag editieren
    Von R3DD3VIL im Forum PHP
    Antworten: 3
    Letzter Beitrag: 24.09.07, 10:48
  2. JAR und JAD Editieren ?!
    Von karabey im Forum Java
    Antworten: 19
    Letzter Beitrag: 07.07.04, 17:21
  3. Editieren von Tabellenzeilen
    Von dreamkiller im Forum PHP
    Antworten: 6
    Letzter Beitrag: 30.05.04, 18:22
  4. alt tag editieren
    Von derben im Forum HTML & XHTML
    Antworten: 5
    Letzter Beitrag: 30.01.03, 17:47
  5. Statuszeile editieren/Adresszeile editieren
    Von mudderbaimer im Forum HTML & XHTML
    Antworten: 8
    Letzter Beitrag: 26.08.02, 15:16