DELETE query
ik heb een gastenboek met een mysql database. Als het gastenboek nu vol aan het raken is of ik wil iemands ip adres achterhalen dan log ik in via phpMyAdmin via mijn ISP. Dit is heel omslachtig doordat ik twee maal moet inloggen met wachtwoorden en usernames die niet zijn te onthouden.
Nu ben ik bezig met een klein script te maken zodat ik iemands ip adres kan achterhalen. Dit is inmiddels voldoende gelukt. Op deze manier:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$result = mysql_query ("SELECT * FROM gastenboek ORDER BY id DESC");
if ($result && mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_array($result))
{
echo ''.$row['id'].' '.$row['auteur'].' '.$row['ip'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
if ($result && mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_array($result))
{
echo ''.$row['id'].' '.$row['auteur'].' '.$row['ip'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
Nu wil ik ook een knop of zo maken waarmee ik alles uit de database DELETE behalve de laatste 200 berichten. Er kan niet met datums gewerkt worden omdat deze niet goed zijn gebruikt. De datum komt namelijk als gewoon tekstveld in de mysql database te staan. De berichten in het gastenboek worden dan ook gesorteerd op ID.
Kan iemand mij een voorzetje geven of iets dergelijks??
Gewijzigd op 01/01/1970 01:00:00 door Bassos
Quote:
Hoeveel miljard bezoekers heb jij dan wel niet? Een database raakt echt zelden vol, dat kan bijna niet.Als het gastenboek nu vol aan het raken is
En wanneer jij niet alles op het scherm wilt tonen, gebruik dan een LIMIT.
Dit topic klinkt mij in de oren als volkomen onzinnig.
ps. Waar is de WHERE in jouw query? Je haalt nu alle data op, niet de gegevens van 1 user.
Edit: In PostgreSQL kan 1 enkele tabel 32 TB groot zijn. Volgens Wikipedia is dat gelijk aan alle tekst van 32 grote universiteitsblibliotheken...
Edit 2: moet niet overdrijven...
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Ik denk in de volgende richting...
Het script moet de eerste row pakken en dan daar het ID van, deze plus 200 doen en alles boven dat getal verwijderen.
Gewijzigd op 01/01/1970 01:00:00 door Bassos
Kortom, wat is het doel van dit script?
wat ee kk toetsenoekn
denk ik :)
1 Dat ik alle gegevens uit de database ophaal en naar het scherm schrijf. Zodat ik wanneer iemand onder een andere naam in mijn gastenboek post verschillende ip adressen kan vergelijken om te kijken wie het werkelijk is.
2 Ik wil graag mijn database schoon houden (dus onnodige gegevens verwijderen als die niet meer nodig zijn). En in dit geval zijn dat oude berichten in het gastenboek.
En deze dingen wil ik kunnen doen zonder al de moeite van het 2 keer inloggen met moeilijke gebruikergegevens via phpMyAdmin. Deze inloggegevens zijn overigens niet aan te passen anders had ik hier wel voor gekozen.
Alleen hoe zet ik die query in werking d.m.v. een knop. Want het moet niet zo zijn wanneer ik die pagina open dat hij elke keer die query uitvoert.
ps. hoe krijg je die gekleurde php code hier in het codevak?
Gewijzigd op 01/01/1970 01:00:00 door Bassos
Misschien off topic maar waarom zou je een scipt gebruiken als je makkelijk op basis van ID een hele range kunt verwijderen.
Stel voor dat je 10000 gebruikers in je gastenboek geschreven hebben, nu wil je 200 laatste berichten bewaren. dan doe je toch:
DELETE from gastenbeok where id between 1 and 9800;
Ik gebruik zelf een unixserver... en dit is wel erg een makkelijke manier om het te doen.
Maar hoe zet je die query in werking met behulp van een knop?
Gewijzigd op 01/01/1970 01:00:00 door Bassos
Is er dan niemand die me even kan vertellen hoe ik de query in werking zet dmv een knop?
Edit:
Niet gelezen
Niet gelezen
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<a href="?del=del">Verwijderen</a>
<?php
if(isset($_GET['del']) && $_GET['del'] == 'del'){
//query + uitvoer
}
?>
nogmaals, waarom zou je dit doen. Je hebt er niks aan. Als jij 99999999999999999999 records hebt in je tabel zou je eventueel kunnen opschonen maar dat ik toch nergens voor nodig zolang niks eronder lijdt.
<?php
if(isset($_GET['del']) && $_GET['del'] == 'del'){
//query + uitvoer
}
?>
nogmaals, waarom zou je dit doen. Je hebt er niks aan. Als jij 99999999999999999999 records hebt in je tabel zou je eventueel kunnen opschonen maar dat ik toch nergens voor nodig zolang niks eronder lijdt.
PHPhulp is er om juiste adviezen te leveren... als je die niet wenst vraag ik me af wat je hier dan wel verwacht...
Ik heb namelijk de keuze om mijn gastenboek aan te passen of even een simpel DELETE scriptje maken. Nu heb ik niet zo heel veel tijd en kunde dus kies ik voor de snelste en simpelste oplossing.
In ieder geval bedankt voor de hulp.