php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.03.2005, 19:12  
Gast
 
Beiträge: n/a
Standard Problem mit Formular und SQL Datenbank

Hi Leute!!
Ich habe folgendes Problem. Ich will aus einer Datenbank Werte einlesen, die der Benutzer verändern kann. Dann sollen die Werte, die verändert wurden in der Datenbank aktualisiert werden. Leider weiß ich absolut nicht, wie das geht.

Hier mal mein gescheiteter Versuch:
Code:
<?php
    function tfreischalten(){
        include("../inc/config.inc");
        $link = mysql_connect($db_host,$db_user,$db_pass) or die("<center>Host / User / Passwort falsch!</center>\n");
        mysql_select_db($datab,$link) or die("Falsche Datenbank ausgewaehlt!");
        $query="select * from termine order by datum desc";
        $result=mysql_query($query,$link);
        $num=mysql_num_rows($result);

    ?>
        <form action="admin.php?funktion=terminfreischalten" method="POST">
        <table style="margin-left:15px; margin-top:15px;" border="0" rules="cols" bgcolor="#D2DBE9">
            <tr bgcolor="#678ECE">
               <td>Datum</td>
               <td>Kurzinfo</td>
               <td>Betroffene</td>
               <td>Email-Adresse</td>
               <td>Status</td>
            </tr>
            <tr>
                <td colspan="5" height="20">


</td>
            </tr>
    <?
        for($i=0;$i<$num;$i++){
            $row=mysql_fetch_array($result);
            if($row[status]=='inaktiv'){
              $status="";
              }
            else{
                $status="checked";
            }
            echo("<tr bgcolor='#678ECE'>");

                echo("<td><input name='datum$row[id_termin]' type='text' size='10' maxlength='20' value='$row[datum]'></td>");
                echo("<td><input name='info$row[id_termin]' type='text' size='30' maxlength='20' value='$row[kurzinfo]'></td>");
                echo("<td><input name='betr$row[id_termin]' type='text' size='30' maxlength='50' value='$row[betroffene]'></td>");
                echo("<td>$row[email]</td>");
                echo("<td><input type='checkbox' name='status$row[id_termin]' value= 'HTML'$status></td></tr>");
                echo("<tr><td colspan='4'><textarea name='beschreibung$row[id_termine]' cols='80' rows='3'>$row[beschreibung]</textarea>


</td></tr>");
      }
        echo("<input type='hidden' name='anzahl' value='$num'>");
        echo("<tr align='center'><td colspan='5'> <INPUT TYPE=Submit NAME='aktivieren' VALUE='Beiträge freischalten' ID='1'></td></tr>");
        echo("</table>");
        echo("</form>");
    }
?>
Die Funktion wird aufgerufen und es werden einige Werte in Textboxen dargestellt und in Checkboxen. Wenn man dann auf den Button klickt, wird eine andere Datei geöffnet, wo alle Werte gespeichert werden sollen. Jetzt habe ich aber noch das Problem, dass die Variablennamen hier z.B. status1,status2,status3 usw. sind. Zusätzlich habe ich noch die Anzahl der Datensätze in eine Variable geschrieben und in ein hiddenfield eingetragen.
Jetzt möchte ich gerne in einer anderen Datei die Werte der Variablen (status1,status2,...) mit Hilfe einer for-Schleife und der variable anzahl ausgeben. Aber wie mache ich das????

Ist mein Ansatz überhaupt richtig??

MFG
staden4
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.03.2005, 19:32  
Gast
 
Beiträge: n/a
Standard

http://dev.mysql.com/doc/mysql/de/UPDATE.html

viel Glück

Edit: gehört auch eher in das MySql-Forum?!
 
Alt 23.03.2005, 19:46  
Gast
 
Beiträge: n/a
Standard

Bei mir wäre das ja so, dass ich alle Werte neu an die datenbank schicke, und somit würde jedes mal die komplette tabelle neugeschrieben oder habe ich das mit dem update befehl falsch verstanden?? Ich suche quasi einen Befehl bei dem der SQL Server selber überprüft, ob die jeweiligen Einträge unterschiedlich sind.

Viel. könnte ja jemand diesen Thread verschieben. Sorry.
MFG
 
Alt 23.03.2005, 20:01  
Gast
 
Beiträge: n/a
Standard

vergebe jedem Beitrag eine id

leg dazu ein Feld an, setze es auf INDEX und AUTO_INCREMENT
Dieses Feld solltest du nicht manuell füllen, es erhöt sich mit jedem Eintrag selbst um eins. Mit Update aktualisierst du alle Einträge.

z.B. UPDATE tabelle SET feld='neuerwert' WHERE uniqueid='".$_POST["id"]."' LIMIT 1
 
Alt 23.03.2005, 22:08  
Gast
 
Beiträge: n/a
Standard

Könnt ihr mir viel. verraten warum meine sql anweisung nicht funktioniert? die hier wird z.B. von meinem Programm erstellt!

Code:
$query="UPDATE `termine` SET datum = '123', kurzinfo = '' , beschreibung = '' , betroffene = '' , status = 'inaktiv' WHERE id_termin = '12'; UPDATE `termine` SET datum = '456', kurzinfo = '' , beschreibung = '' , betroffene = '' , status = 'inaktiv' WHERE id_termin = '11';";
oder so funktioniert das auch nicht.
Code:
UPDATE termine SET datum = '11111111' , kurzinfo = '' , beschreibung = '' , betroffene = '' , status = 'aktiv' WHERE id_termin = '11'


und das hier kommt danach
Code:
$link = mysql_connect($db_host,$db_user,$db_pass) or die("<center>Host / User / Passwort falsch!</center>\n");
mysql_select_db($datab,$link) or die("Falsche Datenbank ausgewaehlt!");
mysql_query($query,$link);
Aber wenn ich z.B. die zweite Anweisung in phpmyadmin einfüge klappt das. wodran liegt das?

MFG
 
Alt 24.03.2005, 10:14  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1. du kannst keine 2 querys auf einmal über mysql_query() übergeben.

man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
PHP-Code:
$sql "SELECT feld1,feld2 FROM table WHERE id=5";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql); 
robo47 ist offline  
Alt 24.03.2005, 10:57  
Gast
 
