art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 18.05.2006, 15:13   #1
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein

[php & mysql] insert, update und delete


möchte einen bereich erstellen wo daten aus einer db ausgelesen werden, daneben 2 buttons - bearbeiten und löschen, ganz unten - neue anlegen.
anlegen:
da gehts schon mal los, habe leider nicht viel erfahrung mit insert, update und delete.
PHP-Code:
<?
if ($submit) {
$ber_bez_neu $HTTP_POST_VARS["ber_bez"];
$sql "
INSERT INTO 
    $table_ber 
    (ber_bez) 
VALUES
    ('$ber_bez')
"
;
$result mysql_query($sql) or die(mysql_error());
echo 
"Ihr Daten wurden abgeschickt! Ein neuer Bereich ".$ber_bez_neu." wurde angelegt. Vielen Dank!<br><br>";
}
else {
?>
<form method="post" action="<? echo $PHP_SELF ?>">
<table border="0" align="center"><tr>
<td>Neuer Bereich: </td>
<td><input name="ber_bez" type="text" id="ber_bez" value="<? echo $ber_bez ?>" size="50"></td>
</tr><tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
}
?>
warum wird da nicht angelegt?
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten


Alt 18.05.2006, 15:18   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Register_globals off?

Nutz satt $HTTP_POST_VARS einfach die Schreibweise $_POST.

