PHP Datenbearbeitung

M

Matthi Maniac

Guest
Hallo Zusammen!

Apache und MySQL läääängst installiert - soweit schon eine Menge geschafft...
Jetzt will ich mehr in Sachen PHP und MySQL machen und halte mich dabei an
dieses Script: http://www.php-mysql-tutorial.com/cms-admin-php-mysql.php

So weit, so gut... Es klappt schon recht viel und ich hab etwas Durchblick
cool.gif


Minimalen Durchblick.... So ist es besser
rolleyes.gif


Aus dem Tutorial hab ich mir was zusammengesucht, siehe meine beiden Files,
aus denen ich die wichtigsten Code Fragmente kopiert habe.



auslesen.php

CODE
<?php
$query = "SELECT id, name, aufgabe FROM database ORDER BY name";
$result = mysql_query($query) or die('Error : ' . mysql_error());
?>
<table border="0">
<tr align="center" bgcolor="#CCCCCC">
<td colspan="3">Name</td>
</tr>


<?php
while(list($id, $name, $aufgabe) = mysql_fetch_array($result, MYSQL_NUM))
{
?>

<tr>
<td>
<?php echo $name;?>
</td>
<td>
<?php echo $aufgabe;?>
</td>
<td width="150" align="center">
<a href="auslesen_edit.php?id=<?php echo $id;?>">edit</a> |
<a href="javascript:delArticle('<?php echo $id;?>', '<?php echo $name;?>');">löschen</a>

</td></tr></table>





auslesen_edit.php


CODE

if(isset($_GET['id']))
{
$query = "SELECT id, name".
"FROM database ".
"WHERE id = '{$_GET['id']}'";
$result = mysql_query($query) or die('Error : ' . mysql_error());
list($id, $name) = mysql_fetch_array($result, MYSQL_NUM);

}

else if(isset($_POST['name']))
{
$id = $_POST['id'];
$name = $_POST['name'];
$aufgabe = $_POST['aufgabe'];


if(!get_magic_quotes_gpc())
{
$name = addslashes($name);
}

// update the database
$query = "UPDATE database ".
"SET name = '$name', aufgabe = '$aufgabe'".
"WHERE id = '$id' ";
mysql_query($query) or die('Error : ' . mysql_error());



echo " 'Änderunrg durchgeführt.";

// now we will display $title & content
// so strip out any slashes
$name = stripslashes($name);}
$aufgabe = stripslashes($aufgabe);}


?>


<form method="post" action="auslesen_edit.php">
<input type="hidden" name="id" value="<?php echo $id;?>">
<input name="name" type="text" id="name" value="<?php echo $name;?>">


<?php

$aufgabeauslesen = ("SELECT id, aufgabe FROM aufgabe") ");

$result = mysql_query($einsatzzweckauslesen) OR die(mysql_error());

echo "<select name='einsatzzweck'>";
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
echo "<option name='aufgabe' value='";
echo $row['id'];
echo "'>";
echo $row['aufgabe'];
echo "</option>";
}
}
else {
echo "keine aufgabe in datenbank<br />\n";
}
echo "</select>";
?>

<input name="update" type="submit" id="update" value="update">

</form>





Mein Problem ist es jetzt, dass auf der auslesen_edit.php das Dropdown Menu in
alphabetischer Ordnung gelistet wird - ich hätte hier aber gerne als Selectedaus-
wahl die 'alte' Aufgabe.
Ich habe schon versucht aus der auslesen.php die Aufgabe mittels Post zu über-
geben und dann als selected für die Option irgendwie zu verwenden.
Das hat aber alles nicht geklappt...

Weiß jemand Rat und kann mir helfen? Ich würde mich freuen, sitze an diesem
Problem schon den ganzen Tag.....
mad.gif


Danke euch für's Lesen! Liebe Grüße, Matthias
 
Ich habe mir jetzt den ganzen Code nicht im Detail durchgelesen (was wohin gehört und was woher stammt).

Aber in der oberen Sql-Abfrage hast Du ein 'Order By name' drin. Das sortiert dir die obere Ausgabe alphabetisch.

Da ich nicht mit PHP arbeite, weiß ich nicht genau, wie die Variablen sichtbar sind, welche Variable bzw. welcher Sql-Code unten tatsächlich mit $einsatzzweckauslesen ausgeführt und ausgegeben wird.

Aber entweder schlägt das von oben her durch - dann müßtest Du wohl oben die Order By entfernen oder Du mußt den unten ausgeführten Sql-Code um ein Order By nach der id-Spalte ergänzen.
 
So ganz verstehe ich nicht was gemeint ist ...
CODE
echo "<option name='aufgabe' value='";
echo $row['id']."'";

if($row['id'] === $id) {
 echo ' selected';
}

echo ">";
echo $row['aufgabe'];
echo "</option>";



Aber so wirklich hab ich Dein Problem noch nicht verstanden *g*
 
Eh ja.. Danke für Eure Antworten! Ich muss das mal alles auseinandernehmen,
was ihr mir geschrieben habt!

Um es vielleicht anders zu lösen: Ich kann doch aus der auslesen.php die Va-
riable, die auf der auslesen_edit.php als "Selected" in der "Option" markiert sein
soll via POST übergeben.

Wie lese ich die Variable aus dem POST aus, so dass ich sie als "Selected" mar-
kieren kann?

if(isset($_POST['aufgabe']))
{ .......

Ich weiß es nicht.....
sad.gif
 
Zurück
Oben