login  Naam:   Wachtwoord: 
Registreer je!
 Forum

knop om database te legen

Offline wotsupdoc1 - 26/02/2007 15:17
Avatar van wotsupdoc1Nieuw lid Ik weet dat het commando is om een database te legen is:

<?php
$query = "TRUNCATE TABLE Inschrijfformulier";
mysql_query($query);
?>

Maar hoe koppel ik dat nou aan een knop in een formulier?
Kan iemand me helpen?

8 antwoorden

Gesponsorde links
Offline ikkedikke - 26/02/2007 15:19
Avatar van ikkedikke PHP expert zoals dat bij ieder formulier werkt?
maak een checkbox met leeg tabel. kijk bij het submitten of het ding aangevinkt is.
Offline Rik - 26/02/2007 15:45 (laatste wijziging 26/02/2007 15:45)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Werkt dit niet?
  1. <?php
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  3. /* Maak hier ergens database connectie */
  4. $query = "TRUNCATE TABLE Inschrijfformulier";
  5. if (mysql_query($query)) {
  6. echo 'Geleegd!';
  7. } else {
  8. echo 'Query fout: ' . mysql_error();
  9. }
  10. } else {
  11. ?>
  12. <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  13. <input type="submit" value="Leeg!">
  14. </form>
  15. <?php
  16. }
  17. ?>
Offline wotsupdoc1 - 26/02/2007 19:44
Avatar van wotsupdoc1 Nieuw lid Att. Boukefalos:
Citaat:
php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
/* Maak hier ergens database connectie */
$query = "TRUNCATE TABLE Inschrijfformulier";
if (mysql_query($query)) {
echo 'Geleegd!';
} else {
echo 'Query fout: ' . mysql_error();
}
} else {


Zodra ik bovenstaande code erbij zet, krijg ik:
Citaat:
Parse error: syntax error, unexpected $end in form.php on line 690

En regel 690 is de laatste regel van de pagina
:o
Offline Rik - 26/02/2007 20:05
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Het lijkt erop dat je ergens een } vergeten bent...

Heb je dit stukje
  1. <?php
  2. }
  3. ?>
ook staan?
Offline wotsupdoc1 - 26/02/2007 20:42 (laatste wijziging 27/02/2007 08:06)
Avatar van wotsupdoc1 Nieuw lid Je had gelijk, dat laatste stukje stond er niet bij.

Helemaal fantastisch!
^^
Het werkt!
:D

Hartstikke bedankt

Nog één laatste vraag,
Ik moet op een pagina een aantal tabellen leegmaken,
ik neem aan dat ik dan voor elke tabel $query een andere naam moet geven.

Het punt is dat ik niet snap wat de link tussen de knop en het commando TRUNCATE TABLE is.
Dat is natuurlijk $_SERVER['PHP_SELF'], maar ik weet niet hoe dat $query aanstuurt, vandaar ik even wil checken of ik door $query voor elke tabel te hernoemen het voor meerdere tabellen kan gebruiken.

Als ik $query voor elke tabel uniek maak, dan leeg ik met de knop "legen" alle tabellen in één keer, maar dat is niet wat ik wil, ik wil voor elke tabel een knop die alleen die tabel leegt.

Het lijkt me logischer om $_SERVER voor elke tabel uniek te maken, maar dan werkt die superglobal niet meer.
Kan ik niet één of andere variabele meegeven zodat slechts één tabel geleegd wordt?

Oh ja, natuurlijk hebben alle knoppen unieke namen en zitten in een form met een unieke naam

Alvast bedankt
Offline nemesiskoen - 27/02/2007 07:18
Avatar van nemesiskoen Gouden medaille

PHP expert
De naam van de knop zal de waarde van een bepaalde $_POST variabele bepalen. Kijk of die waarde bestaat en voor dan het bijhorende commando uit. Hier ga je wss een vage html bij hebben omdat volgens mij maar 1 submit knop per formulier past. Wat je wel kan doen is een beetje met wat javascript spelen: 'onclick:this.form.submit()' of iets in die aard.
Offline wotsupdoc1 - 27/02/2007 08:16 (laatste wijziging 27/02/2007 08:18)
Avatar van wotsupdoc1 Nieuw lid Att Fjortis:
Citaat:
Kijk of die waarde bestaat en voor dan het bijhorende commando uit

Citaat:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
require_once('../Connections.php');
$queryVerl = "TRUNCATE TABLE Inschrijfformulier";
if (mysql_query($queryVerl)) {
echo 'Geleegd!';
} else {
echo 'Query fout: ' . mysql_error();
}
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" name="Verl" id="Verl">
<input name="Verl" type="submit" class="tekstblauw" id="Verl" value="Leeg">
</form>
<?php
}
?>


Welke waarde heb je het over?
:?:
Offline nemesiskoen - 27/02/2007 08:31 (laatste wijziging 27/02/2007 08:34)
Avatar van nemesiskoen Gouden medaille

PHP expert
"Verl" is hier de naam. Dat van die onclick moet je trouwens vergeten omdat dat toch niet gaat werken, je gaan dan een hoop formpkes bouwen:-)

Ik ga hier een logica uitschrijven, de rest moet je zelf doen:

  1. <begin form>
  2. <submit button name="firstTableName" ...>
  3. </end form>
  4. <begin form>
  5. <submit button name="secondTableName" ...>
  6. </end form>
  7.  
  8. <php>
  9. if(exists('firstTableName') in POST[]) {
  10. executeQueryForFirstTable();
  11. }
  12. if(exists('secondTableName') in POST[]) {
  13. executeQueryForSecondTable();
  14. }
  15. // of:
  16. executeQueryFor(getValueInPost());
  17. </php>


Ik heb dit in psuedocode geschreven zodat je zelf ook iets moet doen (en omdat psuedo-php-code er grappig uit ziet:-)).
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s