Ergebnis 1 bis 9 von 9

Thema: Text von db in Textarea laden und ändern

  1. #1
    Erfahrener Benutzer Avatar von Everlast3310
    Registriert seit
    23.02.2008
    Beiträge
    175

    Text von db in Textarea laden und ändern

    Hallo, ich möchte in ein Textfeld ein Text aus der DB laden und via update den Text bearbeiten. Ich habe dafür eine Datenbank name ist datenbank, eine Tabelle tageskarte und eine Spalte text in der mysql db erstellt. Nun komme ich nicht weiter und hoffe auf eure Hilfe.

    PHP-Code:
    <?
    if ($_POST['weg'] == 'speichern') {
    $con = mysqli_connect("","root");
       mysqli_select_db($con, "datenbank");
       
       $sql = "UPDATE tageskarte SET text='" . $_POST['text']."'";
       mysqli_query($con, $sql);
    }
    ?>

    <form method="post" action="">
    <b>Tageskarte</b>
    <br>
    <br>
    <table width="100%" align="center" cellpadding="1" cellspacing="0">
     <tr>
      <td colspan="2"><textarea name="text" style="width:100%;height:200px;"><?=$_POST['text'];?></textarea></td>
    </tr>
     <tr><td colspan="2" align="center"><input type="submit" name="weg" value="speichern"></td></tr>
    </table>
    </form>
    Geändert von Everlast3310 (04.06.2015 um 03:30 Uhr)

  2. #2
    Erfahrener Benutzer Avatar von Kraemer84
    Registriert seit
    24.11.2009
    Beiträge
    814

    Re: Text von db in Textarea laden und ändern

    Du musst auch den Text der angezeigt wird auch laden

    ala

    PHP-Code:
    $sql mysql_query("SELECT id, text FROM tabelle ORDER BY id");
    $data mysql_fetch_assoc ($sql); 
    danach musst du diesen Wert der textarea zuorden .. stichwort value

    PHP-Code:
    <textarea name="text" style="width:100%;height:200px;" value="<?php echo $data['text'];?>"></textarea>
    ist jetzt mal grob aus dem kopf raus aber so dürfte der ansatz sein .. ansonsten kannst du dir auch mal im vms ankucken wie im adminforce die texte für agb, faq, newsletter geändert werden

    da ist es ein ähnliches Prinzip

    lg Kraemer84
    www.paid4advert.de | more coming soon ..

  3. #3
    Erfahrener Benutzer Avatar von Everlast3310
    Registriert seit
    23.02.2008
    Beiträge
    175

    Re: Text von db in Textarea laden und ändern

    Muss ich da noch eine Spalte ID mit primery key hinzufügen? Es geht ja nur um 1 Text der bei Bedarf immer wieder geändert werden soll.

  4. #4
    Erfahrener Benutzer Avatar von Kraemer84
    Registriert seit
    24.11.2009
    Beiträge
    814

    Re: Text von db in Textarea laden und ändern

    wenn es nur ein text ist reicht es wenn du ein Feld mit id 1 machst und dann sucht der sich das ja immer zurecht wenn du zb in der sql abfrage angibst

    PHP-Code:
    $sql mysql_query("SELECT id, text FROM tabelle WHERE id = 1");
    $data mysql_fetch_assoc ($sql); 
    hab aber gerade gesehen das mir selber ein Fehler unterlaufen ist .. bei Textarea geht gar nicht value="..

    PHP-Code:
    <textarea name="text" style="width:100%;height:200px;"><?php echo $data['text'];?></textarea>
    so muss das sry

    // edit

    ich würde auch dem textfeld nicht width und height zuordnern sondern eher cols= und rows=

    ala

    PHP-Code:
    <textarea name="text" cols="10" rows="3"><?php echo $data['text'];?></textarea>
    www.paid4advert.de | more coming soon ..

  5. #5
    Erfahrener Benutzer Avatar von Everlast3310
    Registriert seit
    23.02.2008
    Beiträge
    175

    Re: Text von db in Textarea laden und ändern

    Danke für deine Hilfe. Momentan erhaltze ich folgende Fehlermeldung im Textarea Feld: <br />
    <b>Notice</b>: Undefined variable: data in <b>D:\xampp\htdocs\.......</b> on line <b>18</b><br />
    Datenbankname namens datenbank wurde angelegt. Dazu die Tabelle tageskarte mit den Spalten text (typ text) und id (typ int 15)

    Hier nochmal die datei:

    PHP-Code:
    <?
    if ($_POST['weg'] == 'speichern') {
    $con = mysqli_connect("","root");
       mysqli_select_db($con, "datenbank");
       
       $sql = mysql_query("SELECT id, text FROM tageskarte WHERE id = 1");
        $data = mysql_fetch_assoc ($sql); 

    }
    ?>

    <form method="post" action="">
    <b>Tageskarte</b>
    <br>
    <br>
    <table width="100%" align="center" cellpadding="1" cellspacing="0">
     <tr>
      <td colspan="2"><textarea name="text" cols="100" rows="10"><?php echo $data['text'];?></textarea></td>
    </tr>
     <tr><td colspan="2" align="center"><input type="submit" name="weg" value="speichern"></td></tr>
    </table>
    </form>

    Hier meine Datenbank:
    Tabellenstruktur für Tabelle `tageskarte`
    --

    CREATE TABLE IF NOT EXISTS `tageskarte` (
    `id` int(15) NOT NULL,
    `text` text NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    --
    -- Daten für Tabelle `tageskarte`
    --

    INSERT INTO `tageskarte` (`id`, `text`) VALUES
    (1, '12345');

  6. #6
    Erfahrener Benutzer Avatar von Kraemer84
    Registriert seit
    24.11.2009
    Beiträge
    814

    Re: Text von db in Textarea laden und ändern

    Du darfst die Abfrage ja nicht beim Submit reinschreiben

    PHP-Code:
    <?php

    // Text laden
    $sql mysql_query("SELECT id, text FROM tageskarte WHERE id = 1");
    $data mysql_fetch_assoc ($sql);
    // Wenn submit dann speichern
    if ($_POST['weg'] == 'speichern') {
    $con mysqli_connect("","root");
    mysqli_select_db($con"datenbank");
    }
    ?>
    <!-- Form zum Speichern -->
    <form method="post" action="">
    <b>Tageskarte</b>
    <br>
    <br>
    <table width="100%" align="center" cellpadding="1" cellspacing="0">
     <tr>
      <td colspan="2"><textarea name="text" cols="100" rows="10"><?php echo $data['text'];?></textarea></td>
    </tr>
     <tr><td colspan="2" align="center"><input type="submit" name="weg" value="speichern"></td></tr>
    </table>
    </form>
    www.paid4advert.de | more coming soon ..

  7. #7
    Erfahrener Benutzer Avatar von Everlast3310
    Registriert seit
    23.02.2008
    Beiträge
    175

    Re: Text von db in Textarea laden und ändern

    Jetzt erhalte ich die Fehlermeldungen: Danke für Deine Mühe
    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\kapitel2\settings.php on line 5

    Notice: Undefined index: weg in D:\xampp\htdocs\kapitel2\settings.php on line 7

  8. #8
    Erfahrener Benutzer Avatar von Kraemer84
    Registriert seit
    24.11.2009
    Beiträge
    814

    Re: Text von db in Textarea laden und ändern

    Was jetzt erstmal den undefinierten Index angeht .. das Post stimmt nicht .. du kannst nicht den value nehmen der als Post angegeben wird .. hier ist es so das der "name" den Wert entspricht .. hier der "name" = submit (hab das mal so gemacht da es egal ist und rein funktional)

    PHP-Code:
    <?php

    // Text laden
    $sql mysql_query("SELECT id, text FROM tageskarte WHERE id = 1");
    $data mysql_fetch_assoc ($sql);
    // Wenn submit dann speichern
    if ($_POST['weg'] == 'submit') {
    $con mysqli_connect("","root");
    mysqli_select_db($con"datenbank");
    }
    ?>
    <!-- Form zum Speichern -->
    <form method="post" action="">
    <b>Tageskarte</b>
    <br>
    <br>
    <table width="100%" align="center" cellpadding="1" cellspacing="0">
     <tr>
      <td colspan="2"><textarea name="text" cols="100" rows="10"><?php echo $data['text'];?></textarea></td>
    </tr>
     <tr><td colspan="2" align="center"><input type="submit" name="submit" value="speichern"></td></tr> 
    </table>
    </form>

    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given insagt aus das ein wert erwartet wird aber keiner vorhanden ist .. also entweder ist die tabelle nicht korrekt .. es besteht keine verbindung zur datenbank .. die felder stimmen nicht 100% wie in der tabelle ..

    Wenn es jetzt gar nicht zur Lösung kommt dann schreib mir eine pn dann übernehm ich das gern (vielleicht auch als Dankeschön ein kleiner Werbegutschein ^^)

    lg Kraemer84
    www.paid4advert.de | more coming soon ..

  9. #9
    Erfahrener Benutzer
    Registriert seit
    22.06.2009
    Beiträge
    510

    Re: Text von db in Textarea laden und ändern

    mal eine frage dazwischen werfen.
    warum baut ihr immer wieder eine verbindung zur datenbank auf im $_POST['weg']? es ist doch immer eine verbidung im vms da?


    Wenn du wirklich schon mysqli nutzt kannst du es wie folgt aussehen lassen:

    PHP-Code:
    $daten mysqli_fetch_array(db_query("SELECT id,text FROM tageskarte WHERE ID ='1' "));
    if(
    $_POST['weg'] == 'submit'){$update db_query("UPDATE tageskarte SET text = '".$_POST['text']."' WHERE id = '".$daten['id']."' ");
    if(
    $update == true){
    echo 
    'Tageskarte aktualisiert';}else{echo 'Fehler beim aktualisieren';}
    }
    $daten mysqli_fetch_array(db_query("SELECT id,text FROM tageskarte WHERE ID ='1' ")); 
    HTML-Code:
    <!-- Form zum Speichern -->
    <form method="post" action="">
    <b>Tageskarte</b>
    <br>
    <br>
    <table width="100%" align="center" cellpadding="1" cellspacing="0">
     <tr>
      <td colspan="2"><textarea name="text" cols="100" rows="10"><?php echo $data['text'];?></textarea></td>
    </tr>
     <tr><td colspan="2" align="center"><input type="submit" name="submit" value="speichern"></td></tr> 
    </table>
    </form>

    Habe da mal die Funktion db_query auch schon auf den neusten stand gebracht:

    PHP-Code:
    function db_query($sql_tag) {
        global 
    $count_query,$sql_open;
        
    $count_query++;
        
    $fargs func_get_args();

        if (!empty(
    $fargs)) {
            
    $vargs = array();
            foreach(
    $fargs as $key => $arg) {
                
    $vargs[$key] = mysqli_real_escape_string($sql_open,$arg);
            }
            
    array_shift($vargs);
            if (!empty(
    $vargs))$sql_tag vsprintf($sql_tag$vargs);
        }
        if (
    $ret mysqli_query($sql_open,$sql_tag)) {
            return 
    $ret;
        }else {
            return 
    0;
        }

    also die solltest du dann auch aktualisieren.
    solltest du noch mysql nutzen und kein mysqli ist es schon ein wenig einfacher.
    dann sollte alles so aussehen:

    PHP-Code:
    $daten mysql_fetch_array(db_query("SELECT id,text FROM tageskarte WHERE ID ='1' "));
    if(
    $_POST['weg'] == 'submit'){$update db_query("UPDATE tageskarte SET text = '".$_POST['text']."' WHERE id = '".$daten['id']."' ");
    if(
    $update == true){
    echo 
    'Tageskarte aktualisiert';}else{echo 'Fehler beim aktualisieren';}
    }
    $daten mysql_fetch_array(db_query("SELECT id,text FROM tageskarte WHERE ID ='1' ")); 
    HTML-Code:
    <!-- Form zum Speichern -->
    <form method="post" action="">
    <b>Tageskarte</b>
    <br>
    <br>
    <table width="100%" align="center" cellpadding="1" cellspacing="0">
     <tr>
      <td colspan="2"><textarea name="text" cols="100" rows="10"><?php echo $data['text'];?></textarea></td>
    </tr>
     <tr><td colspan="2" align="center"><input type="submit" name="submit" value="speichern"></td></tr> 
    </table>
    </form>
    da brauchst du dann kein update der verbidungsfunktionen mehr machen.

Ähnliche Themen

  1. [SQL] Variable und Text in DBFeld als Text speichern
    Von Masterphil im Forum [HD] Programmieren
    Antworten: 1
    Letzter Beitrag: 14.01.2013, 23:37
  2. Text ändern ?
    Von Kraemer84 im Forum Support zu Addons & Erweiterungen
    Antworten: 2
    Letzter Beitrag: 09.12.2009, 16:20
  3. [HTML/CSS/JS] Leerzeilen aus Textarea zu <br>
    Von VMS1 im Forum [HD] Programmieren
    Antworten: 5
    Letzter Beitrag: 21.11.2008, 15:34
  4. Text ändern + Login
    Von seg98 im Forum Support zum VMSone
    Antworten: 8
    Letzter Beitrag: 17.10.2008, 17:42
  5. Den Startseite Text ändern
    Von Coinsrapper im Forum Support zum VMSone
    Antworten: 3
    Letzter Beitrag: 22.03.2007, 13:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •