Reload nach SQL-Abfrage

Riedel19

Grünschnabel
Hallo zusammen!

Ich suche nach einer Möglichkeit eine Seite nach einer UPDATE-SQL Abfrage zu aktualisieren. Sprich wurde auf den Submit-Button gedrückt und die Abfrage ausgeführt sollte er die Seite reloaden. Ich verschicke die Daten über $_POST

Code:
//ID bekommen
  	$id_spieler=$_GET['id'];
  	$gebot=$_POST['gebot'];
  	
  	//Datum erstellen
  	$punkt="-";
  	
  	$datum=date("Y");
  	$datum.=$punkt;
  	$datum.=date("m");
  	$datum.=$punkt;
  	$datum.=date("d");
  	
  	$jetzt=time();
  	
  	
  			
  	//Ausgabe der letzten aktiven Auktionen
  	$abfrage = "SELECT * FROM auktion where id='".$id_spieler."'";
  	$ergebnis = mysql_query($abfrage);
  	
  	while($row = mysql_fetch_array($ergebnis))
  	{
  		print("<table border='0'>");
 		print("<tr><td>Name: </td><td>".$row[1]."</td></tr>");
  	    print("<tr><td>Position: </td><td>".$row[3]."</td></tr>");
  	    print("<tr><td>Nationalität: </td><td>".$row[2]."</td></tr>");
 		print("<tr><td>Größe: </td><td>".$row[4]."</td></tr>");
  	    print("<tr><td>Geburtsdatum: </td><td>".$row[5]."</td></tr>");
  	    print("<tr><td>Gehalt: </td><td>".$row[6]."</td></tr>");
 		print("<tr><td>Team real: </td><td>".$row[7]."</td></tr>");
  		print("<tr><td> </td></tr>");
 	 print("<tr><td>Höchstgebot: </td><td><font color='green'>".$row[10]."</font> von ".$row[11]."</td></tr>");
  		print("<tr><td> </td></tr>");
  		$jahr=substr($row[8],0,4);
  		$monat=substr($row[8],5,2);
  		$tag=substr($row[8],8,2);
  		$uhrzeit=substr($row[8],11,8);
  		
  		
  		$end=strtotime($row[8]);
  		$noch=$end-$jetzt;
  		$tage=date("j", $noch)-1;
  		$stunde=date("G", $noch)-1;
  		$minuten=date("i", $noch);
  		$sekunden=date("s", $noch);		
  				
 		//print("<tr><td> verbleibende Zeit ".$restzeit."</td></tr>");
  		
     }
  	   if($end>$jetzt) {
 	print("<tr><td colspan=2>Auktionsende am ".$tag.".".$monat.".".$jahr." um ".$uhrzeit."</td><td><a href='javascript: window.location.reload()'>Reload</a></td></tr>");
 	print("<tr><td colspan=2> verbleibende Zeit ".$tage." Tag(e) ".$stunde." Stunden ".$minuten." Minuten ".$sekunden." Sekunden </td></tr>");
  	print("<tr><td> </td></tr>");
  	print("<tr><td> </td></tr>");
  	
  	//Auf gültige ID prüfen
 	$getinfo=$DB->query( "SELECT user_auktion FROM ".$db_tab['user']." where user_nick='".$USER['nick']."'");
  	
  	$okay=mysql_result($getinfo,0);
  	
  	if($okay==1) {
 	print("<tr><td><form method='post' name='bieten' action='include.php?path=auktionen/details.php&id=$id_spieler' onSubmit='include.php?path=auktionen/details.php&id=$id_spieler'>Gebot: <input type='text' name='gebot'></td></tr>");
 	print("<tr><td><input type=submit name='bieten' value='bieten'></from></td></tr>");
  	}
  	
  		if($gebot%10000!=0) {
 		 print("<tr><td><font color='red'>Ungültiges Gebot. Dein Gebot muss durch 10.000 teilbar sein!</font></td></tr>");
  		}
  		else
  		{
  		    $anf_max_gebot="SELECT (gebot) from auktion where id='".$id_spieler."'";
  			//print($anf_max_gebot);
  			$max_gebot=mysql_result(mysql_query($anf_max_gebot),0);
  				
  			if($gebot>$max_gebot) {
 		 	$update_gebot="UPDATE auktion SET gebot='".$gebot."', bieter='".$USER['nick']."' where id='".$id_spieler."'";
  				//print($update_gebot);
 				$erg_update=mysql_query($update_gebot);
  				
  			}
  			
  		}
  	
  	   }
  	   
  	else 
  	{
  	   print("<tr><td>Auktion bereits abgelaufen.</td></tr>");
     
  	}
  	   if(isset($_POST['gebot'])) {
  		header('location include.php?path=auktionen/details.php&id=$id_spieler'); 
  	}
  		
  	   print("</table>");
 
Versteh ich nicht ganz, du kannst doch danach einfach per header() wieder auf die seite umleiten und diese wird dann neu geladen, oder?
 
Genau, mit header() leitest Du nach dem update() einfach auf die selbe Seite bzw. eine andere gewünschte Seite weiter.
Damit werdeb dann die geänderten Daten angezeigt!
So mache ich das zumindest nach allen update() oder insert() Anweisungen!

redlama
 
Wieso nen extra Header einbauen? Wenn die Logik der Seite stimmt, kommt der Reload nach dem Klick von alleine. Da braucht man nix extra einbauen.
 
hm das mitm header hört sich gut an!
muss ich mir mal driekt angucken!

habs erst über js versucht mit OnSubmit='...' aber das wollte nicht!

jetzt ist nur ein einfach button für den reload da!

kann ich mit dem header auch einen reload link machen?!

hab mich mit headern noch nicht viel beschäftigt
 
Ich habe auf meinen Seiten oben immer die Logik, die hinter den Knöpfen steht. Also die INSERT, UPDATE, ... Anweisungen. Danach geb ich erst das Layout aus. Nachdem das Skript die Logik schon verarbeitet hat, kommt das Layout mit den SELECT-Anweisungen. Die Daten sind jetzt auf dem neusten Stand und ich spare mir den Reload der Seite.
 
Ja, du kannst dir auch nen Reload-Link basteln. Einfach $_POST[button-name] abfragen und dort den Header einfügen. Aber ich würde mir die Sache durch Umbau der Seite vereinfachen.
 
ich machs jetzt einfach mit dem header!
scheint ja ne simple lösung zu sein!
danke für die schnelle hilfe!

vielleicht baue ich das skript auch mal nach deinem vorschlag auf! aber erstmal das mit dem header versuchen
 
Zurück