Daten ändern

Pumagirl8
Mhh, wieder ein problem.
Ich möchte die daten nun ändern, aber da klappt es wieder nicht, selbst beim 4. versucht nicht.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
<?php
if ($auswahl)
{
   $db mysql_connect("localhost""xxx""mein pw");

   $sqlab "select * from pferde where";
   $sqlab "name = $auswahl";

   $res mysql_db_query("photocharts_01"$sqlab);

   $aname mysql_result($res0"Name");
   $ageschlecht mysql_result($res0"Geschlecht");
   $arasse mysql_result($res0"Rasse");
   $ageburtsdatum mysql_result($res0"Geburtsdatum");

   echo "Führen Sie die Änderungen durch, betätigen Sie anschließend den Button.<br>";

   echo "<form action = 'aendern2.php' ";
   echo " method = 'post'>";

   echo "<input name='neuname' value='$aname'>";
   echo " Name<p>";
   echo "<input name='neugeschlecht' value='$ageschlecht'> ";
   echo " Geschlecht<p>";
   echo "<input name='neurasse' value='$arasse'>";
   echo " Rasse<p>";
   echo "<input name='neugeburtsdatum' value='$ageburtsdatum'>";
   echo " Geburtsdatum<p>";
   echo "<input type='hidden' name='oriname' ";
   echo " value='$auswahl'>";

   echo "<input type='submit' ";
   echo " value='Änderungen in DB speichern'><p>";
   echo "<input type='reset'>";
   echo "</form>";

   mysql_close($db);
}

else
   echo "Es wurde kein Datensatz ausgewählt<p>";
?>



ausgewählt werden soll hier von:
http://photocharts.po.ohost.de/pferde.php

Dann zeigt er mir an, dass mysql_result () nicht geht.
Bei dem code zum eintragen ging es aber. *wunder*
Wäre um hilfe dankbar.
lycoos
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:

<?php
if ($auswahl)
{
   $db mysql_connect("localhost""xxx""mein pw");
   
    $auswahl $_request['name'];

   $sqlab "(Select * from pferde where";
   $sqlab. = "name = '".$auswahl."'");

   $res mysql_db_query("photocharts_01"$sqlab);

   $aname mysql_result($res0"Name");
   $ageschlecht mysql_result($res0"Geschlecht");
   $arasse mysql_result($res0"Rasse");
   $ageburtsdatum mysql_result($res0"Geburtsdatum");

   echo "Führen Sie die Änderungen durch, betätigen Sie anschließend den Button.<br>";

   echo "<form action = 'aendern2.php' ";
   echo " method = 'post'>";

   echo "<input name='neuname' value='$aname'>";
   echo " Name<p>";
   echo "<input name='neugeschlecht' value='$ageschlecht'> ";
   echo " Geschlecht<p>";
   echo "<input name='neurasse' value='$arasse'>";
   echo " Rasse<p>";
   echo "<input name='neugeburtsdatum' value='$ageburtsdatum'>";
   echo " Geburtsdatum<p>";
   echo "<input type='hidden' name='oriname' ";
   echo " value='$auswahl'>";

   echo "<input type='submit' ";
   echo " value='Änderungen in DB speichern'><p>";
   echo "<input type='reset'>";
   echo "</form>";

   mysql_close($db);
}

else
   echo "Es wurde kein Datensatz ausgewählt<p>";
?>


so vielleicht
Pumagirl8
dann kommt das:

Parse error: syntax error, unexpected '=' in /usr/export/www/hosting/photocharts/aendern.php on line 17


line 17:

$sqlab. = "name = '".$auswahl."'");
Game(R)ST
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:

<?
if($auswahl) {
    $db mysql_connect("localhost""xxx""mein pw");

    $sqllab "SELECT * FROM pferde WHERE name = '$auswahl'";
    
    $res mysql_db_query("photocharts_01"$sqllab$db);
    
    $row mysql_fetch_assoc($res);
    $aname $row['Name'];
    $ageschlecht $row['Geschlecht'];
    $arasse $row['Rasse'];
    $ageburtsdatum $row['Geburtsdatum'];
    
    $echo <<<FORM
    <form action="aendern2.php" method="post">
    <input name="neuname" value="$aname" type="text"> Name<br>
    <input name="neugeschlecht" value="$neugeschlecht" type="text"> Geschlecht <br>
    <input name="neurasse" value="$arasse" type="text"> Rasse<br/>
    <input name="neugeburtsdatum" value="$ageburtsdatum"> Geburtsname<br/>
    <input type="hidden" name="oriname" value="$auswahl">
    <input type="submit" value="Änderung in DB speichern"><br/>
    <input type="reset">
    </form>
    FORM;
}
?>


1. Versuchs mal so.
2. Wäre es besser eine änderung immer mit der ID des Feldsatztes zumachen, denn wenn ein Name 2 oder 3 mal vorkommt kann es zu problemen kommen.
3. Gewöhn dir mal ne bessere SQL-Schreibweise an. das erleichtert dein LEben.
4. soll geprüft werden ob $auswahl exisitert oder gesetzt wurde?
DAnn mach das lieber mit if(!empty($auswahl)) oderif(isset($auswahl))
Es ist wesentlich besser als if($auswahl).
Und noch ein Tipp, um dir Quellcode zusparren, mach doch eine config.inc.php oder db.inc.php
php:
1:
2:
3:
4:
5:
6:

<?
$db mysql_connect("localhost""xxx","mein pw");
@mysql_select_db("DBname"$db);
?>

und setzt in jede php datei lieber
include("db.inc.php");
5. man sollte an die mysql_db_query auch die ID der Verbindung geben. Wirt besser.
Pumagirl8
thx!

Jetzt bin ich ein ganzes Stück weiter, leider scheitere ich noch am speichern der daten:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<?php
include("db.inc.php");

   $sqlab "UPDATE pferde SET
             Geschlecht = '$neugeschlecht',
             Rasse = '$neurasse',
             Geburtsdatum = '$neugeburtsdatum'
             WHERE name = '$oriname'";

   mysql_db_query("photocharts_01"$sqlab);

   $num mysql_affected_rows();
   if ($num>0)
      echo "Der Datensatz wurde geändert<p>";
   else
      echo "Der Datensatz wurde nicht geändert<p>";

   mysql_close($db);
?>


Die ausgabe ist diese hier: http://photocharts.po.ohost.de/aendern2.php
Wieso speichert er es nicht?

Danke auch für deine Ratschläge mit dem includebefehl.

Wie kommt man eigentlich an die ID eines Datensatzes, wird die einfach abrufbar?