INSER INTO ..from array ..

INSER INTO ..from array ..

offline
  • Pridružio: 21 Okt 2005
  • Poruke: 65
  • Gde živiš: localhost

Evo ga opet neki problem :

Ovako imam jedan niz $rec[] tipa
$rec[1] = "nesto" , $rec[2] = "drugo" ..

e javio mi se problem kada pokusavam da unosim u MySql bazu podataka .
Naime , uspem da unesem ali samo prvi clan niza a ostalo nece . Pokuso sam da koristim for petlju .

u bazi imam ID[int Primary] , rec1[char] , rec2[char]

Na sta treba da obratim paznju ?

Hvala unapred

Dopuna: 06 Mar 2006 4:45

e resio sa ovo :-)

nego usput da pitam jel se moze nekako namestiti da se u bazu mogu samo razliciti reci unostit : ?

da se ne ponavljaju !



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 20 Dec 2004
  • Poruke: 2887
  • Gde živiš: Na Balkanu

Prvo proveriš da li ta reč postoji u bazi, pa ako je nema onda je uneseš.
Znači napravi upit bazi za tu reč.



offline
  • Pridružio: 21 Okt 2005
  • Poruke: 65
  • Gde živiš: localhost

Ja sam pokuso nesto ovako

if(!mysql_query("SELECT * FROM reci WHERE ser_rec='$rec[$n]'") );

ali mi nesto nece .

imas li neki predlog drugi ?

offline
  • Pridružio: 14 Nov 2003
  • Poruke: 367

Mozda gresim ali moglo bi da se koristi unique za odredjeni stubac

offline
  • Pridružio: 21 Okt 2005
  • Poruke: 65
  • Gde živiš: localhost

Pokuso sam i to , ali mi mysql izbacuje gresku ?
Ocigledno ne moze , bar ja mislim

Dopuna: 06 Mar 2006 18:55

Resio sam ovo na sledeci nacin , i meni radi odlicno :

$dozvola = 0 ; //ako je vrednost 0 onds ne postoji rec u bazi  for($n=0; $n<$br_reci; $n++)  {                              //ispis reci !!!      $query = "SELECT ser_rec FROM reci" ;   // upit za selekciju kolone ser_reci      $result = mysql_query($query);          //izvrsavanje upita       while ($line=mysql_fetch_array($result, MYSQL_ASSOC))  //ucitavanje vrednosti iz kolone trazene u upitu iznad            {            foreach($line as $col_value)                   {                   if($rec[$n]== $col_value ) { $dozvola = 1;}                   }            }      if($dozvola==0)        {         mysql_query("INSERT INTO reci (ser_rec) VALUES('$rec[$n]')") ;        }      $dozvola = 0 ;   }

Mozda nekome ovo i bude od koristi

offline
  • Pridružio: 17 Mar 2004
  • Poruke: 293
  • Gde živiš: UK

Ovo je otprilike najsporiji nachin upita nad bazom. Shta mislish kako ce ti stenjati server ako ta baza ima 500.000 rekorda i ti ih napunish sve u memoriju, pa udarish po toj petlji za poredjenje stringova?

Onaj prvi nachin je pravi, samo ne treba da zaokruzhujesh array u single-quote (') jer ti onda PHP ne parsuje izraz nego ga prenosi bukvalno kako je napisan.

Ko je trenutno na forumu
 

Ukupno su 806 korisnika na forumu :: 35 registrovanih, 9 sakrivenih i 762 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., airsuba, amaterSRB, Apok, bigfoot, bojank, crnitrn, Dimitrise93, DonRumataEstorski, DPera, Excalibur13, GandorCC, HrcAk47, ikan, Još malo pa deda, Kaplar2, kolle.the.kid, kybonacci, Lazarus, Leonov, mercedesamg, milos.cbr, Misirac, pein, repac, Romibrat, ruma, Sirius, slonic_tonic, Smiljke, Sumadija34, VJ, VladaKG1980, voja64, VP6919