puschelchen
Erfahrenes Mitglied
Hallo,
ich hab irgendwo n Fehler im Update-Script eig weis ich genau wo nur das ich die Zeit nicht mehr festhält beim aktualisieren.
wie geb ich das nun aus das die Zeit so bleibt :/
ok das Problem is die zeile if(mysql_affected_rows() ==0){
aber wenn datensatz existiert dann aktualisieren er aktualisiert aber nur wenn 1 drin steht
ich hab irgendwo n Fehler im Update-Script eig weis ich genau wo nur das ich die Zeit nicht mehr festhält beim aktualisieren.
PHP:
<html>
<body>
<form action="" method="GET">
<?php
error_reporting(E_ALL);
date_default_timezone_set("Europe/Berlin");
setlocale(LC_TIME,"");
if (isset($_GET) and count($_GET) != 0) {
$dbname = "JPEGChecker-Datenbank";
$tbl="Lizenz";
#$timestamp = time();
$LaufzeitAktiv = date("H-i-s");
mysql_connect('localhost', 'david', 'a') or die ("Keine Verbindung möglich: ".mysql_error());
mysql_select_db($dbname) or die ("Keine Verbindung möglich: ".mysql_error());
$sql = "SELECT * FROM $tbl WHERE `Seriennummer`='".mysql_real_escape_string(@$_GET["dpSrn"])."' ";
$data="";
$data=array();
if (!empty($_GET['Seriennummer'])) $data[] = "Seriennummer LIKE '%" .mysql_real_escape_string($_GET["Seriennummer"])."%'";
if (!empty($_GET['Lizenz'])) $data[] = "Lizenz LIKE '%" .mysql_real_escape_string($_GET["Lizenz"])."%'";
if (!empty($_GET['Laufzeit'])) $data[] = "Laufzeit LIKE '%" .mysql_real_escape_string(@$_GET["Laufzeit"])."%'";
if (!empty($_GET['LaufzeitAktiv'])) $data[] = "LaufzeitAktiv LIKE '%" .mysql_real_escape_string($_GET["LaufzeitAktiv"])."%'";
if (!empty($_GET['LaufzeitEnde'])) $data[] = "LaufzeitEnde LIKE '%" .mysql_real_escape_string($_GET["LaufzeitEnde"])."%'";
if(count($data) > 0) $sql .= " WHERE " . implode(" AND ", $data);
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)==0){
?>
<h1> Die Seriennummer ist nicht vorhanden</h1>
<?php
}
else {
?>
<table border="2" vertical-align="middle" class="tablefont">
<td style="padding:5px"><b>LaufzeitAktiv</b> </td>
<td style="padding:5px"><b>LaufzeitEnde</b></td>
<td style="padding:5px"><b>Verbleibende Stunden </b></td>
</tr>
<?php
while($row = mysql_fetch_assoc($result)) {
$LaufzeitEnde=$LaufzeitAktiv+$row['Laufzeit'];
$diff = ($LaufzeitAktiv - $LaufzeitEnde) * 60 * 60;
$stunden = floor($diff / 3600); $diff = $diff % 3600; $minuten = floor($diff / 60); $sekunden = $diff % 60;
$Stunden=abs($stunden);
?>
<tr>
<td style="padding:5px"><?php if (empty ($row['Lizenz'])) echo "0"; else echo $row['Lizenz'];?></td>
<td style="padding:5px"><?php echo (is_null($row['LaufzeitAktiv']) ? " " :$row['LaufzeitAktiv']);?></td>
<td style="padding:5px"><?php echo $row['LaufzeitEnde'];?></td>
<td style="padding:5px"><?php echo $Stunden;?></td>
</tr>
<?php
mysql_query("UPDATE $tbl SET LaufzeitAktiv = now() WHERE LaufzeitAktiv= '00:00:00'");
if(mysql_num_rows($result)==1){
#if(mysql_affected_rows() == 0){
}
else{
$query ="UPDATE $tbl SET LaufzeitAktiv= NOW(), LaufzeitEnde=DATE_ADD(NOW(), INTERVAL {$row['Laufzeit']} HOUR) WHERE Seriennummer='{$_GET['dpSrn']}'" ;
$sql=mysql_query($query) or die ("Fehler in Abfrage ".$query.":<br/>".mysql_errno()." - ".mysql_error());
}
}
}
}
mysql_close();
?>
</form>
</body>
</html>
ok das Problem is die zeile if(mysql_affected_rows() ==0){
aber wenn datensatz existiert dann aktualisieren er aktualisiert aber nur wenn 1 drin steht
Zuletzt bearbeitet: