login  Naam:   Wachtwoord: 
Registreer je!
 Forum

INSERT INTO onderaan?

Offline Gamezhoek - 15/03/2006 15:47
Avatar van GamezhoekHTML interesse Ik heb nu nog een probleem, het klinkt best ingewikkeld, maar ik weet niet of dat wel zo is.
Ik heb een tabel, genaamd 'top5'.
Daarin hebben alle rijen de waarde 'id' = 1 t/m 5 (auto_increment) en de waarde 'website' met een url erin.
Ik wil vanaf de website steeds een rij kunnen toevoegen. Normaal gebruik ik dan:
  1. $sql = "INSERT INTO `top5` (`website`) VALUES ('http://www.ramproductions.nl')";
  2. if(mysql_query($sql))
  3. {
  4. echo "Uw website is aan de top5 toegevoegd.";
  5. }

Maar, deze rij word dan helemaal onderaan geplaatst, en krijgt dan het 'id' 5.
Maar ik wil juist, dat deze het 'id' 1 krijgt, en de website met het 'id' 6 (die daarvoor dus het 'id' 5 had) word verwijderd, maar hoe krijg ik dit in elkaar?
Het eerste probleem is alweer dat ik niet weet hoe ik het vooraan de tabel kan plaatsen, ipv achteraan.
Iemand enig idee? Of moet ik echt één voor een de waarde's opschuiven?

4 antwoorden

Gesponsorde links
Offline Lemon - 15/03/2006 15:53
Avatar van Lemon PHP expert Je mist gewoon the point van een sql tabel.

Stel je telt het aantal bezoekers van een website voor de top 5 op te bouwen. Dan zou je de top 5 selecteren door
  1. SELECT * FROM websites ORDER BY bezoekers DESC LIMIT0,5;

Offline marten - 15/03/2006 15:53
Avatar van marten Beheerder 1. Selecteer laatste id
2. Verwijder eerste url
3. Geef nieuwe insert id 1

Maar waarom maak je id dan auto increment ;)
Als het geen auto increment is?
Offline ikkedikke - 15/03/2006 15:58
Avatar van ikkedikke PHP expert inderdaad.
mijn voorstel:
verwijder die auto_increment, en evt. unique en gebruik onderstaande queries:

UPDATE `top5` SET `id` = `id`+1;
(INSERT met id = 1)
DELETE FROM `top5` WHERE `id` = 6;
Offline Gamezhoek - 15/03/2006 15:59 (laatste wijziging 15/03/2006 16:38)
Avatar van Gamezhoek HTML interesse Nou, het probleem is nu juist dat als ik het met INSERT INTO doe, dat het dan achteraan komt. Maar ik heb al een manier gevonden.
Gewoon alles opschuiven.

EDIT: Dat idee van IkkeDikke ga ik even uitproberen, bedankt.

Nog een EDIT:
Ik ben nu dat van Ikkedikke aan het proberen, maar ik heb voor de lol even dit geprobeert, maar waarom werkt dit niet?
  1. <?php
  2. include 'config.php';
  3.  
  4. $q1 = "SELECT website FROM top5 WHERE id=1";
  5. $q2 = "SELECT website FROM top5 WHERE id=2";
  6. $q3 = "SELECT website FROM top5 WHERE id=3";
  7. $q4 = "SELECT website FROM top5 WHERE id=4";
  8.  
  9.  
  10. mysql_query("UPDATE top5 SET website=$q4 WHERE id=5");
  11.  
  12. ?>

Wat in de tabel top5 staat, en dan in de rij 'website' bij 'id' 4, moet naar 'website' van 'id' = 5, maar het werkt dus niet.
Hoe komt dit? Ik heb ook hier in de Tutorials gekeken, maar volgens mij hoort dit te werken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.206s