Zum Inhalt springen

[php] Problem mit nachträglichem Bild in DB schreiben


Empfohlene Beiträge

Moin,

hab ein kleines prob

und zwar will ich daten die schon in einer db sind nchträglich veränder, eigentlich auch kein prob.

Das prob is, dass wenn ich zu den daten noch ein bild hoch laden will schreibt der ums verecken nicht den dateinamen in die datenbank.

beim anlegen macht der das

edit2.php

<?php 
session_start();
if ($_SESSION["log_in"] != 1) {
$log_txt = 'Sie müssen sich einloggen!';
}
else
{
?>
<? include ("config.php") ?>
<?php

$db = mysql_connect($dbhost,$dbuser,$dbpasswd);

$res = mysql_db_query("$dbname","select * from filme Where Id = $titel");
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$title = mysql_result($res, $i, "titel");
$a_cds = mysql_result($res, $i, "anzahl_cds");
$fo_id = mysql_result($res, $i, "format_ID");
$in = mysql_result($res, $i, "inhalt");
$img = mysql_result($res, $i, "bild");
}
$res = mysql_db_query("$dbname","select format from format Where format_ID = ".$fo_id."");
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$fo_id = mysql_result($res, $i, "format");
}
mysql_close($db);
?>
<html>
<head>

</head>
<body>
<p></p>
Geben Sie einen vollständigen Datensatz ein und senden Sie das
Formular ab:

<form action = "edit3.php" enctype="multipart/form-data" method = "post">
<table>
<tr>
<td><input name="titel" type="hidden" value="<?php echo $titel; ?>">
<input name="vn" value="<?php echo $title; ?>"> Titel<p>
<input name="pn" value="<?php echo $a_cds; ?>"> Anzahls der CDs<p>
<input name="fo_id" value="<?php echo $fo_id ?>">
<p>
<select name="ge">
<?php
$db = mysql_connect($dbhost,$dbuser,$dbpasswd);
$sqlab = "SELECT * FROM format";
$res = mysql_db_query("$dbname", $sqlab);
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$fo = mysql_result($res, $i, "format");
$foid = mysql_result($res, $i, "format_ID");
echo "<option value=$foid>$fo</option>";
}
mysql_close($db);
?>
</select>
<select name="gen">
<?php
$db = mysql_connect($dbhost,$dbuser,$dbpasswd);
$sqlab = "SELECT * FROM genre";
$res = mysql_db_query("$dbname", $sqlab);
$num = mysql_num_rows($res);
for ($i=0; $i<$num; $i++)
{
$fo = mysql_result($res, $i, "genre");
$foid = mysql_result($res, $i, "Id");
echo "<option value=$foid>$fo</option>";
}
mysql_close($db);
?>

</td>
<td><? if (!empty($img)){ echo "<img src=tmp/$img alt='$title' height='165' width='115'>";} else {echo "<img src=bilder/nopic.jpg alt='no pic' height='165' width='115'>";} ?></td>
</tr>
<tr>
<td colspan="2"></select>
<p> <textarea name="txt" cols="50" rows="10" id="txt"><?php echo $in ?></textarea>
<p>
<--hier wähle ich das bild aus, dass hochgeladenwerden soll -->
<input type="file" name="file">
<input type="submit" name="gesendet" value=" Update DB "></td>
</tr>

</form>
<p><?php echo $error; ?></p>
<?php } ?>
</body>
</html>
[/PHP]

edit3.php

[PHP]<?php
session_start();
if ($_SESSION["log_in"] != 1) {
$log_txt = 'Sie müssen sich einloggen!';
}
else
{
?>
<? include ("config.php") ?>
<?
$db = mysql_connect($dbhost,$dbuser,$dbpasswd);
if (!empty($gesendet))
{
if ($vn == '' or $pn =='' or $ge == '')
{
$error = 'Fehler, bitte alle Felder Ausfüllen!!';
}
else
{

if(!empty($file_name))
{
if(@copy($file,"tmp/$file_name"))
{
echo "<b>Upload bendet!</b><br>";
echo "Dateiname: $file_name";
echo "<br>";
echo "Dateigröße: $file_size Byte";
}
}
//bis hier hin klappt alles das bild wird auch hochgeladen
if(ctype_digit($pn))
{
$sqlab = "update filme set titel ='".$vn."',anzahl_cds = '".$pn."', ";
// hier soll er den file_namen in die spalte bild schreiben, dass macht er nicht
if ($file_name != ""){$sqlab .="bild='".$file_name."'";}
$sqlab .="inhalt = '".$txt."', format_ID = '".$ge."', genre_ID ='".$gen."' where Id = '$titel'";
mysql_db_query($dbname, $sqlab);
$num = mysql_affected_rows();
if ($num>0)
{
$error = 'Der Datensatz wurde erfolgreich bearbeitet<p>';
}
else
{
$error = 'Es ist ein Fehler aufgetreten, es wurde kein Datensatz bearbeitet<p>';
}
}
else
{
$error = 'Anzahls der CDs muss eine Zahl sein';
}
}
} mysql_close($db);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>

<body>
<p><? echo $error; ?></p>
<p><a href="edit.php">Zurück</a></p>
<?php } ?>
</body>
</html>

Ich weiß das nicht das beste an prog kunst fang aber gerade an mir das bei zu bringen.

thx

Link zu diesem Kommentar
Auf anderen Seiten teilen

versuch mal in deinem update die ints net als Strings zu deklarieren und die SQL-Keywords gross zu schreiben :)

Das ändert zwar nichts an der funktionalität, aber an deinem Coderstil ^^

Könntest du mal die struktur von filme posten... dann kann dir vielleicht jemand helfen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...