PHP-Code:
<?
if (isset($_POST['submit'])&&$_POST['submit'] != "") {
$ber_bez_neu $_POST_['ber_bez'];
$sql "
INSERT INTO 
    $table_ber 
    (ber_bez) 
VALUES
    ('$ber_bez')
"
;
$result mysql_query($sql) or die(mysql_error());
echo 
"Ihr Daten wurden abgeschickt! Ein neuer Bereich ".$ber_bez_neu." wurde angelegt. Vielen Dank!<br><br>";

else {
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF'?>">
<table border="0" align="center"><tr>
<td>Neuer Bereich: </td>
<td><input name="ber_bez" type="text" id="ber_bez" value="<? echo $ber_bez ?>" size="50"></td>
</tr><tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
}
?>
Was ich mich nun aber frage ist, woher kommt die Var $table_ber (INSERT Befehl) und $ber_bez (FORM) ???
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de

Geändert von webcreate (18.05.2006 um 15:20 Uhr).
webcreate ist offline   Mit Zitat antworten
Alt 18.05.2006, 15:38   #3
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
Zitat:
Zitat von webcreate
Register_globals off?
ja, ist aus
$table_ber ist die tabelle, $ber_bez ist die spalte
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 18.05.2006, 16:05   #4
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Zitat:
Zitat von jayjay
ja, ist aus
Dazu habe ich es ja auch zum Teil umgeschrieben.
Zitat:
Zitat von jayjay
$table_ber ist die tabelle, $ber_bez ist die spalte
OK, aber wo werden diese Vars befüllt? Ich sehe nichts, wo sie definiert werden. Das meinte ich.
Sollten es auch Vars sein, die über das form kommen, musst du sie auch mit $_POST schreiben, also $_POST['ber_bez'].
$table_ber kann ich allerdings sonst nirgends finden.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 18.05.2006, 16:29   #5
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
die tabelle ist in der config definiert, welche vorher included wird. du hattest ein _ zu viel in der 2 zeile ($_POST"_"['ber_bez']). es werden datensätze angelegt aber ber_bez bleibt leer
PHP-Code:
<?
if (isset($_POST['submit'])&&$_POST['submit'] != "") {
$ber_bez_neu $_POST['ber_bez'];
$sql "
INSERT INTO 
    dw_prod_ber 
    (ber_bez) 
VALUES
    ('$ber_bez')
"
;
$result mysql_query($sql) or die(mysql_error());
echo 
"Ihr Daten wurden abgeschickt! Ein neuer Bereich ".$ber_bez_neu." wurde angelegt. Vielen Dank!<br><br>";

else {
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF'?>">
<table border="0" align="center"><tr>
<td>Neuer Bereich: </td>
<td><input name="ber_bez" type="text" id="ber_bez" value="<? echo $ber_bez?>" size="50"></td>
</tr><tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
}
?>
für alle fälle:

CREATE TABLE `dw_prod_ber` (
`ber_id` int(11) NOT NULL auto_increment,
`ber_bez` varchar(255) collate latin1_german2_ci NOT NULL default '',
PRIMARY KEY (`ber_id`)
)
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 18.05.2006, 16:54   #6
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Du arbeitest da immer noch nicht überall mit den superglobals. Die musst du aber verwenden, wenn die register_globals off sind.

PHP-Code:
  <?
if (isset($_POST['submit'])&&$_POST['submit'] != "") {
$ber_bez_neu $_POST['ber_bez']; 
$sql "
INSERT INTO 
    dw_prod_ber 
    (ber_bez) 
VALUES
    ('$_POST[ber_bez]')
"
;
$result mysql_query($sql) or die(mysql_error());
echo 
"Ihr Daten wurden abgeschickt! Ein neuer Bereich ".$ber_bez_neu." wurde angelegt. Vielen Dank!<br><br>";

else {
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF'?>">
<table border="0" align="center"><tr>
<td>Neuer Bereich: </td>
<td><input name="ber_bez" type="text" id="ber_bez" value="<? echo $_POST['ber_bez']; ?>" size="50"></td>
</tr><tr>
<td>&nbsp;</td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
}
?>
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 19.05.2006, 08:40   #7
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
danke, funzt. hab da etwas erweitert
PHP-Code:
$ber_bez_min_lan = 3;
if (isset($_POST['submit'])&&$_POST['submit'] != "") {
    if (empty($_POST['ber_bez'])) {
        echo "<p>Bitte <b>Bereich</b> angeben!</p>";
    } 
    else if (strlen($_POST['ber_bez'])<$ber_bez_min_lan) {
        echo "<p>Der Bereich muss mindedestens <b>".$ber_bez_min_lan."</b> Zeichen lang sein!</p>";
    } 
    else {
        $ber_bez_neu = $_POST['ber_bez']; 
        $sql = "
            INSERT INTO 
                $table_ber 
                (ber_bez) 
            VALUES
                ('$_POST[ber_bez]')
        ";
        $result = mysql_query($sql) or die(mysql_error());
        if ($result){
            echo "Ihr Daten wurden abgeschickt! Ein neuer Bereich <b>".$ber_bez_neu."</b> wurde angelegt. Vielen Dank!<br><br>";
        } 
        else {
            echo "<p>Dateneingabe <b>nicht</b> erfolgreich!</p>";
        }
    }
    echo "[ <a href='javascript:history.back()'>Zur&uuml;ck</a> ] - [ <a href='$_SERVER[PHP_SELF]'>Neuen Datensatz eintragen<a/> ]";

else {
    $sql2 = "SELECT ber_bez FROM $table_ber";
    $result2 = mysql_query($sql2);
    $katfeld = "";
    while ($row = mysql_fetch_assoc($result2)) {
    $katfeld .= "<option value='".$row[ber_bez]."'>".$row[ber_bez]."</option>\n";
}
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF'?>">
<table border="0" align="center"><tr>
<td>Neuer Bereich: </td>
<td><input name="ber_bez" type="text" id="ber_bez" value="<? echo $_POST['ber_bez']; ?>" size="50"></td>
</tr><tr>
<td></td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
}
?>
jetzt brauche ich für zur übersicht ein option-feld das die daten aus der tabelle zieht, habe folgendes probiert:
PHP-Code:
$ber "
SELECT 
    $table_ber.ber_id, 
    $table_ber.ber_bez 
FROM 
    $table_ber
ORDER BY
    $table_ber.ber_bez
"
;
$resber mysql_query($ber) or die(mysql_error());
while(
$rowber mysql_fetch_array($resberMYSQL_ASSOC))
    {
    
$options "<option value=\"".$rowber['ber_bez']."\">".$rowber['ber_bez']."\n";
    }

echo 
"<select name=\"bereich\">\n";
echo 
$options;
echo 
"</select>\n"
dabei wird immer der letzte angezeigt
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 19.05.2006, 10:59   #8
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein

update


wo sitzt hier der fehler? wollte so ähnlich einen update-script machen, funzt leider nicht
PHP-Code:
<?
$ber 
$_GET['ber'];
$ber_bez_min_lan 3;
if (isset(
$_POST['submit'])&&$_POST['submit'] != "") {
    if (empty(
$_POST['ber_bez'])) {
        echo 
"<p>Bitte <b>Bereich</b> angeben!</p>";
    } 
    else if (
strlen($_POST['ber_bez'])<$ber_bez_min_lan) {
        echo 
"<p>Der Bereich muss mindedestens <b>".$ber_bez_min_lan."</b> Zeichen lang sein!</p>";
    } 
    else {
        
$ber_bez_neu $_POST['ber_bez']; 
        
$sql "
            UPDATE  
                $table_ber 
            SET 
                ber_bez='$ber_bez' 
            WHERE 
                ber_id=$ber
        "
;
        
$result mysql_query($sql) or die(mysql_error());
        if (
$result) {
            echo 
"<p>Ihre Daten wurden abgeschickt! Der Bereich <b>".$ber_bez_neu."</b> wurde bearbeitet. Vielen Dank!</p>";
        } 
        else {
            echo 
"<p>Dateneingabe <b>nicht</b> erfolgreich!</p>";
        }
    }
    echo 
"[ <a href='javascript:history.back()'>Zur&uuml;ck</a> ] - [ <a href='$_SERVER[PHP_SELF]'>Neuen Datensatz eintragen<a/> ]";

else {
    
$sql2 "
        SELECT 
            ber_id, 
            ber_bez
        FROM 
            $table_ber 
        WHERE 
            ber_id=$ber
    "
;
    
$result2 mysql_query($sql2);
    
$katfeld "".$ber."";
    while (
$row2 mysql_fetch_assoc($result2)) {
        
$katfeld "<option value='".$row2['ber_bez']."'>".$row2['ber_bez']."</option>\n";
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF'?>">
<table border="0" align="center"><tr>
<td>Bereich: </td>
<td><input name="ber_bez" type="text" id="ber_bez" value="<? echo $row2['ber_bez']; ?>" size="50">&nbsp;<? echo $row2['ber_bez']."&nbsp;(".$row2['ber_id'].")"?></td>
</tr><tr>
<td></td>
<td><input type="submit" name="submit" value="Abschicken"></td>
</tr>
</table>
</form>
<?
    
}
}
?>
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 19.05.2006, 11:14   #9
TP-Moderator
 
Benutzerbild von Rizzo
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
Rizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine User
Versuch mal ob es mit ber_id = '$ber' in der WHERE Klausel besser funktioniert.
Rizzo ist offline   Mit Zitat antworten
Alt 19.05.2006, 11:24   #10
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
jep, danke, zumindest kein fehler, meldet auch:
Ihre Daten wurden abgeschickt! Der Bereich BEREICH wurde bearbeitet. Vielen Dank!

aber in der db ändert sich nichts
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 19.05.2006, 11:32   #11
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Problem Beitrag 7

Klar wird immer nur die letzte Option angezeigt, da du ja auch mit jedem Schritt der while-Schleife die Var $options neu schreibst.
Arbeite hier mit einem Array.
PHP-Code:
$ber "
SELECT 
    $table_ber.ber_id, 
    $table_ber.ber_bez 
FROM 
    $table_ber
ORDER BY
    $table_ber.ber_bez
"
;
$resber mysql_query($ber) or die(mysql_error());
$options = array();
while(
$rowber mysql_fetch_array($resberMYSQL_ASSOC))
    {
    
$options[] = "<option value=\"".$rowber['ber_bez']."\">".$rowber['ber_bez']."\n";
    }

echo 
"<select name=\"bereich\">\n";
foreach(
$options as $foo) echo $foo;
echo 
"</select>\n"
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 19.05.2006, 11:35   #12
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts