PHP ENUM PROBLEM

C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
phreakbox
Postovi: 288
Pridružen/a: 23 ruj 2009, 02:00
Spol: M
OS: Ubuntu, Debian

PHP ENUM PROBLEM

Post Postao/la phreakbox »

U bazi imam ovako:
nesto enum ("bla", "bla", "bla")
nesto varchar ....
nesto2 enum ("novi", "novo")
A kod je ovakav koji ne radi baš kako spada (duplicira donji enum i spoji ga sa gornjim...

Kod: Označi sve

if (strlen($_POST['typeval'][$i]) != 0)
                    {
                        if ($_POST['typeprop'][$i] == "sel")
                        {
                            var_dump($_POST['typeval'][2]);
                            $enumtxt = preg_split("/\r?\n/", rtrim($_POST['typeval'][$i])); # odvajamo nove retke uz uvijek da nije prazan novi red
                            $enum .= '"'; #prvi navodnik
                            $enum .= join('", "', $enumtxt); # spojimo array-je sa zarezima i navodnicima u sredini
                            $enum .= '"'; #zadnji navodnik
                            $enumx[] = $enum;
                            $querystructure .= "`".$_POST['nameofprop'][$i]."` enum($enumx[$i]) collate utf8_bin NOT NULL,";
                            
                        }   
                    }
Problem je kako da ja enum explodam u pretvorim u ... -> INSERT INTO name enum ('bla', 'ne', 'da');
http://www.motigo.com > sve za skole, ucenike, nastavnike i roditelje, besplatna prijava | Marin Šagovac
Avatar
dalibor.klobucaric
Postovi: 1278
Pridružen/a: 17 ožu 2008, 09:35
Spol: M
OS: ubuntu 16
Lokacija: Čakovec
Kontakt:

Re: PHP ENUM PROBLEM

Post Postao/la dalibor.klobucaric »

to sam vidio već negdje...
idem popušim cigaretu pa ću probati riješit...
Because Open Source Matters
--
Sites - Under construction
phreakbox
Postovi: 288
Pridružen/a: 23 ruj 2009, 02:00
Spol: M
OS: Ubuntu, Debian

Re: PHP ENUM PROBLEM

Post Postao/la phreakbox »

Pazi tekstovi su prije upisani u TEXTAREA, a odvojeni su new line-om:

evo var_dump

string(14) "Tower
Desktop"
string(45) "nVIDIA
ATI
SIS
Matrox
Integrirana
Ostalo"

a treba biti:
array[1] Tower, Desktop
array[2] nVIDIA,ATI,SIS,Matrox,Integrirana,Ostalo
http://www.motigo.com > sve za skole, ucenike, nastavnike i roditelje, besplatna prijava | Marin Šagovac
Avatar
dalibor.klobucaric
Postovi: 1278
Pridružen/a: 17 ožu 2008, 09:35
Spol: M
OS: ubuntu 16
Lokacija: Čakovec
Kontakt:

Re: PHP ENUM PROBLEM

Post Postao/la dalibor.klobucaric »

Ok koliko sam shvatio treba ti emc (error management control) za $enumtxt
jer ti nešt dolazi u variablu enumtext a neznam točno kaj?

ovo vjerojatno znaš
http://it.toolbox.com/blogs/macsploitat ... tion-25228

p.s. obrati pažnju na php verziju.

al umm...
ovo me muči

Kod: Označi sve

$enum .= join('", "', $enumtxt);
Because Open Source Matters
--
Sites - Under construction
phreakbox
Postovi: 288
Pridružen/a: 23 ruj 2009, 02:00
Spol: M
OS: Ubuntu, Debian

Re: PHP ENUM PROBLEM

Post Postao/la phreakbox »

ovo sa join ti je isto kao implode znači da sam htio za svaki array staviti između zareze kako bih stavio u enum varijablu za SQL " enum ("var1", "var2", "var3");
http://www.motigo.com > sve za skole, ucenike, nastavnike i roditelje, besplatna prijava | Marin Šagovac
Avatar
dalibor.klobucaric
Postovi: 1278
Pridružen/a: 17 ožu 2008, 09:35
Spol: M
OS: ubuntu 16
Lokacija: Čakovec
Kontakt:

Re: PHP ENUM PROBLEM

Post Postao/la dalibor.klobucaric »

Pa znam, to je u biti alias, nebitno, pitam dal si probal maknuti jednostruke navodnike?
koliko vidim kod mi izgleda savršeno

Kod: Označi sve

<?php
$text = "A\nB\rC\r\nD\r\rE\n\nF";
$texts = preg_split("/((\r(?!\n))|((?<!\r)\n)|(\r\n))/", $text);
?> 
s php.net-a
Because Open Source Matters
--
Sites - Under construction
phreakbox
Postovi: 288
Pridružen/a: 23 ruj 2009, 02:00
Spol: M
OS: Ubuntu, Debian

Re: PHP ENUM PROBLEM

Post Postao/la phreakbox »

O uspio sam jeaa, radi !!! Svaka ti čast! Imaš pivu od mene! Jeaaa nakon neznam kojeg 100x pokušaja šta s ovim radim evo ovak ide kod i radi! isprobao...

Kod: Označi sve

                        $enumarray = $_POST['typeval'][$i];
                        
                            $texts = preg_split("/((\r(?!\n))|((?<!\r)\n)|(\r\n))/", $enumarray);
                            $join = join(", ", $texts);
                            echo $join;
i lijepo ispiše...

Kod: Označi sve

`Kučište` enum( Tower, Desktop ) COLLATE utf8_bin NOT NULL ,
`Grafička kartica` enum( nVIDIA, ATI, SIS, Matrox, Integrirana, Ostalo ) COLLATE utf8_bin NOT NULL ,
Jeaaaa fala ti !!!!!! :mrgreen: :mrgreen: :D :D :D kava
http://www.motigo.com > sve za skole, ucenike, nastavnike i roditelje, besplatna prijava | Marin Šagovac
Avatar
dalibor.klobucaric
Postovi: 1278
Pridružen/a: 17 ožu 2008, 09:35
Spol: M
OS: ubuntu 16
Lokacija: Čakovec
Kontakt:

Re: PHP ENUM PROBLEM

Post Postao/la dalibor.klobucaric »

Velim, kod mi izgleda savršeno, al nije mi bilo bistro zakaj nije radilo...
Eto, ako ti veliš da sam ti pomogel, stari, j**i ga, na pijem pivu, pušim i pijem pol literne gemište...

ne nisam zagorec već međimurec...
:)

