IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @261
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Softvér pre účtovníctvo a mzdy

Vyskúšajte zadarmo programy KROS. Ideálne pre stredné a malé firmy. www.kros.sk

Dali sme si poradiť

Naše peniaze sa zhodnocujú. A vám? www.partnersgroup.sk

Zbavte sa viazanosti

Za Samsung Galaxy Ace so zlatým O2 Paušálom zaplatíte teraz 12 €! pausal.o2.sk

Úsporná stavba domu

PORFIX - postavte si dom úspornejšie! Ušetríte na energiách! www.Porfix.sk

Často Vám opúchajú nohy?

Skúste DetoxiPan patentovaný japonský výrobok - testovaný a certifikovaný. www.detoxipan.sk

mazanie riadkov

Zaslať odpoveď
AutorSpráva
jsakac
Užívateľ
Užívateľ

Založený: 18.08.2007
Príspevky: 421
Bydlisko: Humenné

PríspevokZaslal: Po 12.11.07 18:47Odpovedať s citátomNávrat hore

Cawte dufam, ze mi s tym pomozete. Potrebujem taku skript, ktory vymaze vsetky prispevky okrem poslednych pridanych 30.

Dik
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkype
emer
Užívateľ
Užívateľ

Založený: 26.12.2006
Príspevky: 3683
Bydlisko: Nitra
Vek: 18

PríspevokZaslal: Po 12.11.07 18:51Odpovedať s citátomNávrat hore

a to chces iba raz premazat alebo ches aby vzdy ostalo iba 30 prispevkov?

_________________
Pocity popi*i, keď víš že všetko hrá jak má, vychádza to všetko pekne, tak jak má, hovorim si ná ne, musíš vedeť plánovať
Zobraziť informácie o autoroviOdoslať súkromnú správuICQZobraziť autorove WWW stránky
mondzo
Užívateľ
Užívateľ

Založený: 09.02.2007
Príspevky: 248

PríspevokZaslal: Po 12.11.07 20:40Odpovedať s citátomNávrat hore

presne tak, chcelo by to viac info, co za aplikaciu to vytvaras, potom strukturu tabulky... potom myslim budeme schopni ti poradit...

dalo by sa rozmyslat nad delete query s limitom... (urcite by sa dalo pouzit subquery ak to tvoja verzia mysql servra podporuje... ale chcelo by to viac info)
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
jsakac
Užívateľ
Užívateľ

Založený: 18.08.2007
Príspevky: 421
Bydlisko: Humenné

PríspevokZaslal: Ut 13.11.07 14:01Odpovedať s citátomNávrat hore

tak robim ten chat uz tu spominany, potrebujem aby admin premazaval miestnost pripadne miestnosti - tak aby stale zostalo poslednych 30 pridanych riadkov

alebo najlepsie by bolo aby napr. po 100 riadkoch pridanych sa automaticky odstranily z db
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQSkype
mondzo
Užívateľ
Užívateľ

Založený: 09.02.2007
Príspevky: 248

PríspevokZaslal: Ut 13.11.07 14:28Odpovedať s citátomNávrat hore

ok, rychlo ma napada...

ok, tak jednoducho predtym ako vlozis novy riadok, skontroluj s mysql_num_rows kolko riadkov ti vrati tabulka, ak toto cislo bude vacsie ako 100 vymaz vsetky riadky z tabulky a pridaj novy...

kód:

$sqlCheck = "SELECT * FROM $nazov_tabulky;";
$resultCheck = mysql_query($sqlCheck) OR die(mysql_error());
$numRowsCheck = mysql_num_rows($resultCheck);
if ($numRowsCheck >= 100)
  {
  // premaz tabulku
  $sqlPremaz = "TRUNCATE TABLE $nazov_tabulky;";
  $resultPremaz = mysql_query($sqlPremaz ) OR die(mysql_error());
  if ($resultPremaz) print "Premazal som 100 starych zaznamov.";
  }

// vloz zaznam
$sqlInsert = "INSERT INTO $nazov_tabulky('stlpec1','stlpec2', atd) VALUES('".$value1."','".$value2."', atd);";
$resultInsert = mysql_query($sqlInsert ) OR die(mysql_error());
if ($resultInsert) print "Zaznam vlozeny";
else print "Chyba. Zaznam neulozeny.";


No a podmienku OR die(mysql_error()) urcite pri LIVE verzii by chcelo prepisat na nejaku funckiu, pretoze urcite nechces pouzivatelom vypisovat chybu na obrazovku, ak sa naskytne.

Avsak mozno niekoho ineho napadne rychlejsi a efektivnejsi postup
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
Tominator
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 21.02.2007
Príspevky: 4009

PríspevokZaslal: Ut 13.11.07 16:08Odpovedať s citátomNávrat hore

tak dalo by sa že by si si cez MAX vybral naväčšie ID z databázy a potom odrátal 30 aložil ako napr. $XYZ a odstránil všetky ktoré majú ID mänšie ako $XYZ
Zobraziť informácie o autoroviOdoslať súkromnú správu
vl4kn0
Užívateľ
Užívateľ

Založený: 22.11.2007
Príspevky: 254
Bydlisko: 127.0.0.1

PríspevokZaslal: Št 22.11.07 11:23Odpovedať s citátomNávrat hore

asi by som to riesil takto nejak.
kód:
<?php

class db_delete
{
   var $table_prefix;
   var $root_path = './';
   
   function $db_connect()
   {
      include_once ($this->root_path . 'config.php');
     mysql_connect($dbserver, $dbuser, $dbpassword) or die('Mysql error: Connecting db');
      mysql_select_db($dbname) or die('Mysql error: Selecting DB');
     $this->table_prefix = $table_prefix;
   }
   
   function db_num($db)
   {
      $this->db_connect();
      $sql = 'SELECT * FROM '.$db;
      $result = mysql_num_rows($sql);
      $num = mysql_num_rows($result);
      return $num;    
   }
   
   function delete($db)
   {
      $this->db_connect();
      $sql = 'DELETE FROM '.$db.' WHERE id < ('.$this->num($db).' - 30)';
     $result = mysql_query($sql);
   }
}

?>


potob by ti stacilo volat v napr. indexe funkciu delete($db)...
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd