Hallo!
Ich habe hier volgendes Problem, da ich ein ziemlicher Frischling in sachen PHP bin habt ein bischen Mitleid wenn meine Ausführungen den ein bischen unprofessionel sind, habe hier ein Script was auf einer Datenbank CD nach EAN Code einlagert und den bei Abfrage die ID "entrtspricht dem Lagerplatzt" ausgibt.
PHP
<?php
# cd-Lagerauskunft für die Retoure
ob_start();
$backURL = "index.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript">
<!-- Beginn
function checkchars() {
var max=13;
var min=10;
if (document.lagerplatz.ean.value.length > max) {
alert("Zu viele Zeichen eingegeben. Nicht mehr als 13 Zeichen eingeben.");
document.lagerplatz.ean.focus();
return false;
}
else if (document.lagerplatz.ean.value.length < min) {
alert("Zu wenig Zeichen eingegeben. Nicht weniger als 10 Zeichen eingeben.");
document.lagerplatz.ean.focus();
return false;
}
else {
return true;
}
}
function fetchFocus(){
try{
document.lagerplatz.ean.focus();
}catch(e){}
}
// Ende -->
</script>
<meta http-equiv="OnKey0x1b" content="<?=$backURL?>"/>
<title>CD einlagern</title>
</head>
<body bgcolor="lightgreen" onload='fetchFocus();'>
<?php
$ean=$_GET['ean'];
$seite_n=$_GET['seite_n'];
$dblink=mysql_connect('lxretdbsvr','admin','admin') or die('Datenbankserver nicht verfügbar!');
mysql_select_db('retoure') or die('Datenbank nicht verfügbar!');
$db_count_a="select count(*) from retoure_sort where EAN='Keine Daten' and (Gasse=50 or Gasse=51 or Gasse=52 or Gasse=53)";
$dbca=mysql_query($db_count_a);
$rowca=mysql_fetch_row($dbca);
if (isset($ean) and ($ean!='')) {
if (isset($_GET['action']) and ($_GET['action']=='delete')) {
$db_dquery="update retoure_sort set EAN='Keine Daten',Datum_letzt=now(),Count=0 where EAN=$ean";
$dbd=mysql_query($db_dquery);
header("Location:http://lxretdbsvr/lagerauskunft/cd.php");
ob_end_flush();
exit;
}
ob_end_flush();
$db_query="select EAN,Gasse,Seite,Spalte,Ebene,ID,date_format(Datum_letzt,'%d.%b %Y') from retoure_sort where EAN='$ean' Order by ID";
$dbq=mysql_query($db_query);
if (mysql_num_rows($dbq) > 0) {
$row=mysql_fetch_row($dbq);
$db_insert="update retoure_sort set Datum_letzt=now(),Count=Count + 1 where ID=$row[5]";
$dbi=mysql_query($db_insert);
}
else {
if (isset($seite_n) and ($seite_n=='A')) {
$db_query_a="select EAN,Gasse,Seite,Spalte,Ebene,ID from retoure_sort where EAN='Keine Daten' and (Gasse=50 or Gasse=51 or Gasse=52 or Gasse=53) Order by ID LIMIT 1";
$dbq_a=mysql_query($db_query_a);
if (mysql_num_rows($dbq_a) > 0) {
$row=mysql_fetch_row($dbq_a);
$db_insert_a="update retoure_sort set EAN='$ean',Datum_erst=now(),Count=Count + 1 where ID=$row[5]";
$dbi=mysql_query($db_insert_a);
}
else {
echo '<script type="text/javascript">
document.write("<center><br><br>Im gewählten Bereich ist leider kein Lagerplatz mehr frei!<br><br><a href=\"cd.php\">Zurück</a></center></body></html>");
</script>';
exit;
}
}
else {
echo '<script type="text/javascript">
document.write("<center><br><br><a href=\"cd.php?ean=' . $ean . '&seite_n=A\"> Einlagern </a><br /><br /><br /><br /><a href=\"cd.php\"> Zurück </a> </center></body></html>");
</script>';
exit;
}
}
}
else {
ob_end_flush();
}
?>
<form style="margin:0px;" name="lagerplatz" action="cd.php" method="get" onsubmit="return checkchars();">
<table border="0" width="200" cellpadding="2">
<tr>
<td colspan="2" align="center"><h1>CD einlagern</h1></td>
</tr>
<tr>
<td class="label">EAN-Code:</td>
<td><input class="input" name="ean" align="left" type="text" size="15" value="<?php echo $ean; ?>" maxlength="13" onFocus="javascript:this.form.ean.select();"></td>
</tr>
<tr>
<td class="label">Freie Plätze:</td>
<td class="big">A: <?php echo $rowca[0]; ?></td>
</tr>
<tr>
<td class="label">EAN-Code:</td>
<td class="big"><?php echo $row[0]; ?></td>
</tr>
<tr>
<td class="label">Lagerplatz:</td>
<td class="platz"><?php
echo(str_pad($row[1],2,"0",STR_PAD_LEFT).".".
str_pad($row[2],1,"0",STR_PAD_LEFT).".".
str_pad($row[3],3,"0",STR_PAD_LEFT).".".
str_pad($row[4],2,"0",STR_PAD_LEFT));
?></td>
</tr>
<tr>
<td class="label">letzte<br/>Einlagerung:</td>
<td class="big"><?php echo($row[6]) ?></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="auswahl" value=" Anzeigen " accesskey="9"/>
</td>
</tr>
</table>
</form>
<table style="margin-top:12px;">
<tr><td>
<form action="index.php">
<p align="center">
<input type="submit" value=" Zurück "/>
</p>
</form>
</td><td>
<form method="post" onSubmit="return confirm('Lagerplatz streichen?');" action="cd.php?ean=<?php echo $ean; ?>&action=delete">
<p align="center">
<input type="submit" value="Lgpl. streichen"/>
</p>
</form>
</td></tr>
</table>
</body>
</html>
Alles anzeigen
Nun ist es so wenn ein EAN Code eingegeben wird der noch nicht in der Datenbank eingetragen ist kommt die abfrage per Button "Einlagern" oder "Zurück".
Dieses soll heraus es soll sofort in die Datenbank geschreiben werden ohne abfrage "Einlagern" oder "Zurück"
Das ist diese:
PHP
else {
echo '<script type="text/javascript">
document.write("<center><br><br><a href=\"cd.php?ean=' . $ean . '&seite_n=A\"> Einlagern </a><br /><br /><br /><br /><a href=\"cd.php\"> Zurück </a> </center></body></html>");
</script>';
exit;
}
Leider bin ich mit meim Latein am ende und weiss nicht weiter wäre sehr froh über Eure Hilfe.
Gruß Enno