drago mi je kaj ti je u 1 ujutro razbistrilo nakon 100-og pokušaja...

hehehe sorry admin i meni je rano pa pišem gluposti..
Because Open Source Matters
--
Sites - Under construction
phreakbox
Postovi: 288
Pridružen/a: 23 ruj 2009, 02:00
Spol: M
OS: Ubuntu, Debian

Re: PHP ENUM PROBLEM

Post Postao/la phreakbox »

Skužio sam zašto nije radilo issuse kak je to blesavo ovak...

PRIMJER 1:

Kod: Označi sve

                        $texts = preg_split("/((\r(?!\n))|((?<!\r)\n)|(\r\n))/", $enumarray);
                        $join = "`".join("`,`", $texts)."`";
                        $querystructure .= "`".$_POST['nameofprop'][$i]." enum($join) collate utf8_bin NOT NULL,";
ispisat će normalno:
1,2,3,4
5,6

ali

PRIMJER 2:

Kod: Označi sve

                        $texts = preg_split("/((\r(?!\n))|((?<!\r)\n)|(\r\n))/", $enumarray);
                        $join .= "`"; <- prvi navodnik za sql
                         $join .= "`".join("`,`", $texts)."`";
                         $join .= "`"; <- zadnji navodnik za sql
                        $querystructure .= "`".$_POST['nameofprop'][$i]." enum($join) collate utf8_bin NOT NULL,";
onda dobiješ:
1,2,3,4
1,2,3,4,5,6
a to naravno nije dobro baš zbog tih "navodnika" i točkama za spajanje pa join "dodaje" na to još

znači pisati join sve u jednom retku a ne ih odvajati točkicama kod ".="

e u tom je kvaka i zamka :mrgreen:
http://www.motigo.com > sve za skole, ucenike, nastavnike i roditelje, besplatna prijava | Marin Šagovac
Avatar
dalibor.klobucaric
Postovi: 1278
Pridružen/a: 17 ožu 2008, 09:35
Spol: M
OS: ubuntu 16
Lokacija: Čakovec
Kontakt:

Re: PHP ENUM PROBLEM

Post Postao/la dalibor.klobucaric »

jesi riješio nakraju?
jesi!
Jesi obečao gemišt?
jesi!
Kaj sad ti tu meni neke zareze..

rofl
Because Open Source Matters
--
Sites - Under construction
Odgovori