Avaleht
uus teema   vasta Tarkvara »  WWW »  MySQL peksab segast märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
SGM
HV kasutaja
SGM

liitunud: 04.12.2005



Autoriseeritud ID-kaardiga

sõnum 17.11.2009 12:36:27 MySQL peksab segast vasta tsitaadiga

Kuidas on võimalik, et päringu sees "+1" liites liidab tegelikkuses +3 või vahepeal lausa +4?! icon_eek.gif
$sql = mysql_query("SELECT * FROM banners WHERE type = '$type' AND publish = '1' ORDER BY id DESC");
   while($arr = mysql_fetch_array($sql))
   {
   
      $id       = $arr["id"];
      $name    = $arr["name"];
      $url       = $arr["url"];
      //blabla jne. kõik andmed...
   
      //siin toimub echo abil bänneri kuvamine >>
      
      //SEE peaks siis ÜHE!!! liitma juurde, aga liidab 3 ja vahel 4!
      mysql_query("UPDATE banners SET views = views + 1 WHERE id = '$id'");
   
   }//while

Tegelikult proovisin veel kitsendada liitmispäringut, lisasin WHERE'i taha veel samad kriteeriumid, mis ülal, siis veel "limit 1", aga ka need ei loe -- täpselt samamoodi peksab segast edasi...
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karu
HV kasutaja

liitunud: 08.08.2002




sõnum 17.11.2009 12:44:19 Re: MySQL peksab segast vasta tsitaadiga

SGM kirjutas:
Tegelikult proovisin veel kitsendada liitmispäringut, lisasin WHERE'i taha veel samad kriteeriumid, mis ülal, siis veel "limit 1", aga ka need ei loe -- täpselt samamoodi peksab segast edasi...

parem vaata mis andmebaasis on and mitu korda while jookseb
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
SGM
HV kasutaja
SGM

liitunud: 04.12.2005



Autoriseeritud ID-kaardiga

sõnum 17.11.2009 13:06:33 Re: MySQL peksab segast vasta tsitaadiga

karu kirjutas:
parem vaata mis andmebaasis on and mitu korda while jookseb

ÜHE korra. Panin sinna vahele echo 'xxxxx'; ja seda kuvas ka vaid ühe korra. Andmebaasis on iga bänner vaid 1 korra, seal rohkem ei saagi, sest id on kõigil erinev.
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
taavi
HV veteran

liitunud: 04.02.2002



Autoriseeritud ID-kaardiga

sõnum 17.11.2009 13:13:21 vasta tsitaadiga

pane oma mysqli server päringuid logima, siis näed, mis täpselt baasi jõuab. echo xxx stiilis asjad sind kaugele ei vii.
Kommentaarid: 62 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 19.11.2009 15:56:42 vasta tsitaadiga

Äkki raatsid jagada tabeli struktuuri (show create table banners), et mis keyd seal peal on. Ja võibolla ka paar näidisrida baasist, eriti see millele see +3 või +4 tekib.
Kas keegi teine äkki vaatab samamoodi seda bannerit ja sellest tekib +3 ja vahel +4 ?

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
SGM
HV kasutaja
SGM

liitunud: 04.12.2005



Autoriseeritud ID-kaardiga

sõnum 19.11.2009 16:30:45 vasta tsitaadiga

See on juba suht vana db ja script (loodud 2 aastat tagasi), aga kuna ei hakanud uut välja mõtlema, siis mõtlesin seda kasutada uuel lehel - aga oh imet, liidab KÕIGILE bänneritele pidevalt +3 juurde. Vahel oli +2 ja vahel +4, aga põhiline on 3. Väga kummaline.
--
-- Table structure for table `banners`
--

CREATE TABLE `banners` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(25) NOT NULL,
  `img` varchar(100) NOT NULL,
  `url` varchar(100) NOT NULL,
  `type` tinyint(1) NOT NULL default '1' COMMENT 'type 1 = 468x60',
  `flash` tinyint(1) NOT NULL default '0' COMMENT '1=swf',
  `added` int(10) NOT NULL,
  `show_until` int(10) NOT NULL,
  `publish` tinyint(1) NOT NULL default '0',
  `clicks` int(8) NOT NULL default '0',
  `views` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `publish` (`publish`),
  KEY `type` (`type`),
  KEY `show_until` (`show_until`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

--
-- Dumping data for table `banners`
--

INSERT INTO `banners` (`id`, `name`, `img`, `link`, `type`, `flash`, `added`, `show_until`, `publish`, `clicks`, `views`) VALUES
(1, 'Test 1', 'http://cbanners.virtuagirlhd.com/customdata/banner/270.gif', 'www.neti.ee', 1, 0, 1218897943, 1219243543, 0, 3, 1925),
(2, 'Test 2', 'http://www.larian.com/Site/files/BD_vertical_banner_a1.jpg', '#', 4, 0, 1258451089, 1261129489, 1, 0, 68);


Seda pole testinud, kas kellegi teise poolt refreshimine ka liidab neile otsa.
Vahet ei olnud, kas baasis on andmeid 2 või 12 rida, ikka liidab ühtemoodi!
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 1 :: 1 :: 0
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 19.11.2009 19:48:44 vasta tsitaadiga

Proovi teha ära
repair table banners
võibolla mingi indeksi jama tekkinud ja paneb segast.
TEstimiseks võid välja echoda sedasama update päringut, et näha mis reaalselt baasi saadetakse, ja siis seda ise phpmyadminis katsetada. Võibolla kood muudab $id muutuja väärtust ja siis läheb päring metsa vms.
Miskit muud ei oska hetkel arvata.

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  MySQL peksab segast
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.