login  Naam:   Wachtwoord: 
Registreer je!
 Forum

DELETE FROM

Offline MechaVore - 24/08/2005 17:28
Avatar van MechaVoreGouden medaille

PHP gevorderde
IK heb nu een tabel, met een hoop spelers erin. en nu wil ik dat ik er een rij uit verwijder. maar het maakt niet uit welke. maar het moet er maar een zijn. en ik heb geen ID's. in select kan het met limit maar hier werkt dat niet. heeft iemand een idee ?

Het is een soort van marktje en er mogen maar 20 producten worden aangeboden. komt er een te veel dan moet er een willekeurige of de eerste id ofzo gewoon gedelete worden.
kan dit ook met een mysql functie zoals limit. of moet ik eerst zelf een ID selecteren ?

  1. <?
  2. if ($num > $config['markt']['charlie'])
  3. {
  4. $loop = $num - $config['markt']['charlie'];
  5. for ($i=1; $i <= $loop; $i++)
  6. {
  7. mysql_query("DELETE FROM `DD_players` WHERE userid='0' && type='3' LIMIT 0,1")or die(mysql_error());
  8. }
  9. }
  10. ?>

7 antwoorden

Gesponsorde links
Offline BigBug - 24/08/2005 17:40 (laatste wijziging 24/08/2005 17:52)
Avatar van BigBug PHP expert Als het in de toekomst door moet gaan met een lid verwijderen.. --> Maak een nieuwe row erbij.. En ga er handmatig nummertjes voorzetten.. niet leuk.. maarja..

Anders kan je altijd nog alle namen uitlezen.. in een random generator.. en die returned een naam.. en dan DELETE WHERE naam='".$random."' Suc6 ermee!

Edit: Oeps.. Onderste stukje niet gezien 
Offline Ibrahim - 24/08/2005 17:45 (laatste wijziging 24/08/2005 18:48)
Avatar van Ibrahim PHP expert ten eerste && is voor php AND is voor mysql

ten tweede:

  1. <?php
  2. $query="SELECT * FROM DD_players";
  3.  
  4. $result=mysql_query($query) or die(mysql_error());
  5.  
  6. if(mysql_num_rows($result) > 20)
  7. {
  8.  
  9. $delete="DELETE FROM `DD_players` WHERE id");
  10. mysql_query($delete) or die(mysql_error());
  11.  
  12. }
  13. ?>
Offline MechaVore - 24/08/2005 18:31 (laatste wijziging 24/08/2005 18:45)
Avatar van MechaVore Gouden medaille

PHP gevorderde
Euhm, mijn vraag was eigenlijk of er ook iets van een mysql functie voor was. Die van silicom werkt niet omdat je bij een DELETE FROM geen limit kan gebruiken ..

Edit
Hoe je het nu veranderd hebt kan ik het al helemaal niet gebruiken 
Offline webstab - 24/08/2005 18:59 (laatste wijziging 24/08/2005 18:59)
Avatar van webstab PHP ver gevorderde Je pakt eerst een randomcijfer met php (sla dat op onder $idrand)
  1. <?php
  2. $delete="DELETE FROM `DD_players` WHERE id='".$idrand."'");
  3. mysql_query($delete) or die(mysql_error()); ?>
Offline Ibrahim - 24/08/2005 19:06 (laatste wijziging 24/08/2005 19:11)
Avatar van Ibrahim PHP expert
  1. <?php
  2. //met hulp van een script hier op deze site
  3. function random($a)
  4. {
  5. $cijfers = '0123'; //beperkt houden anders neemt ie cijfers zoals 87 enz.
  6. $shuffle = str_shuffle($tekens);
  7. $pass = substr($shuffle,0,$a);
  8. return $pass;
  9. }
  10. $idrand = random(2); //hoeveel cijfers je hier wilt. Als je wilt dat ie alleen ids kiest van 1 t/m 9 moet je maar 1 tikken anders 2
  11. $query="SELECT * FROM DD_players";
  12.  
  13. $result=mysql_query($query) or die(mysql_error());
  14.  
  15. if(mysql_num_rows($result) > 20)
  16. {
  17.  
  18. $delete="DELETE FROM `DD_players` WHERE id='".$idrand."'");
  19. mysql_query($delete) or die(mysql_error());
  20.  
  21. }
  22. ?>
Offline MechaVore - 24/08/2005 19:09 (laatste wijziging 24/08/2005 19:35)
Avatar van MechaVore Gouden medaille

PHP gevorderde
hmm webstab, wat nu als dat id al verwijderd is ?
en siliecom, ik weet niet wat jij aan het doen bent maar een random getal kan je ook gewoon rand(0,4000) doen .

Ik wil alleen maar weten of er een mogelijkheid is zoals limit, maar dan net iets anders omdat het bij de DELETE ipv SELECT moet. Als dat niet kan ga ik toch maar een id selecteren en hem dan verwijderen. maar ik wou dat gewoon even weten omdat ik dan een hoop regels minder hoef te schrijven

Edit
Ik heb liever hulp waarmee ik wat kan of geen hulp inplaats van dat ik hulp krijg waarmee ik eigenlijk niks opschiet. Maar het kan ook wel aan mij liggen hoor ben beetje laat naar bed gegaan gister 

Edit
Ik vraag niet om een script ! ik vraag of er een functie voor bestaat meer niet .. lezen is toch zo moeilijk he. Maar ik heb het nu opgelost, maar als iemand de eventuele functie toch weet, zou ik het graag willen weten 

Mvg,
Een Puntenliefhebber
Offline Ibrahim - 24/08/2005 19:12 (laatste wijziging 24/08/2005 19:28)
Avatar van Ibrahim PHP expert Lightblade ik ben je ondankbaarheid even zat hoor. Ik probeer je te helpen en je begint de hele tijd raar te doen. :\

edit:
is er iets aan de hand met mijn script. Fix it. Als ie niet werkt fix het dan. is veel beter dan denken dat het script gewoon costum made voor je word gemaakt. Het is je helpen in de goede richting en niet scripten voor je.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.203s