[ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
NapísalOffline : 06.07.2010 2:25 | multiinsert

Zdravicko. Robim vseobecny skript na zapis do databazi, ktory kej je volany z formulara, zapise vsetko co bolo postnute ci upnute.

Mne ide o to opakovat tento insert v pripade ze v poste boli zadane aj input polia nie len retazce. Mam na mysli taketo nieco:

Kód:


foreach ($_POST['inputovskepole'] as $val) {

    $sql = "INSERT INTO $this->tabulka(";
        foreach ($this->post as $key => $value) {
    $k[] =  "$key ";// Tu som urcoval mena jednotlivych nazvov stlpcov aktualne plnenej tabulky       
                                            }
                $k[] = $upid;    //Tu som k nim este pridal dalsie v pripade ze som nieco uploadoval                     
    $sql .= $query_string = join(", ", $k); //Tu som to vsetko dal do spravneho tvaru
   
   $sql .= ") VALUES(";
        foreach ($this->post as $key => $value) { //Tu som vpisal jednotlive hodnoty
    $v[] =  "'$value' ";       
                                            }
                                           
                $v[] = "'".$_FILES[$upid]['name']."'";  //A opet vpisal hodnotu v pripade uploadu                         
    $sql .= $query_string = join(", ", $v);
   $sql .= ")";
    }


Ide mi o to spravit to korektne v ramci logiky- Moze byt viacnasobny post(ked uploadujem naraz 5 fotiek aj s ich popisom napr..)

Ako zistit ze medzi $_POST prvkamije pole.
Ak je jedno, iste nebude samo(spominane fotos- kazda upnuta fotka ma aj svoj popisok) a tym padom nestavi foreach s jednou hodnotou ako to mam v kode. Treba mi tie hodnoty vpisavat do insertu naraz z viacerych polí.

A pritom vsetky dalsie prvky ktore poliami nie su vpisavat do tabulky taktiez spolu s meniacimi sa hodnotami polí.

Dufam ze som bol zrozumitelny. Prosim, kto ma chce pochopit a nedari sa mu, pytat sa.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 06.07.2010 16:31 | multiinsert

Vratme sa k podstate(k poliam)

Mám napr. 3 polia.
Kazde obsahuje kluc (meno stlpca tabulky) a hodnotu.
Potrebujem ich “vypisat“.
T.j.- While,ci forech.
V jednom zbehnuti potrebujem mat hodnoty vsetkych troch poli.
Ako na to?


Offline

Užívateľ
Užívateľ
multiinsert

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 07.07.2010 10:09 | multiinsert

Robí sa to tak, že si skontroluješ akú hodnotu vracia každý jeden riadok v kóde až kým sa nedostaneš k tomu riadku, ktorý vracia chybu....


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 07.07.2010 11:11 | multiinsert

Ja som sa nepital ako si kontrolovat chyby ale ako si vytvorit kod.

Pre jasnost, islo mi o toto :

while(list($key,$file_name)=each($field_names) AND list($key,$hod)=each($hodnota))

Tym padom mam k dyspozicii pararelne sa vypisujuce hodnoty z dvoch (alebo kolko chcem) rovnako velkych polí.

Ja viem, AND ma mohol napadnut na samotnom zaciatku, ale ako to tak byva, trklo mi az po hodinach a hodinach tapania. :)

Nic, dakujem aspon tebe za snahu.


 [ Príspevkov: 4 ] 


multiinsert




© 2005 - 2017 PCforum, edited by JanoF