Beiträge: n/a
Standard

hi,

also ich hab vor kurzem ein Script mit ähnlicher Funktion geschrieben geschrieben.
Dabei hab ich alle übergebenen Formularwerte mit den Werten des betroffenen Datensatzes verglichen. Darauf werden die gesendeten Werte, die nicht mit den aktuell in der DB gespeicherten übereinstimmen (die also geändert wurden), in einem Array zwischengespeichert.
Wenn alle Werte verglichen wurden wird aus dem Array mein UPDATE Statement generiert.

Vielleicht hilft Dir dieser ja Ansatz weiter,

in diesem Sinne, frohe Ostern,

vole
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
problem mit einer datenbank Pflaume91 PHP Tipps 2008 5 04.09.2007 11:05
While schleife mit Datenbank in ein Dropdown Feld (Umlaut Problem) kintaro PHP Tipps 2008 6 28.08.2007 19:11
Problem mit Datensätze aus zweiter datenbank integrieren. it´s only me Datenbanken 17 08.04.2006 10:09
Problem beim Abfragen aller Tabellen in einer Datenbank gulli23 Datenbanken 5 26.02.2006 20:04
Problem beim Export / Import von Tabellen in Datenbank!? nicobischof Datenbanken 4 25.02.2006 19:19
Problem mit Formular CityHubter PHP Tipps 2006 7 20.01.2006 16:09
[Erledigt] Problem mit dem Füllen einer Tabelle über Formular PHP Tipps 2006 18 10.01.2006 12:51
[Erledigt] Problem mit Eintragung in die Datenbank Datenbanken 12 06.01.2006 10:20
[Erledigt] problem beim erstellen und auslesen einer datenbank PHP Tipps 2005-2 6 04.09.2005 16:55
Problem mit Formular PHP Tipps 2005-2 4 14.07.2005 23:53
Problem mit Datenbank PHP Tipps 2005 3 25.01.2005 18:01
Problem beim importieren einer Datenbank PHP Tipps 2004 8 09.08.2004 15:05
Problem mit Formular + Antwortseite PHP Tipps 2004 2 22.07.2004 09:51
datenbank im formular aufladen PHP Tipps 2004 3 29.06.2004 09:37
Problem beim Füllen von Formularfeldern aus Datenbank PHP Tipps 2004 3 25.06.2004 13:44

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
<input name=\datum\ type=text size=10 maxlength=20 value=\\>, werte aus formular in sql datenbank einlesen, http://www.php.de/php-tipps-2005/20104-problem-mit-formular-und-sql-datenbank.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.