# SQL/PHP-Befehl per Button



## vsitor (6. Mai 2006)

Hallo,

ich möchte bei einer Seite einen Button einfügen, mit dem ich Statistiken auf Null setzen kann. Bisher habe ich es immer mit phpmyadmin gemacht, indem ich folgenden Code eingab:


```
UPDATE content SET hits=0
```

Wie kann ich einen Button einbauen, der diesen Befehl ausführt?
Danke


----------



## Admi (6. Mai 2006)

In dem du hinter dem Button einen Link zu einem Verarbeitungsscript setzt. Dieses setzt die Hits = 0 und leitet via header(); Funktion nach Erledigung sofort wieder zurück.


----------



## Dr Dau (6. Mai 2006)

Hallo!

In dem Du ein Formular mit Submit-Button anlegst.
Dann lässt Du eine Abfrage starten ob dieser Button gedrückt wurde.
Wenn ja, lässt Du eine Verbindung zu MySQL aufbauen, die Datenbank auswählen und dann den Query ausführen.

Ich versuche es mal ungetestet und in Kurzform:

```
<?php
if(isset($_POST['reset_hits'])) {
mysql_connect("host","user","pass");
mysql_select_db("datenbank");
mysql_query("UPDATE content SET hits=0");
mysql_query("OPTIMIZE TABLE content;");
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
     <input type="submit" name="reset_hits" value="Hits zurücksetzen">
</form>
```
Gruss Dr Dau


----------



## vsitor (6. Mai 2006)

Hallo und danke für deine Hilfe.

Es hört sich auch ganz logisch an, funktioniert aber leider nicht :-(
Da ich mit den Statistiken eh schon im Backend bin, kann man dann nicht auf die Datenbankanbindung verzichten oder mit include arbeiten ?

Viele Grüße


----------



## vsitor (6. Mai 2006)

Jetzt hats geklappt!


```
<input type="hidden" name="option" value="<?php echo $option;?>" />
  	<input type="hidden" name="task" value="<?php echo $task;?>" />
```
Das hatte noch gefehlt.


----------



## vsitor (6. Mai 2006)

Jetzt habe ich ein weiteres Problem. Es geht um refresh.
Ich muss den Button zweimal drücken.
Bei einmal klicken setzt er zwar alles auf Null, aber sichtbar ist es nur wenn ich die F5-Taste drücke oder wie gesagt zweimal auf den Button klicke.

Irgendwer eine Idee?
Danke


----------



## Danielku15 (6. Mai 2006)

Du musst einfach das Update-Query ausführen bevor du die Daten wieder ausliest. 
Sprich: Update vor Select.


----------



## Dr Dau (6. Mai 2006)

Naja, ich kenne ja Dein Script bzw. Deine Datenbank nicht. 

Die Reihenfolge der Querys kann einen schon manchmal zur Verzweiflung bringen.


----------

